第一轮
- shiro的组件
- 分布式一致性算法
- zookeeper中哪些节点能参与投票
- netty零拷贝实现
- volatile,如何感知到变量变化的
- redis高可用
- http如何跨域?
- tcp如何长链接。
- http如何操作浏览器缓存。
- 用过消息队列吗?
- 怎么自己扩展validator
- jwt组成 header payload 签名加密算法那些。
- rsa如何运用到jwt中
- synchronized和volatile的区别
- 什么是上下文切换,URL解析过程
- http有那些方法,get那些
- 进程和线程的区别。
- 和别人协作出现冲突怎么办
- 如何学一个新语言
- 怎么自学的
第二轮
- 说说IO多路复用
- 你刚刚说的多路复用针对的是各个请求,那返回值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大概怎么实现的
- 那说说双亲委派
- 垃圾回收主要回收哪些区域
- 怎么识别哪些是垃圾
- 哪些是根节点
- 什么时候会出现Full GC
- 不同垃圾收集器的区别
- TCP为什么要握三次手,为什么要挥四次手,大概什么流程
- 实现环形队列
- 反转链表
第四轮
- 专业是偏向硬件吗
- 对百度了解多少
- 有什么兴趣爱好
- 经常打球吗
- 喜欢听什么音乐
- 经常听音乐吗,什么时候开始喜欢听音乐的
- 你说两个具体的歌名我听听
- 平时是怎样的一个人,有什么特点
- 有做过什么有成就感的事吗
- 后面选择百度的概率有多少
- 想过自己5年后、10年后是怎样的吗
第五轮
- 面试官介绍自己,然后自我介绍
- java中的线程池有哪些?为什么使用线程池?你在哪里使用过或是见过?
- Mysql底层是怎么实现的?从内存布局,磁盘布局说起?
- Mysql有哪些索引?B树和B+树的区别,分别解决了什么问题?
- try catch finally机制讲解一下?
- 为什么要使用SpringBoot做开发?与传统的开发有什么不一样的?
- 什么是微服务?微服务是如何实现服务的注册与发现的?
- java中的集合分类有哪些?知道Queue吗?她下面有哪些实现类?重点说说HashMap?
- 在集合中哪些集合类是线程安全的?
- 什么是数字签名,作用是什么?使用的是什么算法?
- 常见的网络攻击有哪些?
- 在表单提交的时候,容易发起什么样的攻击?
- 在进行服务调用的时候如何进行身份验证,如何防止网络攻击?
- 你见过哪些安全框架?具体怎么使用的?
- 两道算法题:1)普通的二分查找,问了其中的一些细节,二分查找存在的问题? 2)判断S1中是不是有S2的排列,找到返回true,否则返回false
- Cookie和session 的使用场景,他们之间的关系?