1.引言
今年都说是程序员的寒冬,面试相对于以前都难了许多,不过刚好最近刚好群里有学员面试百度成功,拿到了offer,就稍微的聊了一下,并总结了一下他关于面试的一些心得,以及题目,分享给大家,希望能对大家有些帮助。
2. 面试过程
第一轮面试:
为什么离开上家公司
然后问了一些关于多线程,数据库,Jvm等相关的技术问题,
后续将整理面试的相关题目
第二轮面试
为什么离开上家公司。
详细问了在每家公司的情况。
介绍了做过的两个项目的架构图。
从0-1组建项目团队怎么组建。
技术选型怎么选。
如何满足需求。
自我感觉笔试题答的如何,Linux简单命令。
作为leader,在开发过程中,有木有什么规范。
介绍应聘的岗位主要是和大数据相关的,有了解么,觉得自己能胜任么。
问在现在公司,和其他人比,是什么程度。相比其他同事,我有什么比较优势。
谈薪资要求,并给出了和HR谈的建议薪资。
是否介意加班。
第三轮面试
聊各家公司的经历。
介绍薪资体系。
后记:本来说定的2天后给答复,后来,在周一HR主动打了学员电话,说再等两天,再后来学员主动打电话,又说还得等一周左右。
经验:高级职位的话,大公司比较少当天就给offer,慢慢等吧,不管你和面试官聊的多投机,都别以为“定了”。往好的方面想,可能是在走流程;往坏的方向想,可能正如网上所说,大的公司一般都会同一个职位面试多个人之后,再做决定。要有等待的心理预期。最终,在大概10天后发了Offer。
3.面试题目整理
多线程:
1. 多线程的几种实现方式,什么是线程安全,什么是重排序
2. volatile的原理,作用,能代替锁么
3. sleep和wait的区别,以及wait的实现原理
4. Lock与synchronized 的区别,synchronized 的原理,什么是自旋锁,偏向锁,轻量级锁,什么叫可重入锁,什么叫公平锁和非公平锁
5. 用过哪些原子类,他们的参数以及原理是什么
6. 用过哪些线程池,他们的原理简单概括下,构造函数的各个参数的含义,比如coreSize,maxsize等
7. 有一个第三方接口,有很多个线程去调用获取数据,现在规定每秒钟最多有10个线程同时调用它,如何做到。
8. spring的controller是单例还是多例,怎么保证并发的安全
9. 用三个线程按顺序循环打印abc三个字母,比如abcabcabc
10. ThreadLocal用过么,原理是什么,用的时候要注意什么
11. 如果让你实现一个并发安全的链表,你会怎么做
算法:
1. 10亿个数字里里面找最小的10个
2. 有1亿个数字,其中有2个是重复的,快速找到它,时间和空间要最优
3. 2亿个随机生成的无序整数,找出中间大小的值
4. 遍历二叉树
数据库:
1. 数据库隔离级别有哪些,各自的含义是什么,MYsql默认的隔离级别是是什么,各个存储引擎优缺点
2. 高并发下,如何做到安全的修改同一行数据,乐观锁和悲观锁是什么,INNODB的行级锁有哪2种,解释其含义
3. SQL优化的一般步骤是什么,怎么看执行计划,如何理解其中各个字段的含义,索引的原理?
4. 数据库会死锁吗,举一个死锁的例子,mysql怎么解决死锁 MYsql的索引实现方式 聚集索引和非聚集索引的区别 数据库中
5. BTREE和B+tree区别
4.面试总结
因为参加的是百度的社招面试,而社招不同于校招,问题的范围其实是很随机的。因为能参加一些比较知名的互联网公司社招的人,70%以上都会有个3-5年的经验。这个时候就需要更加巩固自己的职业技能,这里我总结了一些面试的资料,需要的话可以在我个人空间联系方式领取哦,也祝愿大家都能够收获到自己满意的工作
网友评论