一面(基础面:约1个小时)
- 自我介绍,主要讲讲做了什么和擅长什么
- springmvc和spring-boot区别
- @Autowired的实现原理
- Bean的默认作用范围是什么?其他的作用范围?
- 索引是什么概念有什么作用?MySQL里主要有哪些索引结构?哈希索引和B+树索引比较?
- Java线程池的原理?线程池有哪些?线程池工厂有哪些线程池类型,及其线程池参数是什么?
- hashmap原理,处理哈希冲突用的哪种方法?
- 还知道什么处理哈希冲突的方法?
- Java GC机制?GC Roots有哪些?
- Java怎么进行垃圾回收的?什么对象会进老年代?垃圾回收算法有哪些?为什么新生代使用复制算法?
- HashMap的时间复杂度?HashMap中Hash冲突是怎么解决的?链表的上一级结构是什么?Java8中的HashMap有什么变化?红黑树需要比较大小才能进行插入,是依据什么进行比较的?其他Hash冲突解决方式?
- hash和B+树的区别?分别应用于什么场景?哪个比较好?
- 项目里有个数据安全的,aes和md5的区别?详细点
二面(问数据库较多:约五1个小时)
- 自我介绍
- 为什么MyISAM查询性能好?
- 事务特性(acid)
- 隔离级别
- SQL慢查询的常见优化步骤?
- 说下乐观锁,悲观锁(select for update),并写出sql实现
- TCP协议的三次握手和四次挥手过程?
- 用到过哪些rpc框架
- 数据库连接池怎么实现
- Java web过滤器的生命周期
三面(综合面,约五十分钟)
- 自我介绍。
- ConcurrentHashMap 在Java7和Java8中的区别?为什么Java8并发效率更好?什么情况下用HashMap,什么情况用ConcurrentHashMap?
- 加锁有什么机制?
- ThreadLocal?应用场景?
- 数据库水平切分,垂直切分的设计思路和切分顺序
- Redis如何解决key冲突
- soa和微服务的区别?
- 单机系统演变为分布式系统,会涉及到哪些技术的调整?请从前面负载到后端详细描述。
- 设计一个秒杀系统?
四面:(HR面)
1.你自己最大优势和劣势是什么
2.平时遇见过什么样的挑战,怎么去克服的
3.工作中遇见了技术解决不了的问题,你的应对思路?
4.你的兴趣爱好?
5.未来的职业规划是什么?