面试公司:网易金融
面试职位:java岗
结束网易金融面试,虽然没通过,但是收获还是不小。个人不才,止步于二面,希望下次自己能够表现更好。加油所有兄弟姐妹们,失败不怕,踩着失败走向成功嘛!!
我面试的是网易金融,java岗,上午去等到十点多,前台MM给我们登记了,然后稍微过了几分钟就开始逐个喊名字,然后告诉你在哪个组面试(面试过程好多组同时进行,一对一,面试官对着电脑和你给的简历问问题,可能还会做一下记录吧我猜。一面是个年轻的师兄,二面是个成熟的大叔)。
一面聊的比较high,时间不知不觉就过了,到后面还和面试官师兄聊了聊网易金融,表现比较自然。一面后面试官直接告诉我,还有二面,所以就没有去问前台MM是否通过了,很快就被叫,进入二面。二面大叔比较严肃,不像一面师兄那样亲切自然。二面表现的有点紧张,说话语速太快了,然后没有和面试官做好眼神和动作交流,表现的不够自然,应该更自信,显得更牛叉点才对。
下面是问的一些问题:(面试官对着简历问的,因此可能不具有普遍性)
一面:
1.说说servlet生命周期。
2.ConcurrentHashMap的并发是如何实现的。
3.集合类中线程安全的集合有哪些(HashTable,Vector),HashTable如何实现同步。
4.让说一下NIO编程,然后我就将NIO与传统IO做了一些对比。
5.NIO主要用来解决什么问题(这个答得不太好)。
6.ME.C.che如何进行hash来寻找服务器的,就是说如何实现分布式映射的(求余hash方法,一致性hash算法)。
7.线程池中的主要参数有什么(我就说了项目中用到的CorePoolSize和MaxPoolSize)。
8.同步的方式有哪些,为什么叫重入锁(重入锁这个答得不太好,其实就是递归锁)。
9.问我懂哪些设计模式,然后我简单的说了一下,然后师兄就自己巴拉巴拉了一会,然后就差不多结束了,问我还有没有要问的。
二面:
1.针对项目中的一点问了一下,然后我就讲了一些研究课题中的应用,因为课题比较熟,就说的比较自然快了,貌似面试官最后不太感冒。
2.要求写一个函数,用来转化一个字符串为日期。这里主要考的是SimpleDatEFormat线程安全问题,面试官提示如何实现并发,第一次写没考虑,是个大失误,然后在大叔的提示下,我说可以用Synchronized或者Lock来实现并发,但是不是想要的答案,大叔说让我可以用ThreadLocal来做。
3.关于synchronized的问题,
classA{
synchronizedvoidf1(){}
synchronizedvoidf2(){}
}
ThreadT1,T2,分别调用A的f1和f2是否会相互之间有影响。
这个问题实际上很简单,就是对象锁问题。
4.问了项目中心跳机制如何实现的,心跳包内容是什么(这一块因为之前没考虑过,回答的有点不自信,法克。。)。
5.让写一个单例模式。先是说什么lamala单例,我也没明白,就写了个普通的单例,然后解释了一下问什么这么写。
基本上就上面这些了,感觉还是准备不足。最后要结束时,大叔问我有啥要问的,就巴拉巴拉了一下,然后问了一下大叔,我哪些表现不足,大叔说我自我介绍时,要是能把项目中遇到的问题说说,或许能吸引到面试官的兴趣点会更好。
总结:
1.说话不要太快,自然就好,面试过程中是不会记得紧不紧张的,所以控制好语速,面试官就会感到你的状态。
2.最好面试前了解好应聘的单位和岗位,准备一些可以问面试官的问题,这样最后就会更自然,让面试官也认为你准备比较充足。
3.有项目的童鞋,可以在简历或者自我介绍时,把项目中遇到的问题提一提,这样或许面试官就会对感兴趣的问题发问,可以引导面试官到你熟悉的项目中。
4.失败没啥,迟早我也会把面试大叔给征服滴。加油童鞋们。