Java面试,你遇到哪些困境面试,你遇到哪些困境
不少Java程序员,在在应聘一些中大型互联网公司的Java工程师岗位时,经常会遇到如下困惑。
这些同学说自己也做了精心准备,网上搜集了不少Java面试题。
然而实际去互联网公司面试才发现,人家问的,和你准备的根本对不上号,面试现场经常弥漫着尴尬的气氛,最后的面试结果
也是不言而喻!
先来体验一个真实的面试连环炮
那么,为什么这些兄弟会出现这种情况呢?下面和千锋广州Java小编一起来看看吧!
首先,我们来看看真实的一二线互联网公司面试现场,看看大厂面试官是如何发问的。
简单来说,现在一些中大型互联网公司的面试官,在面试候选人时,一般都会采取连环炮的策略来深挖一个候选人的技术水
平。
举个例子,比如说看你简历上写了熟悉消息中间件(MQ技术)。那么可能我们就会有一个类似下面这样的连环炮式发问:
说说你们公司线上生产环境用的是什么消息中间件?
那你们线上系统是有哪些技术挑战,为什么必须要在系统里引入消息中间件?
你们的消息中间件技术选型为什么是RabbitMQ?
为什么不用RocketMQ或者是Kafka?技术选型的依据是什么?
你们怎么保证消息中间件的高可用性?避免消息中间件故障后引发系统整体故障?
使用消息中间件技术的时候,你们怎么保证投递出去的消息一定不会丢失?
你们怎么保证投递出去的消息只有一条且仅仅一条,不会出现重复的数据?
如果消费了重复的消息怎么保证数据的准确性?
你们线上业务用消息中间件的时候,是否需要保证消息的顺序性?
如果不需要保证消息顺序,为什么不需要?假如我有一个场景要保证消息的顺序,你们应该如何保证?
下游消费系统如果宕机了,导致几百万条消息在消息中间件里积压,此时怎么处理?
你们线上是否遇到过消息积压的生产故障?如果没遇到过,你考虑一下如何应对?
你们用的是RabbitMQ?那你说说RabbitMQ的底层架构原理,逻辑架构、物理架构以及数据持久化机制?
你们RabbitMQ的最高峰QPS每秒是多少?线上如何部署的,部署了多少台机器,机器的配置如何?
你们用的是Kafka?那你说说Kafka的底层架构原理,磁盘上数据如何存储的,整体分布式架构是如何实现的?
再说说Kafka是如何保证数据的高容错性的?零拷贝等技术是如何运用的?高吞吐量下如何优化生产者和消费者的性能?
看过Kafka的源码没有。如果看过,说说你对Kafka源码的理解?
你们用的是RocketMQ?RocketMQ很大的一个特点是对分布式事务的支持,你说说他在分布式事务支持这块机制的底层原
理?
RocketMQ的源码看过么,聊聊你对RocketMQ源码的理解?
如果让你来动手实现一个分布式消息中间件,整体架构你会如何设计实现?
上面仅仅是MQ相关技术问题的一部分,实际上,一个比较好的面试官的问题,就是从技术面、技术点、项目实践几块来抽丝
剥茧的发问。
技术广度的考察
首先考察候选人技术面的完整性,因为工作中是需要具备一定的技术视野的,不能说光知道消息中间件,但是分布式缓存却一
无所知。
类似于以前高考的时候,你语文特别好,结果物理特别差,那也是不太合适的。
所以工程师首先要避免自己的技术短板,尤其是三到五年经验的同学,已经彻底度过了自己人生的职场生涯的初期小白入门菜
评论0