怕忘了先写一稿,感觉字节现在真是缺人
全文描述:本人文学素养极度低下,无修饰文章能力哈哈

先大概说下背景 - 本人后端开发,技术栈纯JAVA,之前刷过不少算法题,然后也是毕业就在大厂工作2年(之后定了可能再PO名字哈哈)。

坐标北京。求职原因其实一部分是为了找各种机会看看自己目前的水平和当前各大厂里自己中意部门的诉求的差距。当然也为了看看能不能double啦啦啦。目前薪资涨的有点慢,而看了看互联网跳槽后短期大涨的案例心态又有点飘,想去试试。

废话不多说

一面是目标组的组员面试:
先是自我介绍 - 然后顺着我的经历一通问,感觉还有点感兴趣。但是这块有点误差,我们两个各自说的框架意思不太一样。我是业务的框架,而她说的是底层微服务框架,在二、三面我上来就主动先说明这点。所以问题其实顺着我的项目经历里与她的框架相关的部分在问。我其实没有参与开发过,但是也有一些了解,能答得上来。但是据我女票旁听的结果来看我说了很多次“这个我不太清楚”。
技术上的问题主要有(感觉并没有准备很充分,随口问的,自由延伸提问):
内存模型,
内存调优(我的项目经历里有涉及,顺着问的),
GC,
hashMap的死锁和优化,
rpc框架的理解,
HTTP/HTTPS区别
微服务通信机制,可靠性
编程题:
无序整数组中找出>=target的最小连续长度。很简单。

二面感觉是个资历老一些的组员:
也是自我介绍(每面必问,重要) - 顺着经历问一些相关的技术问题:
类加载机制
动态加载
动态代理
spring
hibernate
λ函数
λ函数创建的内部类对于内存的影响
java各个版本的更新点(强烈建议准备好)
stream api的应用
rpc框架的理解
编程题:3sum, 手撕了下hashcode和equals,其他没啥

三面就是小组leader了(莫名强烈的劝退感,强调多次双向选择,让我考虑好是否想做,长期做,差点以为自己要挂了):
自我介绍(哈哈哈)
问的问题比较宏观了
2年在我的大厂学习到了什么 - 我从工作上和技术上答的
我的规划,为什么想来做这些 - 年轻的公司,氛围好,技术先进
有没有接触过微服务治理 - service mesh压根没玩过!
目前公司现有的治理框架有什么问题 - 自由发挥,最好对自己当前公司的体系有自己的理解
然后我也问了他们的项目有哪些块,交流了下我如果入组做的是哪块
编程题:
merge两个有序数组,O(1)时间空间。
几分钟就写好了,结果最开始长度赋值用了arr.length忘了题里给了arr长度足够硬是看了好久才看出来55555

四面是个boss(今天连续面试pony+头条搞的心情很紧张,发挥的不好):
自我介绍,基于项目技术问了不少相关的问题
业务代码内存优化方式,涉及到过什么场景,怎么分析 - 优化项目,visualvm
之前面试聊过了一些头条用的框架,之后自己有去了解过么,感兴趣么 - 有点崩
多线程应用场景1:三个线程A, B, C都打印自己的东西,怎么能顺序打印? - 个人答案三个信号量循环释放
多线程应用场景2:10G文件,2G内存怎么能找出所有互为倒叙的行? - 流反复读取释放,对每行存互为倒叙的匹配对象?(感觉自己菜的要死,应该是个常见场景)
转行到微服务治理全新的挑战能行么? - 答了自认为适应能力强 - 请举例说明 - 搞专项需要新学gprc, antlr, 业务知识来做,2个月高质量达成目标
承压能力可以么?(感觉真是压力大,比三面还强的劝退感) - 经历举证
我有什么问题? - 没准备太好 - 业务场景,成长规划
无编程题

小结:社招感觉更注重你的项目经历,和你对当前自己和周边部门的工作的掌握程度和个人理解。能否对设计方案有自己的认识,而不是只根据既定方案开发(个人感觉很关键)。我其实在技术问题上答得并没有很好,但是我工作相关的经历答的很全面,想延伸多长就延伸多长自己都能讲出来并说出自己的理解。
不过既然他们缺人,你如果能让他们感觉你上手就能工作,铁定是第一人选。面向JD刷题1st。
多看看他们用的技术的相关资料。多准备问题。