凭借这份面试宝典,我成功拿下了百度Java研发工程师的offer
走的百度官网的提前批,面试流程整体感觉很棒,二面问的问题都是结合场景回答,很厉害的面试官,三面主管面属于技术面,HR面完就加微信了。HR也联系要了身份证号,后面也顺顺利利的拿到了Java研发工程师的offer。下面先分享一下我的百度三轮技术面+HR面的面经,最后在文末分享一下我的面试宝典。
一面(一个半小时)
- 自我介绍+说项目难点,遇到的最大的问题,怎么解决的?
- 输入www.baidu.com的全过程
- 无界阻塞队列和有界阻塞队列区别 fixedThreadPool用无界队列有什么不好
- 自己实现服务端时,怎么处理响应 ServletRequest和ServletResponse
- HashMap 底层数据结构,HashMap和HashTable的区别
- 有哪些异常 怎么处理 自己定义过异常吗
- 类加载器,抽象类和接口的区别
- 违背双亲委派模型的例子 Tomcat
- OOM遇到过吗 原因 解决方案 你遇到过哪些
- 线程池怎么创建 几种线程池介绍一下
- 从浏览器传入到Tomcat处理全过程
- SpringMVC全过程
- 堆内存介绍 两个survivor频繁切换会进入老年代吗?设置阈值的参数是啥?
- Redis管道,Redis分布式锁的实现
- Redis文件持久化 会影响主进程吗?
- MySql索引怎么实现?MySql隔离级别 怎么实现可重复读的?
- 为啥用B+树范围查询比较好?
- 1w个数据无序的 怎么找出前1000个最大的 有序的呢
- 算法:两个栈实现队列
- 算法:找二叉搜索树的第k小
- 算法:X的n次幂怎么实现
- 算法:6个或8个苹果装一个袋子,最少袋子数量 DP背包问题
二面(一小时)
- synchronized底层原理 在哪有应用
- 场景:银行转账 synchronized怎么实现 在哪里加锁 A和B同时互转呢 一定要同时
- wait方法 notify方法
- 线程池
- Spring 事务传播机制 基于什么实现
- 场景:事务a里调用事务b,b方法是私有的,怎么做
- Spring AOP简单说一下
- mysql联合索引,有ab两索引,a=1 order by b能做么(还有几个sql语句的场景让说索引)
- 泛型,有个list extend 数字,list可以add吗
- 场景设计:客户信息 手机号联系方式可以有1~n个,一个人可以有多个号码,新来一个客户判断是否在数据库里,比如另一个同名的人有2个号码,全部包含在第一个人里就算在,否则不算。数据库存很多个数据,怎么设计
- 设计模式 说五个以及项目里用到的
- zookeeper应用场景
- 负载均衡 Nginx七层负载均衡、DNS怎么做负载
- 缓存和数据库的一致性怎么保证
- 服务器压力一样,连接过来怎么保证负载均衡,用zookeeper
- 算法:归并排序
- 算法:设计一个重试执行器
- 谈项目……
三面(一小时)
- 自我介绍
- Linux命令awk sed
- 位运算 取模用哪个
- TCP UDP HTTP 浏览器输入网址之后的流程
- 知道哪些架构 随便说一些
- 讲一下微服务SOA DDD
- CAP原理
- 说下对分布式的理解
- 做过哪些大型的工程类的项目
- 做项目的过程给你带来的收获,最重要的一点
hr面(30分钟)
- 自我介绍
- 个人优缺点 多说几点
- 对未来职业发展方向的规划和想法 矛盾
- 为什么想到从事技术类开发和测试,你觉得区别在哪,有考虑未来产品运营等非技术类岗吗
- 学习过程中遇到的一些问题如何解决的
- 做什么事情会让你最有成就感,最近什么事让你有挫败感
- 对外界对百度的评价有什么看法,如果你之后入职百度了你会有什么想法
- 对百度什么方向的研发感兴趣 偏商业化的还是偏用户的
- 用过哪些百度app 有什么感受和建议
- 你有什么要问我的?
总结
我的百度四轮面经就是这样,希望你看完后能有所收获。文章开头的时候说会在文末分享一下我的面试宝典,但由于篇幅有限,这边就只截了一部分图展示如下,需要我这份面试宝典(含解析答案)的朋友可以添加VX【MXM9809】免费领取哦~
(1)Java部分
(2)算法部分
(3)数据库
(4)框架
(5)Redis