百度提前批
一面
- 自我介绍
- 说说IO多路复用
- 你刚刚说的多路复用针对的是各个请求(比如set,get),那返回值Redis是怎么处理的(愣住)
- MySQL B+树一般几层,怎么算的
- 数据库隔离级别
- 脏读、不可重复读、幻读(结合具体场景来讲)
- MySQL隔离级别分别怎么实现的
- MVCC
- redo log、undo log
- 刷脏页的流程
- 算法题:平方根
反问:表现怎么样;百度用的技术栈主要是开源还是自研,有哪些;
二面
- 项目是从0开始搭建的,还是有用开源的脚手架
- 秒杀大概用到哪些东西,怎么实现的
- MQ幂等性和消息积压问题
- 缓存与数据库数据一致性
- 唯一ID
- Java里怎么保证多个线程的互斥性
- 一个线程有哪些状态
- AQS怎么理解的
- Spring IOC容器创建Bean的流程
- 创建的Bean是单例还是多例的
- SpringCloud config是怎么在Bean创建后更新Bean的值的(不了解)
- SpringBoot自动配置原理
- SpringMVC执行流程
- 使用Spring和直接使用Java语言面向对象开发,有哪些好处
- 怎么理解面向对象
- 了解哪些设计模式
- 策略模式描述一下
- JVM由哪些模块组成
- 框架里打破双亲委派机制的SPI大概怎么实现的(不了解)
- 那说说双亲委派(不了解类加载这块,求您别问了QAQ)
- 垃圾回收主要回收哪些区域
- 怎么识别哪些是垃圾
- 哪些是根节点(忘了)
- 什么时候会出现Full GC
- 不同垃圾收集器的区别
- TCP为什么要握三次手,为什么要挥四次手,大概什么流程
- 实现环形队列(数组,增加和删除功能)
- 反转链表(迭代)
- 平时怎么学习的
- 看过哪些书
- 看过哪些视频
