#百度2021校招提前批# 百度提前批一面java,90分钟1 自我介绍(重点围绕项目)2 项目中用了springboot,说一下对他的理解,主要是启动和自动配置的源码问题,各种注解,aop mvc3 然后问,springboot相比spring有什么不同,我说少很多配置,然后问spring,mybatis也能用注解,为啥不用4 延伸问了aop,哪些实现方式,我说代理,有cglib和invocationhandler,说了源码,又说了不同和各自限制(后者的没答出来),代理,动静态5 一个电商项目的实现流程,从数据库设计 到mvc框架的大概设计流程,再到高并发问题,redis nginx rabbitmq 分布式都有问到6 说到了消息队列的削峰,问了秒杀问题的,最主要是多个服务器时怎么保持缓存中秒杀的物品量一致7 redis操作的事务性,一条事物是否支持回滚,能不能用这个解决第6个问题,如果不能,要加什么,引导下答出来了8 jvm内存布局各板块,我加了jdk1.6到1.8的区别9 垃圾回收算法怎么解决碎片问题,只针对复制清除的10 什么时候会有full GC(我只说了老年代快满的时候,不知道对不对,求大佬评论区指出)11 千万级别的大表怎么优化,杂七杂八说了一些,又问了一些索引问题,我给他计算了索引在两次io的情况下存储量12 数据库的隔离级别,各级别可能有哪些问题,默认是哪一个,怎么解决的幻读问题13 上面的级别,在spring对应的propogation哪些,怎么开启14 最后补充了线程问题,他突然问的,15 手写代码题①只用一行代码实现判断一个数x是不是2的幂级数(就是判断这样2 4 8 16 ....)我想的是hashmap的长度为啥是2的n次幂,就马上写出来了②计算二叉树的深度.很快用递归秒了,然后他问用别的方法说下思路,我就用广度搜索的方法说了最后面试结束,他说这两天会有通知结果,我问总共几轮,他说3轮技术。然后结束,全程1个半小时左右,嗓子都说哑了。不过说实话,面试官态度真的特别好!不会的点或者没想到的,他会引导,然后也没把一个知识点问到si,就是会发散着问,所有需要准备的面很广。许愿能有一个二面,非科班转行太难了,另外许愿明天招银hr面顺利,只求改个id,加油干!