一面

  1. 先自我介绍,由于简历上写了熟悉GC,所以面试官上来先让我谈谈GC。
    第一次被问这个,有点不知道怎么开头,犹豫了几十秒后,我把我当时记得的主要内容从头到尾说了下,然后说“大致只了解这些”...面试官get到我意思后,放过了我,流汗~
  2. 学过操作系统,谈谈信号量,信号量如何访问(当时我一直以为没明白他的意思,以为要问操作系统硬件互斥机制,后面才明白要问PV操作),PV具体如何操作
  3. Redis的持久化机制有哪些?Redis如何进行快照?快照快结束时,发生写操作,写操作的数据是否会保存到快照?(我回答不会,快照的数据都是开始快照那个时刻的全量数据)
  4. B+树的时间复杂度,为什么是log(N)(当时不清楚怎么回答,胡乱说了下),B+树上查询数据的流程

算法题

  1. 旋转打印M*N二维数组(快速过)

二面

  1. 上来没让自我介绍,直接问项目,在项目学到了什么,然后我babababa...乱说了一通
  2. 谈谈RPC的工作过程
  3. nginx的5种负载均衡算法(当时忘记了,直接说的是我项目中实现的负载均衡算法)
  4. 进程通信方式有哪些?其中哪个速度最快?
  5. get和post请求的区别(好久没问这个问题了,只说出了两种方式作用和参数的区别)

算法题

  1. 毒蘑菇(两问,一问贪心,一问动态规划)
    当时有点蒙,面试官让我讲思路,我想了半天也没头绪,在面试官提醒下换了一题,面完之后再想想那题,我觉得第一问想出来不难的,第二问想了较长时间,不清楚对不对
  2. 实现 double sqrt()函数
    心里有点慌,脑子不在状态,结果写第二题调了好久,不过还好最后调好了

当时面完就觉得很可能没了,不过下周一的时候HR通知过了,我一脸庆幸

三面

应该是leader,说话很温和,当我不太明白问题的时候,会很耐心地尝试换下说法引导我,是我至今遇到的一个最nice的面试官。

  1. 先让我自我介绍下,然后让我谈谈如何学习一个新技术,我长篇大论了一堆,然后他帮我总结成了几句话,让我觉得自己以后要学习下如何简明扼要==
  2. 谈谈项目中几种序列化方式的不同点
  3. 为什么需要序列化?(因为网络底层传输的是比特流)
  4. 谈谈为什么会发生粘包黏包?
  5. 为什么网络中会发生丢包?(接收到的分组校验出错、分组在网络中超出最大存活时间、路由器接收分组数量达到上限后,会丢弃多余分组)
  6. 为什么会发生网络卡顿现象?(网络拥塞)TCP为什么可靠?

算法题

  1. 求数组的最大、最小数对的个数

面试总结:

1,多刷面经

总结他人的成功经验,有极大的几率会遇到相同的面试题!

2,算法是重中之重,现在的中小厂子都开始看中算法,更别说头条这种头部大厂了,在这边推荐小伙伴们学习左程云老师的算法,通俗易懂,非常的nice,分享一下左程云老师的PDF,都是力扣上经常面试的题,也省的大家受到算法的苦

 

 

还有面试资料:

1000道Java工程师面试题+答案PDF共计有485页,几乎涵盖了现在Java面试的所有考点,简直不要太香!

 

一键三连+评论,然后添加我的VX(tkzl6666)即可免费领取。