01 请分享一段你最近半年内主动学习AI工具或大模型相关技术,并尝试落地到实际开发场景的真实经历。包括你做了什么,最终落地效果如何。考察候选人是否在近期主动学习AI/大模型技术,并具备将技术落地到实际开发场景的能力,同时评估其学习动机、实践深度和结果量化意识。 查看学习思路
05 两个线程同时调用同一个 ArrayList 的 add 方法,各循环 100 万次会出现什么问题?考察对非线程安全集合在并发场景下具体故障现象的理解,包括元素覆盖、数组越界、null 元素等。 查看学习思路
06 MySQL 的 InnoDB 引擎为什么选择 B+ 树作为索引的底层数据结构,而不是 B 树?考察对 B+ 树和 B 树差异的理解,以及 InnoDB 索引设计如何减少磁盘 I/O、支持范围查询。 查看学习思路
09 HashMap是线程安全的吗?ConcurrentHashMap在JDK8中是如何实现线程安全的?追问:1)ConcurrentHashMap在put元素时,如果定位到的数组槽位是空的,他是用什么方式保证线程安全写入的?2)当数组槽位已经存在元素发生hash冲突时,synchronized锁的对象是什么?考察对HashMap线程安全问题的认识,以及ConcurrentHashMap在JDK8中的并发控制机制,特别是CAS和synchronized的应用细节。 查看学习思路
10 Redis的键过期删除机制是什么样的?如果只使用定期删除策略会有什么问题?追问:1)Redis默认采用的哪几种过期删除策略来处理过期删除键的?2)Redis执行定期删除时,具体是怎么扫描过期键,避免过期键长时间阻塞主线程?考察对Redis过期键删除机制的理解,包括惰性删除、定期删除的配合,以及定期删除的扫描算法和性能考量。 查看学习思路
11 TCP和UDP核心区别和适用场景。追问:在直播场景下使用UDP,可能出现连续UDP丢失造成长时间花屏,这种情况为什么不直接选择TCP?考察对TCP和UDP协议特性的理解,以及在实际场景(如直播)中的技术选型权衡。 查看学习思路