4399|Java后端开发工程师|一面

投递时间线:10.14 简历投递 10.16笔试 10.25一面

java

  1. 如何查询死锁。(答了jvisualVM线程dump查看 ,面试官追问有没有相关的包,类)。

jvm

  1. jvm调优步骤,举两种情况。
  2. 垃圾回收器选择,CMS原理。
  3. jvm内存模型,各部分作用。
  4. 类加载过程,几种类加载器介绍。

mysql

  1. 死锁解决(三种)。
  2. 为什么不给每一列创建索引。(增加创建和修改资源消耗、有些列不适用索引)
  3. innodb为什么使用b+树,什么时候使用hash(自适应哈希索引)。
  4. 对于几亿行的表如何迁移备份。(答了停机迁移和双写方案)追问具体步骤,以及备份每一行的操作。
  5. mysql分表方式,订单表是该用水平分还是垂直分。水分平分表的优劣,水平分表后如何连表(做标记)。

并发

  1. 线程池作用和参数,阻塞队列的作用。为什么是先添加队列而不是先创建最大线程。

spring

  1. spring单例是否存在并发安全问题,如何解决。

中间件

  1. 项目中如何用的kafka。
  2. redis如何保证缓存一致性。

操作系统

  1. 死锁的条件,如何避免死锁。
  2. 多个线程请求同一个资源有哪些分配方式。

情景题

  1. 如何提升项目访问性能。 (jvm调优,加缓存,索引)
  2. 如何统计几亿用户的每日在线时间,不让存db,考虑用户客户端崩溃等各种情况。

总结:八股答得磕磕绊绊, 情景题完全没思路,面完就感觉凉了。面试官比较喜欢抠细节,会一直追问,是一次有价值的面试经历。

#24届软开秋招面试经验大赏#
全部评论
有点恶心啊
点赞
送花
回复
分享
发布于 2023-10-26 22:30 黑龙江

相关推荐

9 37 评论
分享
牛客网
牛客企业服务