程序员真是个赚钱的行业?北漂3年的Java开发,那是真的惨

我要做一个什么样的程序员 2年前毕业误入程序员行业,是奔着传说的高薪水来的(绝大部分刚出校门毕业生的心态)。 自己不是一个甘于平庸的人,总觉得既然入这一行,就要在这行有一番作为,不能仅仅是为了赚钱,每天上班打卡似的工作,那不是我要的工作生活。 所以该做一个什么样的程序员,这个问题工作3年以来我一直在思考,探索。希望能给自己的技术生涯一个完美的规划。 阅读详情

前言

我先后拜访了一二十家互联网公司,与不同的面试官和面试者进行面对面探讨,深入了解了企业对于面试者的要求和常见的 Java 面试题型。之后我花了大半年的时间,结合自己 4 年多作为面试官的经历,把这些内容整理成文,对 Java 的核心知识点和常见的多道面试题,做了详细的介绍,也是小编的全部分享,希望对你能有所帮助。

一、RabbitMQ架构设计面试题

Broker:rabbitmq的服务节点

Queue:队列,是RabbitMQ的内部对象,用于存储消息。RabbitMQ中消息只能存储在队列中。生产者投递消息到队列,消费者从队列中获取消息并消费。多个消费者可以订阅同一个队列,这时队列中的消息会被平均分摊(轮询)给多个消费者进行消费,而不是每个消费者都收到所有的消息进行消费。

Exchange:交换器。生产者将消息发送到Exchange,由交换器将消息路由到一个或多个队列中。如果路由不到,或返回给生产者,或直接丢弃,或做其它处理。

RoutingKey:路由Key。生产者将消息发送给交换器的时候,一般会指定一个RoutingKey,用来指定这个消息的路由规则。这个路由Key需要与交换器类型和绑定键(BindingKey)联合使用才能最终生效。

Binding:通过绑定将交换器和队列关联起来,在绑定的时候一般会指定一个绑定键,这样RabbitMQ就可以指定如何正确的路由到队列了。

信道:信道是建立在Connection 之上的虚拟连接。当应用程序与Rabbit Broker建立TCP连接的时候,客户端紧接着可以创建一个AMQP 信道(Channel) ,每个信道都会被指派一个唯一的D。

1、RabbitMQ死信队列、延时队列

  • 消息被消费方否定确认,使用 channel.basicNack 或 channel.basicReject ,并且此时requeue 属性被设置为 false 。
  • 消息在队列的存活时间超过设置的TTL时间。
  • 消息队列的消息数量已经超过最大队列长度。

2、RabbitMQ如何确保消息发送 ? 消息接收?

发送方确认机制:

接收方确认机制:

3、简述kafka架构设计

4、Kafka在什么情况下会出现消息丢失及解决方案?

5、RabbitMQ镜像队列机制

6、Kafka是pull?push?优劣势分析

7、RabbitMQ事务消息

8、Kafka的性能好在什么地方

9、简述kafka的rebalance机制

10、Kafka中zk的作用

11、kafka怎么处理消息顺序、重复发送、重复消费、消息丢失

二、Redis面试题

RDB(Redis Data Base) 和 AOF(Append Only File) 机制

RDB:在指定的时间间隔内将内存中的数据集快照写入磁盘,实际操作过程是fork一个子进程,先将数据集写入临时文件,写入成功后,再替换之前的文件,用二进制压缩存储。

AOF:以日志的形式记录服务器所处理的每一个写、删除操作,查询操作不会记录,以文本的方式记录,可以打开文件看到详细的操作记录。

1、redis 主从复制的核心原理

2、简述Redis事务实现

3、Redis线程模型、单线程快的原因

4、缓存雪崩、缓存穿透、缓存击穿

5、Redis的过期键的删除策略

6、redis集群方案

三、分布式/微服务面试题

1、分布式架构下,Session 共享有什么方案

2、分布式锁解决方案

3、如何实现接口的幂等性

4、分布式id生成方案

5、CAP理论,BASE理论

6、简述你对RPC、RMI的理解

7、负载均衡算法、类型

8、简述ZAB 协议

9、zk的数据模型和节点类型

10、Dubbo 的整体架构设计及分层

11、zk和eureka的区别

12、简述zk的命名服务、配置管理、集群管理

13、讲下Zookeeper watch机制

14、分布式事务解决方案

15、springcloud核心组件及其作用

16、Spring Cloud和Dubbo的区别

17、什么是Hystrix?简述实现机制

四、Mybatis面试题

1、MyBatis 与Hibernate 有哪些不同?

  • 开发速度的对比:
  • 开发工作量的对比:
  • sql优化方面:
  • 对象管理的对比:
  • 缓存机制对比:

2、简述 Mybatis 的插件运行原理,如何编写一个插件。

3、#{}和${}的区别是什么?

4、mybatis的优缺点

五、MySQL数据库面试题

1、mysql聚簇和非聚簇索引的区别

2、索引的基本原理

3、mysql索引的数据结构,各自优劣

4、什么是最左前缀原则?什么是最左匹配原则

5、索引设计的原则?

6、关心过业务系统里面的sql耗时吗?统计过慢查询吗?对慢查询都怎么优化过?

7、InnoDB存储引擎的锁的算法

8、ACID靠什么保证的?

9、事务的基本特性和隔离级别

10、什么是MVCC

11、mysql主从同步原理

12、分表后非sharding_key的查询怎么处理,分表后的排序?

13、简述mysql中索引类型及对数据库的性能的影响

14、mysql执行计划怎么看

15、简述MyISAM和InnoDB的区别

六、Spring面试题

1、什么是bean的自动装配,有哪些方式?

2、如何实现一个IOC容器

3、spring事务什么时候会失效?

4、spring是什么?

5、spring事务传播机制

6、谈谈你对IOC的理解

7、谈谈你对AOP的理解

8、Spring事务的实现方式和原理以及隔离级别?

9、Spring框架中的单例Bean是线程安全的么?

10、Spring 框架中都用到了哪些设计模式?

11、解释下Spring支持的几种bean的作用域。

12、描述一下Spring Bean的生命周期?

13、BeanFactory和ApplicationContext有什么区别?

七、Spring MVC、Spring Boot面试题

1、SpringMVC 工作流程

2、Spring Boot、Spring MVC 和 Spring 有什么区别

3、Spring Boot 自动配置原理?

4、Spring MVC的主要组件?

5、什么是嵌入式服务器?为什么要使用嵌入式服务器?

6、如何理解 Spring Boot 中的 Starter

八、Java基础

1、GC如何判断对象可以被回收

2、Java类加载器

3、双亲委托模型

4、Java中的异常体系

5、ConcurrentHashMap原理,jdk7和jdk8版本的区别

6、什么是字节码?采用字节码的好处是什么?

7、==和equals比较

8、JDK JRE JVM

9、final

10、hashCode与equals

11、重载和重写的区别

12、String、StringBuffer、StringBuilder

13、接口和抽象类的区别

14、面向对象

15、HashMap和HashTable有什么区别?其底层实现是什么?

16、ArrayList和LinkedList区别

17、List和Set的区别

九、线程、并发相关面试题

1、sleep()、wait()、join()、yield()的区别

2、对线程安全的理解

3、线程的生命周期?线程有几种状态

4、对守护线程的理解

5、Thread、Runable的区别

6、ThreadLocal内存泄露原因,如何避免

7、并发的三大特性

8、并发、并行、串行的区别

9、ThreadLocal的原理和使用场景

10、为什么用线程池?解释下线程池参数?

11、volatile

12、线程池中阻塞队列的作用?为什么是先添加列队而不是先创建最大线程?

13、简述线程池处理流程

基于MATLAB的语音声强度和响度分析及处理 综上所述,本文介绍了如何使用MATLAB进行语音信号的声强度和响度分析,并提供了相应的源代码。通过这些工具和方法,可以更好地理解和处理语音信号的声强度和响度特性,为语音信号处理和音频应用提供支持。声强度(Intensity)和响度(Loudness)是语音信号中常用的两个重要参数,用于描述声音的强度和感知响度。响度均衡化:可以通过对语音信号施加不同的加权滤波器,调整信号的频谱分布,从而改变声音的响度。除了分析语音信号的声强度和响度,MATLAB还提供了丰富的工具和函数,用于处理语音信号的声强度和响度。 阅读详情

相关推荐

halcon C++编程 第4讲 HObject/HImage Mat相互转换(tcy)

网上有很多相互转换程序,但并不知那个正确,本文对相互转换后的结果和原对象比较是否相同判断转换是否正确。经测试ok.本文包括转换代码及测试是否相同。 1.转换程序: /************************************ HObject转为Mat:time:2021/3/16 V1.0 *************************************/ cv::Mat HalconClass::HObjectToMat(const HalconCpp::HObject&..

tcy-阿春 4936

高龄程序员——28岁土木专业半路出家进军java的我后来怎么样了?

自我介绍一下 我就是那个26岁985研究生毕业,学的土木工程相关的专业。工作半年,存款3000,半年后调到深圳总部(公司央企),工作一年差不多也就几万存款,感觉生活无望,就直接决定转行的28岁高龄程序员。之所以叫自己高龄程序员是因为一直听说35岁是 程序员的生命周期。 说实在的,转行就是奔着挣钱去的。最开始想到的是金融,入坑了后,发现原来还有金融农民工一说,二成人暴富,八成人炮灰,一瞬间万念俱灰。 后来,觉得自己好歹过了计算机二级,也会些matlab,也听说IT工资高,就直接放弃金融农民工,转行IT。

weixin_42097508的博客 2852

logisim实验——通过2个半加器实现1-bit全加器,通过4个一位全加器构成4-bit加法器(详解)

一、由异或门和与门所构成的半加器: 二、由两个半加器构成的1-bit全加器: ..

zep 1万+

985毕业,半路出家28岁进军Java,坚持了三年现如今年薪36W+,也不算辜负自己!

背景 26岁985研究生毕业,学的土木工程相关的专业。工作半年,存款3000,半年后调到深圳总部(公司央企),工作一年差不多也就几万存款,感觉生活无望,就直接决定转行。 说实在的,转行就是奔着挣钱去的。最开始想到的是金融,入坑了后,发现原来还有金融农民工一说,二成人暴富,八成人shishi……万念俱灰。 后来,觉得自己好歹过了计算机二级,也会些matlab,也听说IT工资高,就直接放弃金融农民工,转行IT。转行的时候有两点支撑着我:一是相信我读那么多书,学习能力绝对没问题,二是以我读书的经验,本科毕业也顶多

weixin_46898270的博客 1391

用宝塔面板+CentOS 7.6,30分钟搞定DNF手游私服搭建(附全套资源下载)

本文详细介绍了如何使用宝塔面板和CentOS 7.6在30分钟内快速搭建DNF手游私服。通过图形化界面操作,无需复杂命令,即可完成服务端部署、MySQL数据库配置及客户端适配,适合Linux新手快速上手。

weixin_33737774的博客 611

M2DGR数据集在主流SLAM框架中的实战配置指南:从ORB-SLAM到FAST-LIO的完整流程

本文提供了M2DGR多传感器数据集在主流SLAM框架中的实战配置指南。详细介绍了从ORB-SLAM、VINS-Mono等视觉/视觉惯性框架,到A-LOAM、FAST-LIO等激光/激光惯性框架的完整配置流程、参数调整要点及常见问题解决方案。通过实际测试对比,分析了各算法在M2DGR数据集上的表现,为机器人定位与建图研究提供了宝贵的实战经验。

k9l0m1的博客 481

JAVA开发赚钱

都说JAVA开发很赚钱, 我苦心专研了两年,其中参加了不少的培训。 刚培训完两个星期我就收到了美团网的offer , 我承认我不是班里学习最好的。 但我却是班里第一个找到工作的, 而且还是个大厂我一-直相信勤能补拙。 只要有决心什么事都是可以做到的,今天入职一个星期了。 公司的人对我都很好,还给我配了电动车和头盔还有大衣。 不说了又接了个外卖。 今天入坑了吗 ...

ou_shen_xian的博客 630

GAN网络详解析

介绍目前常见的GAN网络,以及GAN网络的基本组成

wm199的博客 6506

985毕业,半路出家28岁进军Java,坚持了三年现如今年薪36W

7、IT方向问题其实很简单,自己一边打基础,一边学习最新的前沿知识,最好结合自己原来专业的特长来选择方向。 [](()学习小技巧 ===================================================================== 1.怎么学习。学什么最好系统的学习,买书看视频是少不了的。然后就是看你个人的悟性与坚持。以我目前的经验,转行学C#或者java是比较好的选择,前者主要做客户端,后者主要做web端。系统性的学习很重要,就一门语言学完初级学中级然后高级,不要学完

didi558的博客 446

L298N电机驱动模块的接线使用与代码实现

#include "iostm8s208mb.h" #define u8 uint8_t #define u16 uint16_t #define u32 uint32_t typedef unsigned char uint8_t; typedef unsigned short uint16_t; typedef unsigned long uint32_t; // 关于LED灯的宏定义 #define LED2 PI_ODR_ODR2 //输出量 #define LE

Clichong 13万+

【小程序抓取】解决痛点:如何用 AI-RPA 工具抓取无法获取 URL 的微信小程序数据?

本文探讨了传统爬虫技术在微信小程序数据采集中的局限性,并提出了AI-RPA(人工智能驱动的机器人流程自动化)这一前沿解决方案。随着微信小程序安全防护体系的全面升级(包括证书锁定、加密传输和三级防御机制),传统"抓包-模拟请求"的方式已基本失效。文章对比了Reqable、Fiddler等主流抓包工具的优劣,通过某程旅行小程序案例展示了传统抓包的技术流程和动态参数处理的难点。最终指出,2026年最有效的解决方案是采用AI-RPA技术,通过视觉识别、鼠标键盘模拟、OCR和AI智能体编排的组合方案,直接从小程序UI

ZDQ58818的博客 124

程序员的发展之路一(转)

Java程序员如何能月薪达到三万,技术水平需要达到什么程度?人回答说这只能是大企业或者互联网企业工程师才能拿到。也许是的,小公司或者非互联网企业拿二万的不太可能是码农了,应该已经转管理。还有区域问题,这个不在我的考虑范围内,因为除了北上广深杭,其他地方也很难达到。还有人提到这个水平不止3w,其实工资是跟面试表现有关的,也跟其他综合水平有关,比如你是985,top10,或者研究生学历,也或者懂点no...

zhaojiweiwin的博客 1410

【大模型应用开发-FastAPI框架】(八)Sqlalchemy+postgresql简单增删改查

语言,为高效和高性能的数据库访问设计,实现了完整的企业级持久模型”。SQLAlchemy的理念是,的量级和性能重要于对象集合;而对象集合的抽象又重要于表和行。因此,SQLAlchemy采用了类似于。社区中成为广泛使用的ORM工具之一,不亚于Django的ORM框架。和declarative等可选插件可以让用户使用声明语法。SQLAlchemy首次发行于2006年2月,并迅速地在。SQLAlchemy“采用简单的。二、安装postgresql。一、SQLAlchemy简介。的数据映射模型,而不是其他。

2098

都说IT行业饱和了,2023年成为程序员还有发展前景吗?

hello world”,这是一名程序员初次进入计算机世界时,看到的第一句招呼语。自冯·诺依曼创造出了现代计算机,程序员踏上时代舞台不过70余年。而在中国,程序员的历史要更短一点。以国内第一位程序员求伯君来说,这个职业的生命刚过“而立之年”不久。马化腾、雷军等最早一批技术出身的创业者,开启了国内互联网创业的序幕,这也是程序员最初给大众的印象——极客、精英。而后,王小川、张一鸣,甚至28岁从字节提前退休、全球旅居的郭宇等后继者,更是将“成功” “财富”的标签粘牢在这个职业之上。

h1453586413的博客 2537

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

2021年5月程序员工资统计,平均14926元。996程序员被当成外国人

2021年5月全国招收程序员429056人。2021年5月全国程序员平均工资14926元,工资中位数13000元,其中96%的人的工资介于1750元到75000元。 城市 排名 city 平均工资 最低工资 中位数 最高工资 招聘人数 百分比 1 北京 18094.3 5250 16500 45000 34243 0.0879281 2 上海 17852.5 6000 17500 45000 73666 0.189157 3 深圳 17410.4 5822.11 16500 4500

juwikuang的专栏 3万+

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

自由程序员们是如何赚钱的

提前先了解一下,总归是有好处的

weixin_38343072的博客 2374

程序员开发什么小程序挣钱_作为程序员赚钱的5种独特方式

程序员开发什么小程序挣钱 作为程序员赚钱的5种独特方式 (5 Unique Ways to Make Money as a Programmer) #2设计和销售技术主题产品 (#2 Design and sell tech-themed products) Photo by thomas vanhaecht from Pexels Pexels的thomas vanhaecht 摄 1.赚钱...

weixin_26752759的博客 2838

程序员赚钱的头脑

赚钱是目的,但不是目标。这个世界就这样了,没钱活不了。 赚钱是一种物质满足,但很难在精神上给予我们更进一步的满足。 很多人说不看重钱那是吃不到葡萄说葡萄酸。其实吃不到葡萄我们可以换吃苹果。 以上文艺范表达结束。我讲1个案例。 好几年前,我曾今有一个同事,标准的前台程序员并且还是页面设计的好手,属于脚本、PS、css全面发展型,有时美工辞职了,他会被临时顶上去做美工。大约干了

技术笔记 3564

【面朝大厂】2021年7月程序员工资统计,最赚钱的果然是他

点击上方“Java基基”,选择“设为星标”做积极的人,而不是积极废人!源码精品专栏原创 | Java 2020超神之路,很肝~中文详细注释的开源项目RPC 框架 Dubbo 源码解析网...

weixin_44421461的博客 2644

抓紧搞钱!2025年程序员做副业赚钱的 25 种方法

网络安全产业就像一个江湖,各色人等聚集。相对于欧美国家基础扎实(懂加密、会防护、能挖洞、擅工程)的众多名门正派,我国的人才更多的属于旁门左道(很多白帽子可能会不服气),因此在未来的人才培养和建设上,需要调整结构,鼓励更多的人去做“正向”的、结合“业务”与“数据”、“自动化”的“体系、建设”,才能解人才之渴,真正的为社会全面互联网化提供安全保障。

chengxuyuanyy的博客 1873

程序员靠自己怎么赚钱?

其实做程序员这一行的说不累是不可能的,工资高的毕竟是少数,但是在这个知识付费的时代,还是有很多的途径来让自己赚钱的。但是前提还是建立在丰富的经验之上。比如下面的: 卖时间 录制教别人写程序的课程、这个千万不要小看,现在的程序员比较多,愿意看视频的程序员更多,质量好的课程一旦放到网上可以吸引非常多的人来看,而且可以带来持续收入 2. 写教别人写程序的书、这个就不用说了,比较近期搞的比较火的漫画算法、再比如鸟哥的linux私房菜都给自己带来了巨大的流量和卖书收入,而且还有利于打造个人ip 3. 开发不用写

qq_36743604的博客 1952

分享程序员赚钱的一些门路

综合上面所说,其实赚钱的路径有很多很多。不过说实话,适合新手的并不多。作为新手,最好能够先沉淀自己,积累技能,路会越走越宽。而如果一门心思去做副业而忽视主业,无异于本末倒置,作者不建议如此。如果是有一定技能基础和工作经验的开发者,赚钱路径还是很多的。主要是自己要懂得经营。最后祝大家都能通过自己的努力实现财务自由。Python 的迅速崛起对整个行业来说都是极其有利的,但“人红是非多”,导致它平添了许许多多的批评,不过依旧挡不住它火爆的发展势头。

bagell的博客 1334

2024,程序员赚钱的 8 种方式送给你(上)

最近家里宝宝出生了,第一次当爸爸,说实话,内心既有喜悦,又有压力,身上的担子也更加重了一些。刚好自己趁着这段时间放陪产假,研究和思考了一下咱们程序员除了主业之外,到底还有哪些赚钱的方式。这样做的目的有两个,一是看看能不能为家里多一条资金来源输入,多赚点钱,二也是为了提前应对程序员 35 岁的危机,虽然每个程序员都不想讨论程序员 35 岁的职场危机,但这个问题也是每个程序员都必须遇到的,晚面对不如早面对。欢迎关注我的公众号【雷克分析】,更多最新内容和干货,第一时间收到。!!

专注大数据、实时计算、程序员成长、经验分享和排坑经历 1541

程序员开发个人项目能赚钱吗?

点击关注公众号,Java干货及时送达????本文转自:zhihu.com/question/28523621/answer/1807791333最近几年找工作的难度大家可想而知,但是我们不曾心想:为什么要找工作?说白了谁还不是为了那点能养家的口粮?!但是这点口粮我们能通过其他渠道来获得吗?我偶然看到了这样一个问题 "为什么大部分程序员不通过开发个人项目来赚钱呢?" 。下面有个老哥的回答挺不错的,完整分享...

犬小哈 367

作为一个程序员怎么通过android开发赚钱

上面是一个程序员通过Android开发每天的收入,信则有! 自己学安卓差不多,有一年了。我本来是从事javaweb开发的,可能学习安卓上手会快点。其实安卓没有那难 。首先开发安卓程序,要有一个,开发环境 ,其实也很简单(直接下载一个ADT ,包含,eclipse 和 sdk ,解压就可以用)。鉴于现在,中国上google官网上不去 ,我这边直接把文件下载保存在我的网盘,大家如果需要的话,可以直接下载,下载地址:http://pan.baidu.com/s/1pJFhdpx (里面包括,eclipse+sdk

zss_ing的专栏 1万+

抓紧搞钱!2024年程序员做副业赚钱的 25 种方法_github赚钱

目前全球的经济形势非常艰难,很多人开始尝试从事第二职业或做副业赚钱,作为一名开发者,我们拥有一套独特的技能,这是非常棒的优势,如果你知道从哪里开始,赚钱将不会是一件很难的事,从现在开始,行动起来吧。

shanguicsdn000的博客 3317
上一篇: 花一周时间,啃完这套京东架构师独家微服务笔记,成功面进字节
下一篇: 阿里百万架构师打造的 Java并发编程实战笔记,理论到实践一键搞定
Java技术那些事儿
博客等级 码龄5年 2306粉丝 2584原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值