前言
朋友拿到了百度Java岗的offer,却陷入了纠结,原来他拿到2个公司的offer,他不知道是去钱多的还是去稳定的。
有的人还在找工作,有的人已经在选择工作了,为了安慰我被扎到的心,朋友给我总结了他面试百度遇到的面试题和他的复习资料,这里分享给大家,希望能帮助到准备面试的小伙伴们。
百度一面:
讲讲项目中的爬虫和优化怎么做的,为什么选用jsoup而没有用python的urllib
说说你了解的反爬虫措施,和针对异常的处理。
做一个网站要从哪些方面考虑反爬虫。
项目中怎么实现的充值,锁的机制和事务注解,如何保证了事务的一致性。
spring层面做事务和数据库层面做的区别,各自实现方式。
聊了事务的传播性和隔离级别,mysql的默认隔离级别(可重复读)
spring中事务传播性怎么配置(xml方式和注解方式,还有关于savepoint的使用)
算法:O(1)删除执行链表结点,做分析(其实是要指出剑指offer中那个直接copy值的方法的缺陷和隐患)
算法:二叉树的最长距离(递归的思想)
百度二面
聊项目
说说spring的IOC和AOP思想
关于AOP在spring的应用(比如事务,通知,aspectJ,slf4j的原理,和log4j的对比)
关于jdk代理和cglib第三方代理(说出对接口代理和子类继承的区别)
用的什么数据库
最大的数据量多大,用了索引没有,怎么用的
为什么索引不能随便用,什么时候用(什么时候失效,什么时候最高效)。
如何达到索引开销和性能的平衡,用了一个表去举例。(方法就是,根据情境看经常做的查询是哪些,然后依次是什么查询条件,保证最高效索引的同时,也保证索引不失效,避免无效开销,并且根据show profile和explain功能进行对比分析)
数据库用了缓存没有,讲讲redis的理解(用作缓存,队列,也可做存储)。
redis是单线程还是多线程的,举个例子(做计数器,rank排行榜)
讲讲hbase的原理,CloumnFamily包含哪些,region什么情况做分割,对于版本号这个第四维度的使用方式(一般默认三个版本)等等
经理面 综合面
聊家庭,家乡,工作意愿,爱好等等
讲讲项目的设计,包括异常的处理,数据库设计,通信模型的设计。
讲讲你理解的JVM吧(重点知识)
总结
这位朋友的复习资料太多了,因为文章篇幅有限,所以这位小伙伴的复习资料,小编放在这下面了。
有需要的朋友可以看下面的免费领取方式!
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
领资料点这里暗号CSDN
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
领资料点这里暗号CSDN
最后感谢大家的支持,希望小编整理的资料能够帮助到大家!也祝愿大家都能够升职加薪!