【面经】一面+二面+HR面【网易内推】【java开发工程师】
好的,老司机
要发车了...
时间:2016年8月20日
地点:网易北京研发中心
面试部门:网易传媒
下午一点多到的,但是面试是两点半的场,就在那趴着眯了十分钟,之后两点半签到,就进去了。等了大概20分钟吧,将近三点了,开始一面。
一面:
0、简单介绍一下自己
1、Spring具有什么特点(IOC和AOP)
2、HashMap和HashSet的实现原理
3、动态***的原理
4、java虚拟机类加载机制
5、java虚拟机GC算法
6、包装类型和基本类型比较问题(例如,Integer类型的变量能否==int类型变量,能否作比较,什么时候不能作比较)
7、ArrayList和LInkedList的比较
8、单例模式都有什么,都是否线程安全,怎么改进(从synchronized 到 双重检验锁 到 枚举 Enum)
9、java锁机制
10、java线程安全都体现在哪些方面,如果维护线程安全
11、还有什么想问我的么?
一面大概用了40多分钟吧,可能还忘记几个问题,现在能想到这么些。
一面完事儿之后,就在大厅等着,大概15分钟,就被叫去二面了。
二面:
1、主要就是项目,面试官一直拿着你的简历,去看项目中有什么可问你的。
2、项目中遇到了什么问题,怎么解决的。
3、Oracle的explain执行计划调优。
4、发散性问题:假如有100万个玩家,需要对这100W个玩家的积分中前100名的积分,按照顺序显示在网站中,要求是实时更新的。积分可能由做的任务和获得的金钱决定。问如何对着100万个玩家前100名的积分进行实时更新?
我跟他讨论了什么分治啊、Hash啊,但后来他都说我的方法都是从全局的数据进行考虑的,这样空间和时间要求太多,并且不现实。后来我跟他一顿讨论,最后他给出了解决方法,就是利用缓存机制,缓存---tomcat---DB,层级计算,能不用到DB层就别用,因为每进一层,实现起来都会更复杂和更慢。解决的思路就是,考虑出了前100名的后100W-100名玩家的积分,让变化的积分跟第100名比较,如果比第100名高,那就替换的原则。
5、你的简历上还有没有能给你加分的项,让我自己说几个。
二面大概也40多分钟吧,就出来了。之后又等了大概15分钟,就叫我去HR面了。
HR面:
1、简单介绍一下自己
2、你在学校做过哪些活动
3、你认为你的强项在哪
4、。。。
大概20分钟,HR面结束了。告诉我等通知就好。
第一次写面经,我把我记得的都写上了。希望能作为参考。
#网易##Java工程师#