百度后端一面面经
八股
创建线程有几种方法?继承 `Thread` 类时,`run()` 和 `start()` 有啥区别?
线程池的参数是啥?有哪些拒绝策略?如果线程和队列都满了,新任务来了咋办?如果不想处理这个新任务呢?
讲讲类的加载?啥是双亲委派?有啥好处?
双亲委派机制下,一个类只加载一次吗?你确定?
Bean 的生命周期是怎样的?讲详细点。
如果想在创建 Bean 的时候做点个性化修改,该咋办?
听说过 `BeanPostProcessor` 吗?
`FactoryBean` 和 `BeanFactory` 有啥区别?哪个是容器?
怎么查找 Java 进程?知道 JDK 自带的方法吗?
了解 GC 吗?常用的是哪种?自己做过内存调优吗?
了解 `volatile` 吗?有啥用?怎么实现的?
啥是线程安全?怎么保证?(除了集合、sync、lock 之外)
`synchronized` 和 `Lock` 有啥区别?哪个公平,哪个非公平?想锁住一个方法用哪个?
啥是原子类?怎么创建?怎么实现的?
用过 MyBatis 吗?`#` 和 `$` 有啥区别?为啥有了 `#` 还要 `$`?
了解 AOP 吗?怎么实现的?CGLIB 和 JDK 动态代理有啥区别?CGLIB 具体是怎么做的?
百度的八股贼难,上面还只是能想起来的
手撕
链表排序。本来想暴力,面试官说想看代码能力,我就用归并写了,结果没调出来。