JAVA程序员面试系列(三)

注意,这里所有的面经都是已第一人称书写,但并不表述全部都是我个人的经历,有来自我个人的,也有来自其他小伙伴和我之间的交流)
没看过系列前面几篇的小伙伴,可以直接传送去看一下。一是网易的面经。

哈罗单车
  一共三面,2面技术。电话面试+现场。
  
一面:电话面试。基本的自我介绍+基础面试。

  • HashMap,CurrentHashMap。
  • 线程池的创建,ThreadPoolExecutor相关内容。
  • 还问了GC,JVM相关的一些简单概念问题。
  • 布式锁,分布式事务,限流
  • 算法:时间复杂度为O(1)的LRU实现;一个是判断链表是否成环。

主要是简历上的一些知识点和基础,问了一下项目上的亮点以及如何实现的。比如分布式锁,分布式事务,限流等。最后问了2个算法,由于是电话面试,所以只说了思路,一个是时间复杂度为O(1)的LRU实现;一个是判断链表是否成环。都是简单的算法,刷刷LeetCode基本都会。

二面:现场面试。

  • JVM基础,new 一个对象,在JVM中的具体流程是怎么样的。类的加载。
  • GC算法,CMS的实现细节。
  • mysql的索引原理,设计出发点,MVCC的机制以及实现原理,作用是什么。
  • rocketmq的架构,消息的生产,消费的原理,负载均衡
  • 做过的项目画架构图,项目的技术点。
  • 分布式事务实现,分布式锁,限流

JVM相关的内容,这个相对问的比较综合,问了new 一个对象,在JVM中的具体流程是怎么样的。主要还是类的加载,这一块具体问了各个类加载器的作用以及String对象是由哪个类加载器加载的,以及对象在JVM中的分配。细节部分问了对象在分配过程中涉及到的常量池部分,以及TLCB的作用。还问了GC算法,各个算法间 差异,CMS算法的细节。后面又问了mysql,问了索引的原理,为什么这么设计,以及MVCC的机制以及实现原理,作用是什么。之后问了中间件,rocketmq的架构,消息的生产,消费的原理,负载均衡在哪里做的,不得不说rocketmq真的是每次必问。问完基础,开始问项目,先画一下架构图,这里为什么这么设计,怎么保证数据安全(项目涉及到对外接口),项目中的分布式事务实现,分布式锁,限流等。总体感觉,细节没把握好,面试的时候你觉得小东西不管重要不重要,还是要说一下的。不要着急,先理一下思路,

滴滴出行
三面技术

一面:

  • Mysql,写的执行流程。连接池的实现原理。
  • Mysql,undolog,redolog,binlog。log的commit机制,异常恢复,事务的隔离级别,mvcc。
  • Spring,事务机制的底层实现,源码实现。
  • mybatis,拦截器的实现原理,有哪些拦截器。

视频面试,上来先自我介绍,然后问了一下项目的业务逻辑,主要负责了什么,做了什么内容。然后开始问基础,显示Mysql,一个综合性问题,一条update或者insert语句的执行流程,越详细越好,还问了数据库连接池的实现。这里主要涉及到mysql的语句分析优化以及undolog,redolog,binlog,以及log的commit机制,以及异常恢复,事务的隔离级别,mvcc点了一下。然后问spring的事务机制的底层实现原理,从源码层面讲一下,这里其实要展开的话就比较多了,从事务的实现,可以扩展到aop,bean的初始化等,不过个人感觉只要点出事务的底层三个事务接口就好了,也就是 plateforamxxx接口的后续实现,还问了mybatis的拦截器。最后也没问算法。

二面:视频面

  • JVM,GC算法概念,CMS的具体过程,GC的过程描述。
  • rocketMQ的底层实现,消息的收发流程,推拉机制的实现原理。
  • redis集群,缓存雪崩,击穿,如果解决。
  • ES,ES的基本概念,项目中没涉及就没继续问

这一面主要还是 围绕自己做过的项目中用到的知识点的基础问答以及一些技术点的实现,如何解决问题的。印象最深刻的技术点是什么,对现在的项目有没有什么优化的想法。

如果大家觉得我写的还可以,对你有帮助,还希望点个赞。这样我也有更大的动力去回顾自己这一路的磨炼,整理出更高质量的面经,给你们更好的参考资料。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值