前言
楼主18年毕业,渣硕一枚,19年经同学内推,面试了百度基础平台开发工程师岗位,两面技术+总监+经理面后被捞上岸,面试完后自己有记录,这次放到网上回大家。上学时一直帮导师做项目,搞的是.NET,毕业去公司做的是Java,一直是搞业务的,这次面试基础平台开发工程师,也是有想转型的意愿,毕竟业务搞得久了,也想搞搞纯技术…废话不多说,上面筋:
一面:
-
自我介绍,基本是上学时的经历,研究方向,做的一些东西,然后是工作的一些项目经验。
-
HashMap结构,原理,为什么线程不安全,resize为什么会导致死循环,然后就是CurrentHashMap的结构,分断锁原理等等;
-
刚刚说了HashMap结构有红黑树,讲一讲红黑树的结构,balabalabala。。。。。
-
B树、B+树什么的结构知道吗?
-
balabalabala。。。。。
-
用的什么数据库?我说Mysql和SqlServer,然后就问mysql的隔离级别,mysql有几种引擎,各有什么特点?数据库索引,最左匹配原则。
-
InnoDB和MyISAM索引有什么区别?聚集索引和非聚集索引?各有什么应用场景,为什么InnoDB用的多?
数据库锁知道吗,有几种,加锁和解锁的场景,给一句SQL和隔离级别,能分析加什么锁吗?索引下推原理。。。
(数据库这块因为提前做过准备,就一直引导面试官问,聊的比较多。) -
然后手撕了一个堆排序;
-
七层网络的协议,网络传输流程,ARP协议等等,三次握手,四次分手ÿ