真实采访:一个刚拿到百度offer的程序员面试过程分享

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年的经验。这个时候就需要更加巩固自己的职业技能,这里我总结了一些面试的资料,大家也可以加我的个人微信来领取哦
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Lubanjava/article/details/96485015