【广立微】Java 后端面经
2024年9月03日 一面
- 挖掘项目 15min
- 线程池的参数有哪些?拒绝策略有哪些?
- 线程工厂用过吗,主要用来干什么(举了线程重命名的例子)
- 追问:那线程重命名有什么作用(回答查日志的时候更清晰)
- 一个父任务下有很多子任务,如果把父任务和小任务都放在同一个线程池里执行,这样做有什么问题。(❌没答上来,极端情况下可能有问题:比如有大量的父任务占据线程池,这时子任务就没法获得线程资源,而父任务又在等待子任务执行完毕才能释放线程资源,会造成循环等待)
- ThreadLocal 作用(结合电子书项目讲了讲)
- 使用 TheadLocal 有没有需要注意的点(回答了 ThreadLocal Key 的弱引用)
- 线程池的子任务能不能拿到父任务的 ThreadLocal(不能)?如果想拿到该怎么办(❌没回答出来)
- 堆是怎么划分的(结合分代垃圾回收的分代讲了讲)
- 为什么年轻代的比例是 8:1:1(1:1是因为 from 和 to 区使用的是“标记-复制”算法,8:1没回答出来❌,面试官说大部分对象都在第一次 gc 就被回收了,不会存活到 from 和 to,所以这两个区占比小)
- g1 和 CMS 的区别(回答了 g1 的区域划分)
- 追问:g1 能管理的内存范围(❌没回答出来)
- 双亲委派机制能解决什么问题?你在重写类的时候,jvm 怎么识别应该生效的是你写的类,而不是框架中的类(❌没回答出来,面试官叫我看一下 Tomcat 的加载原理了解一下)
- MySQL 建了(a, b, c)的联合索引,如果用 where 条件里有 b 和 c,这时候会走索引吗
- 什么是覆盖索引?
- 什么情况下会导致慢 sql,有什么方法能够优化慢 sql
- 使用 LoadingCache、CaffeineCache 这种本地缓存的时候有什么要注意的地方
- Spring 如何使用三级缓存解决循环依赖问题
- 使用雪花算法有什么注意点(说了使用数值类型返回 id 给前端的情况下,因为 js 的 number 最多只有 53 位,如果 id 很大前端会溢出,所以要使用 String 返回)
- JWT 是什么?
- Cookie 和 Session 怎么建立联系(❌没回答出来)
- 你觉得你个人的最大亮点是什么(实习的时候,leader 说我业务闭环能力比较突出) 反问
- 业务是什么(存储海量数据,进行大数据计算)
- 有什么建议(整体都挺好的,基础都还可以,沟通表达也不错) 一到两周会反馈结果
一面已过,已约二面
2024年9月12日 二面挂
2024年9月23日已挂,可能是 HR 问题回答的不好。18号发微信问结果,19号才回说20号下班前给反馈,但是20号并没有给反馈。23号又问了一次也没回消息,还是从其他渠道知道被挂的。
做 ppt 讲个人介绍和项目
技术问题
- 讲ppt 15分钟,然后问了问项目
- 正则表达式
- 时间复杂度为 nlogn 的排序算法(快排、归并、堆排序)
- 追问:堆排序的过程 (❌)
- 有很多数,如何求中位数(❌)
- 讲一讲类加载器
- ArrayList 和 LinkedList 的区别
- 追问:哪个占空间比较多
非技术问题
- 考研二战问题
- 研究生方向是什么,有没有达到毕业要求
- 如果有紧急任务,可能需要组里加班半个月,怎么办
- 能接受出差吗,可能需要连续出差几个周,或者有可能几个月都不出差
- 还考虑在互联网行业工作吗
Aragorn的25秋招面经 文章被收录于专栏
记录自己的面经