1. 引言
今年都说是程序员的寒冬,面试相对于以前都难了许多,不过刚好最近刚好群里有学员面试百度成功,拿到了offer,就稍微的聊了一下,并总结了一下他关于面试的一些心得,以及题目,分享给大家,希望能对大家有些帮助。
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年的经验。这个时候就需要更加巩固自己的职业技能,这里我总结了一些面试的资料,点击此处领取
十万字面经
目录
笔记内容
基础篇
JVM篇
多线程&并发篇
Spring篇
MyBatis篇
SpringBoot篇
MySQL篇
Dubbo篇
Nginx篇
MQ篇
数据结构与算法篇
Linux篇
Zookeeper篇
Redis篇
分布式篇
网络篇
设计模式
maven篇
ElasticSearch篇
tomcat篇
Git篇
软实力篇
面试突击手册
目录
部分内容展示
限于平台篇幅原因,更多内容展示不了,点击此处领取
最后
这里和大家说几个这段时间的总结的一些经验:
-
持续学习:很多人都听说过这个行业在内卷吧,应对内卷最好的办法就是持续学习,其他人都在进步,你不进步就等于在退步!
-
扩宽人脉:在这个行业的时候有人脉就等于有很多的内推,就算你哪天说不想在这个行业干,也可以看看其他人在做什么,有没有好的工作等等,人脉真的很重要!
-
系统性的学习:学习时先搭建起框架,再填充框架,这样的学习效率会高很多,如果是零碎的学习,最后你可能很多地方联系不到一起,这叫知识碎片化,学习效率,知识的吸收率都会低很多
-
大厂没那么可怕:大厂的面试问的确实会深很多,但不是漫无目的的深入来为难你,而是为了了解你的技术栈
-
要薪资时别怂:学这么多技术不就是为了拿到更多的薪资吗?只要你有实力,你就可以往上要
-
想说的话很多,最后总结下来就一句话:技术才是你的立身之本!