度小满123面 Java
9.4 第一批的面试 非核心部门
没有录音 可能记的不是很全
一面(40min)
- Spring如何解决循环依赖
- 算法题:接雨水(直接最优解)
- JVM内存布局、GC算法
- MySQL为什么用b+树
- MySQL索引失效的情况
- hashmap和ConcurrentHashMap的实现
- HTTPS建立连接流程
- 常用的linux命令有哪些
- 设计模式有哪些(单例、策略、责任链、工厂),手写个静态代理模式(忘记了。。)
- explain是如何执行的
- 场景题:有大量并发写的情况,写入后不用立即读,如何优化数据库?(分库分表、雪花算法自增id、kafka先存储,后面再同步到数据库中;面试官说还有更好的)
- Spring事务传播机制
- @Transaction注解原理
- 写个线程死锁demo
- 实现主线程等待其他子线程结束,countdownlatch
二面(30min)
- 项目相关,讲了MySQL的BNL和BKA如何优化join等等
- 详细描述Java间的线程状态的转移
- 输入URL到显示网页的过程;服务器从接受到请求到交付给应用服务器的过程;应用服务器的处理过程(Spring MVC处理过程)
场景题:往一个Timer加入Event(id、timestamp),通过insert插入新event,delete删除某个event,pop弹出超时的event。如何设计数据结构,使得时间复杂度最低。(答了堆+Map)
三面(20min)技术经理
- 实习项目
- 期望工作城市?
- 高考成绩那门课最高分?数学和英语对程序员重要吗?
- 讲讲TCP拥塞控制?对哪些课程最感兴趣?
- 职业规划?
总的来说度小满的面试体验还是不错的,效率挺高,面试官不会去为难你,也不会板着脸。也是第一家给我发意向的公司~