网易-杭研-互联网产品-Java开发面经
8月17号下午面试,两轮技术面+一轮HR+一轮总监面。短信给的时间是下午5点开始,但3点半到了签到后就直接开始了。
一面
一面只问基础。
- 数据库的事务隔离级别?
- MySQL的锁类型,何时会触发锁?
- MySQL的索引的实现方式?
- concurrent包的并发容器有哪些?
- StringBuilder与StringBuffer的区别。
- SpringMVC的请求处理流程。
- Spring AOP的实现原理。
- ***模式。
- volatile的作用。
- JDK提供的常用调试工具有哪些?
- JVM运行时内存模型。
- cookie与session的区别。
- 如何实现共享session。
- 堆上内存如何划分?
- 问了一个web安全的问题,没听过,直接说不会。面试官说没关系。
- Linux下的常用命令。说了cd、pwd、top、grep、sed...想到什么说什么。
- 举一个使用sed的例子。
- 问了awk,只是简单用过,不太懂,所以直接和面试官说了,面试官也说没关系。
还有一些问题想不起来了。一面问的全是基础,我的面试官会一边听一边把我说的答案写在我的简历上。这可能是他的习惯,不过反而便于我理清思路了。有些问题是串联着问的,比如7和8、12和13、16和17。因为面试官全程没问JVM,所以我主动告诉他可以问我一些JVM的问题。问完之后他说先到这里吧,项目后面会有人问的,然后就结束了。
二面
一面结束没有等待太长时间,大概10分钟,二面就开始了。
- JVM的运行时内存模型
- JMM
- 类加载机制
- 垃圾回收时,什么情况下用什么样的算法?
- YongGC失败了怎么办?
- 如何检测死锁?
- 如何优化一个SQL查询。
- MySQL索引的实现方式。
- 不同的索引实现方式有什么区别?
- 数据库的事务隔离级别。
- 如何实现可重读?
- 堆排的原理
- HashMap的load factor的作用。
- HashMap为什么要扩容?
- 状态模式与策略模式的区别。
- 设计模式的6个原则。
- ThreadLocal的作用、实现原理。
二面还在基础的范围内,有些还是一面问过的,但会一步一步问的更深入,比如[4,5],[7,8,9],[10,11],[13,14],[15,16]。另外二面面试官全程不苟言笑,有时会打断你的回答直接问下一个问题,还会问一些模棱两可的问题(等待你向他确认)。面试结束后,也没有“你有什么想问我吗”之类的问题,感觉像是故意的压力面。
hr面
二面结束后,被通知加了一轮总监面,但要等到晚上。我问hr是不是可以去吃饭了,另一个hr直接对我说“xxx,hr 3组”......饿死我了。
- 高考怎么没考好(本三)?我回答不太会考试(不是随便说的,是认真总结过的)。
- 那研究生是怎么考上的?(回答天时地利人和再加运气)
- 怎么会想到做邮你的(几个小伙伴一起做的校园类app)?
- 项目过程中遇到的最大难题是什么?
- 你觉得coding最重要的素质有哪些?
- 你给一个人发消息,长时间得不到回复,你会怎么办?
- 对自己的职业规划。
- 有什么爱好?
- 对网易的产品有哪些了解?
- 倾向于去哪个产品?
本来以为会谈薪资的,结果没提。最后只说可以先去吃饭了,晚上会有个总监面。
总监面
总监面在7点40左右开始。一直面到8点20,40分钟时间问的都是比较宏观的问题。
- 告诉我你的优势是什么?我说的是解决问题。
- 举个栗子。
- 建模、底层、算法,你更喜欢哪一个?
- 设计模式有什么用?
- 你印象最深的书有哪些?
- 《深入理解Java虚拟机中》,介绍class结构的一章,你看了之后有什么感受。
- 看过哪些源码?一般如何阅读源码?
- 作为leader,你是如何管理项目进度的?如何掌握项目组成员的进度?
- 作为leader,你是如何分配任务,调度资源的?
- 你会如何来描述一个系统?比如通过哪些图。
- 有没有经历过什么大的挫折?
- 性格中的缺陷是什么?有没有因此吃过亏?
印象比较深刻的是举栗子的过程。第一个栗子没有被完全认可,面试官说只能证明你有想法,但是没有证明你的想法真的解决了问题。把握到他的point之后,后面举的两个栗子得到了他的认可。
总结
今天还和朋友说,在网易的面试过程是很爽的,从基础问到了底层,又向上从设计模式问到了需求分析、系统设计、项目管理。 向提醒大家的是:公司周边没有什么住的地方,我是走了三条街才找到的宾馆。另外因为G20的原因,公司附近的小餐馆都关门了,不过在猪场吃就好了,伙食不错。
#网易#