1. 引言
今年都说是程序员的寒冬,面试相对于以前都难了许多,不过刚好最近刚好群里有学员面试百度成功,拿到了offer,就稍微的聊了一下,并总结了一下他关于面试的一些心得,以及题目,分享给大家,希望能对大家有些帮助。
![v2-af543fd2f2de5f80660676856f320e64_b.jpg](https://ss.csdn.net/p?https://pic1.zhimg.com/v2-af543fd2f2de5f80660676856f320e64_b.jpg)
2. 面试过程
第一轮面试:
为什么离开上家公司
然后问了一些关于多线程,数据库,Jvm等相关的技术问题,
后续将整理面试的相关题目
第二轮面试:
- 为什么离开上家公司。
- 详细问了在每家公司的情况。
- 介绍了做过的两个项目的架构图。
- 从0-1组建项目团队怎么组建。
- 技术选型怎么选。
- 如何满足需求。
- 自我感觉笔试题答的如何,Linux简单命令。
- 作为leader,在开发过程中,有木有什么规范。
- 介绍应聘的岗位主要是和大数据相关的,有了解么,觉得自己能胜任么。
- 问在现在公司,和其他人比,是什么程度。相比其他同事,我有什么比较优势。
- 谈薪资要求,并给出了和HR谈的建议薪资。
- 是否介意加班。
第三轮面试:
- 聊各家公司的经历。
- 介绍薪资体系。
后记:本来说定的2天后给答复,后来,在周一HR主动打了学员电话,说再等两天,再后来学员主动打电话,又说还得等一周左右。
经验:高级职位的话,大公司比较少当天就给offer,慢慢等吧,不管你和面试官聊的多投机,都别以为“定了”。往好的方面想,可能是在走流程;往坏的方向想,可能正如网上所说,大的公司一般都会同一个职位面试多个人之后,再做决定。要有等待的心理预期。
最终,在大概10天后发了Offer。
3.面试题目整理
多线程:
- 多线程的几种实现方式,什么是线程安全,什么是重排序
- volatile的原理,作用,能代替锁么
- sleep和wait的区别,以及wait的实现原理
- Lock与synchronized 的区别,synchronized 的原理,什么是自旋锁,偏向锁,轻量级锁,什么叫可重入锁,什么叫公平锁和非公平锁
- 用过哪些原子类,他们的参数以及原理是什么
- 用过哪些线程池,他们的原理简单概括下,构造函数的各个参数的含义,比如coreSize,maxsize等
- 有一个第三方接口,有很多个线程去调用获取数据,现在规定每秒钟最多有10个线程同时调用它,如何做到。
- spring的controller是单例还是多例,怎么保证并发的安全
- 用三个线程按顺序循环打印abc三个字母,比如abcabcabc
- ThreadLocal用过么,原理是什么,用的时候要注意什么
- 如果让你实现一个并发安全的链表,你会怎么做
算法:
- 10亿个数字里里面找最小的10个
- 有1亿个数字,其中有2个是重复的,快速找到它,时间和空间要最优
- 2亿个随机生成的无序整数,找出中间大小的值
- 遍历二叉树
数据库:
- 数据库隔离级别有哪些,各自的含义是什么,MYsql默认的隔离级别是是什么,各个存储引擎优缺点
- 高并发下,如何做到安全的修改同一行数据,乐观锁和悲观锁是什么,INNODB的行级锁有哪2种,解释其含义
- SQL优化的一般步骤是什么,怎么看执行计划,如何理解其中各个字段的含义,索引的原理?
- 数据库会死锁吗,举一个死锁的例子,mysql怎么解决死锁 MYsql的索引实现方式 聚集索引和非聚集索引的区别 数据库中
- BTREE和B+tree区别
4.面试总结
因为参加的是百度的社招面试,而社招不同于校招,问题的范围其实是很随机的。因为能参加一些比较知名的互联网公司社招的人,70%以上都会有个3-5年的经验。这个时候就需要更加巩固自己的职业技能,这里我总结了一些面试的资料
点击此处传送门获取文档的完整版十万字面经
目录
![v2-e6e5ac90b072442d08dbe99203244efe_b.jpg](https://ss.csdn.net/p?https://pic3.zhimg.com/v2-e6e5ac90b072442d08dbe99203244efe_b.jpg)
笔记内容
基础篇
![v2-737be42c486404e5b1613f88c8cd01a2_b.jpg](https://ss.csdn.net/p?https://pic3.zhimg.com/v2-737be42c486404e5b1613f88c8cd01a2_b.jpg)
JVM篇
![v2-ed774442d36adf272cf05e2fbe4a0168_b.jpg](https://ss.csdn.net/p?https://pic1.zhimg.com/v2-ed774442d36adf272cf05e2fbe4a0168_b.jpg)
多线程&并发篇
![v2-ebc9028266b12a190569cd03567d5a5d_b.jpg](https://ss.csdn.net/p?https://pic2.zhimg.com/v2-ebc9028266b12a190569cd03567d5a5d_b.jpg)
Spring篇
![v2-11fb8c2ccbabc63d35b487a4babe8d6e_b.jpg](https://ss.csdn.net/p?https://pic3.zhimg.com/v2-11fb8c2ccbabc63d35b487a4babe8d6e_b.jpg)
MyBatis篇
![v2-90b4c554e8c853d1045d8a125f0c8222_b.jpg](https://ss.csdn.net/p?https://pic3.zhimg.com/v2-90b4c554e8c853d1045d8a125f0c8222_b.jpg)
SpringBoot篇
![v2-f921334b0c697a3e7fdd6697cf23cc46_b.jpg](https://ss.csdn.net/p?https://pic3.zhimg.com/v2-f921334b0c697a3e7fdd6697cf23cc46_b.jpg)
MySQL篇
![v2-b06ca7a3bdc509b964f490835d21d635_b.jpg](https://ss.csdn.net/p?https://pic2.zhimg.com/v2-b06ca7a3bdc509b964f490835d21d635_b.jpg)
Dubbo篇
![v2-0c89c8f81b75df8e9c4f151028c8c52e_b.jpg](https://ss.csdn.net/p?https://pic3.zhimg.com/v2-0c89c8f81b75df8e9c4f151028c8c52e_b.jpg)
Nginx篇
![v2-53f0ac3a3b8d975d8ea56d03759f37e5_b.jpg](https://ss.csdn.net/p?https://pic2.zhimg.com/v2-53f0ac3a3b8d975d8ea56d03759f37e5_b.jpg)
MQ篇
![v2-8d16dfab47b3d0edac6598131e0eadc8_b.jpg](https://ss.csdn.net/p?https://pic1.zhimg.com/v2-8d16dfab47b3d0edac6598131e0eadc8_b.jpg)
数据结构与算法篇
Linux篇
![v2-7569a8fc376249091a2abab5dfa3dc52_b.jpg](https://ss.csdn.net/p?https://pic3.zhimg.com/v2-7569a8fc376249091a2abab5dfa3dc52_b.jpg)
Zookeeper篇
![v2-d28b44865cb163631e3db9f43f7afa4f_b.jpg](https://ss.csdn.net/p?https://pic4.zhimg.com/v2-d28b44865cb163631e3db9f43f7afa4f_b.jpg)
Redis篇
![v2-462a88bfb6a61631606242bd82f1fce6_b.jpg](https://ss.csdn.net/p?https://pic3.zhimg.com/v2-462a88bfb6a61631606242bd82f1fce6_b.jpg)
分布式篇
![v2-6601543cc188a26d593374611afaca2b_b.jpg](https://ss.csdn.net/p?https://pic4.zhimg.com/v2-6601543cc188a26d593374611afaca2b_b.jpg)
网络篇
![v2-88c82786cfe3fb66dde49ed8c33b3d6e_b.jpg](https://ss.csdn.net/p?https://pic3.zhimg.com/v2-88c82786cfe3fb66dde49ed8c33b3d6e_b.jpg)
设计模式
![v2-4626bee22d80763789e26f23edb3fa39_b.jpg](https://ss.csdn.net/p?https://pic2.zhimg.com/v2-4626bee22d80763789e26f23edb3fa39_b.jpg)
maven篇
![v2-06706dadc23816a2173dfdbcfba22303_b.jpg](https://ss.csdn.net/p?https://pic4.zhimg.com/v2-06706dadc23816a2173dfdbcfba22303_b.jpg)
ElasticSearch篇
![v2-bc6754b7b34cc3cb1fec73d63ab9dfb3_b.jpg](https://ss.csdn.net/p?https://pic4.zhimg.com/v2-bc6754b7b34cc3cb1fec73d63ab9dfb3_b.jpg)
tomcat篇
![v2-b7d18c4e187585611d72f93d8b1a7ad7_b.jpg](https://ss.csdn.net/p?https://pic4.zhimg.com/v2-b7d18c4e187585611d72f93d8b1a7ad7_b.jpg)
Git篇
![v2-600b469332e3dcfa35af773bc4b48352_b.jpg](https://ss.csdn.net/p?https://pic3.zhimg.com/v2-600b469332e3dcfa35af773bc4b48352_b.jpg)
软实力篇
![v2-6c7d922e0c75f63f50f720ed1ea018a7_b.jpg](https://ss.csdn.net/p?https://pic4.zhimg.com/v2-6c7d922e0c75f63f50f720ed1ea018a7_b.jpg)
面试突击手册
目录
![v2-720cc6bac3ec836e1ea853277ad6fc46_b.jpg](https://ss.csdn.net/p?https://pic3.zhimg.com/v2-720cc6bac3ec836e1ea853277ad6fc46_b.jpg)
部分内容展示
![v2-cd3fd5b8c5f4831e1f9a441b96d7f714_b.jpg](https://ss.csdn.net/p?https://pic1.zhimg.com/v2-cd3fd5b8c5f4831e1f9a441b96d7f714_b.jpg)
![v2-afc4f3bb925e2c71085a7f20947ec4bb_b.jpg](https://ss.csdn.net/p?https://pic4.zhimg.com/v2-afc4f3bb925e2c71085a7f20947ec4bb_b.jpg)
![v2-24bbefc4d9a52a1609ddbfb8a6affb89_b.jpg](https://ss.csdn.net/p?https://pic2.zhimg.com/v2-24bbefc4d9a52a1609ddbfb8a6affb89_b.jpg)
![v2-5eec8e119c62ec1ce6aa2665e0f30bd7_b.jpg](https://ss.csdn.net/p?https://pic4.zhimg.com/v2-5eec8e119c62ec1ce6aa2665e0f30bd7_b.jpg)
![v2-dc280a29b2c73f9676fcf79edd575262_b.jpg](https://ss.csdn.net/p?https://pic3.zhimg.com/v2-dc280a29b2c73f9676fcf79edd575262_b.jpg)
限于平台篇幅原因,更多内容展示不了
最后
这里和大家说几个这段时间的总结的一些经验:
- 持续学习:很多人都听说过这个行业在内卷吧,应对内卷最好的办法就是持续学习,其他人都在进步,你不进步就等于在退步!
- 扩宽人脉:在这个行业的时候有人脉就等于有很多的内推,就算你哪天说不想在这个行业干,也可以看看其他人在做什么,有没有好的工作等等,人脉真的很重要!
- 系统性的学习:学习时先搭建起框架,再填充框架,这样的学习效率会高很多,如果是零碎的学习,最后你可能很多地方联系不到一起,这叫知识碎片化,学习效率,知识的吸收率都会低很多
- 大厂没那么可怕:大厂的面试问的确实会深很多,但不是漫无目的的深入来为难你,而是为了了解你的技术栈
- 要薪资时别怂:学这么多技术不就是为了拿到更多的薪资吗?只要你有实力,你就可以往上要
- 想说的话很多,最后总结下来就一句话:技术才是你的立身之本!