本人依据研究生毕业期间参加的面试,总结了BAT及网易游戏的面试侧重点,仅供参考。
实习面试经验:
1.阿里
技术:一般是他们部门用到什么技术,就一定会问这些技术,而且问的比较深,最好能熟读源码,注意不是什么源码都读,而是某些关键的源码。至于技术中什么样源码、知识点比较关键,需要去刷面经,非常有用。比如我四轮技术面中,每一轮都问了Spring AOP,其实现原理(CGLIB、JDK),实现技术(反射)。
项目经验:项目经验的话,你需要能像架构师一样介绍项目架构和亮点、像产品经理一样介绍项目功能、像leader一样介绍你做这个项目遇到什么困难,怎么解决的。你说了亮点,他会问你亮点的相关知识。比如我介绍我的项目:业务上分为哪几个模块,架构上分为哪几个层次,项目的亮点,亮点用到的技术。反正就是尽量把控面试官,让他顺着你的思路问。
基础:做大数据和后台差不多,都是问java基础,像HashMap和ConcurrentHashMap、Hashtable源码、源码区别、功能区别要熟知,像ThreadPoolExecutor和相关的BlockingQueue要熟知,想JVM相关知识要熟知,等等。有些也问计算机网络。比如我面试时,就问了JVM对于多态是怎么实现的、堆和栈的存储、垃圾回收机制、HashMap如何分布式存储、这样存储会存在什么问题、怎么解决(其实是在问ConcurrentHashMap)、ConcurrentHashMap用到的数据结构(Hash表)以及桶中的节点过多怎么解决(jdk1.8开始,在桶中的节点数过多时,将结构转换为红黑树)、sychronized修饰方法和静态方法的区别等。
2.腾讯
项目经验:腾讯最注重的是项目经验,所以对于项目这一块是你最要准备好的,最需要准备的是你项目遇到什么困难,怎么解决的,这个问题不是你答出来就行的,他会接着往里问,一直问到你答不出来。我一面就问了40分钟项目。
基础:java基础、操作系统、计算机网络、Linux命令一定要熟知。我一面就问了操作系统的进程与线程的区别。
3.网易
基础:网易最看重的是基础,包括计算机网络,数据库,Linux命令。像简老师,一面一直在问计算机网络和数据库。
算法:现场面试一定要熟知基本的算法题,像昕石面试,一面全是C++,二面四道算法题。
4.百度
基础:百度就是问基础,基础要牢固。