阿里-蚂蚁四面+HR面复盘,Java研发【攒人品ing】
8.26 一面 54min
1. 自我介绍+项目描述(面试官说根据简历来问)
2. JVM性能调优方面在项目中怎么做的(回答了使用JProfiler去balabala...)
3. Java内存模型主要有哪些?分别的作用?(JMM相关)
4. Java线程的生命周期(从创建到销毁...)
5. 阻塞转态,举几个线程阻塞的例子?
6. 如果在线程中调用了wait方法,线程状态的变化?
7. wait和timewait?twaiting状态和timewaiting状态的进入?
8. 到达等待时间后的状态变化?
9. 对数据库某一行数据加锁(行锁),sql怎么写?
10. MySQL索引,join的时候能走上索引吗?
11. 联合索引(a,b,c)的问题(当时没记录下来...),两个select查询时能不能走索引?走的索引是否一致?效率上有没有区别?
12. 拥塞控制解决什么问题?具体怎么做的?
13. 详细描述HashMap扩容(1.8)的过程?为什么是2^N?(当时举了个实例去计算,阐述了会浪费空间,还被问到还有其他原因吗...不了解了)
14. Spring的bean的生命周期?
15. 有一个Class A、Class B,A中有B的属性,B中有A的属性,循环依赖问题?
16. 开始挖项目......(记忆比较深刻就是被提醒要考虑做缓存和DB数据一致性的工作,说了两个之前看到的方案,比如订阅log那种同步机制啥的...)
注:
l 面试官最后说他主要是做一个简历评估,然后对我做了一些评价,直接说会给到一个通过,说官网笔试不用做了(后来还是做了做的很差只a了0.8好像),直接做部门这边单独的3道线下笔试题(要求发源码)来考察编码能力和代码风格规范之类的。最后让我对比一下各家公司的面试体验。
l 关于那三道题,我第一次提交实在没啥思路按照自己的想法简单写了写发过去,第二题就被打电话告知有问题,新面试官和我探讨了一下题目,说到“线下连这种题都没办法写出来的话可能就不太符合要求了”,于是又给了两天时间重写。
l 那3道题很重要!!!第一题原题,第二道和第三道题都是类似的场景题,我不知道能不能透露题(网上类似的也只是思路),反正就是处理大文件大数据的题,我之后请教了朋友又去看资料,最后自己写了个bitmap再加模拟去解决那两道题的。第二次提交后才被告知部门笔试通过会安排下一轮面试。
9.2 二面 28min
1. 深挖项目+场景扩展。
2. 主要在问很多分布式相关的(实在不太熟悉,答的不是很好)。
9.3 三面 (技术交叉面)30min
1. 应该这位大佬面试官也看过我提交的源码,然后和我讨论了一下我解决问题的具体思路、遇到什么困难了怎么解决的?
2. 开始问项目+场景扩展。
9.8 四面 29min
1. 先问项目部署上线、压测之类的,让我具体说一下项目的整体设计的思路和自己实现的方案以及具体流程。
3. 平时学习的路线、方式以及途径?老师、同学对自己的评价如何?自己的优劣势是什么?自己缺点形成的原因是什么?
9.8 HR面
1. 问了问项目,在其中承担的角色,项目中遇到哪些问题印象比较深刻然后怎么解决的?
2. 令自己最最为难忘的事是什么?为什么要选择成都呢?(想回家工作哈哈)
3. 其他的问题记不清了,别紧张如实回答就OK。
个人的一些总结和感悟:
l 首先这里我要特别感谢一下那位联系我的大佬!!!每次面完不到一小时就会约我下次面试时间,不仅会帮我解惑还会帮我跟进流程并告诉我进展,平日里也会聊天,告诉我不要太紧张哈哈哈。(不管大哥能否看到,感恩!!!)
最后祝愿各位大佬都能斩获满意的offer~