已解析题目
后端开发工程师相关题目
分布式系统中的一致性怎么保证?
这题考察一致性目标拆解、复制提交协议、读写路径取舍和故障后的收敛能力,不能只背 CAP 或只说加锁。
Java 的 GC 机制是怎样实现的?
这题考察对象存活判定、分代回收、GC 算法和收集器取舍,还会延伸到分配晋升、停顿和 GC 日志排查。
数据库事务是什么,ACID 分别代表什么?
这题考察事务边界、ACID 语义、日志恢复、隔离级别和业务不变量,重点是把概念落到数据库执行机制。
Redis 常见数据结构有哪些?
这题不只是列 Redis 类型,还要能按访问模式、底层编码、复杂度和大 key 风险说明为什么这样建模。
10G IP 文件、1G 内存,如何找出现最多的 Top10 IP?
这题考察海量数据精确 TopK 的分治思路、内存估算、全局正确性和数据倾斜处理。
图论算法具体有哪些?
这题考察图问题分类能力,要把问题类型、适用条件、图表示和复杂度一起说,而不是背算法名清单。
贪心算法和动态规划分别是什么?
这题考察候选人能否区分局部选择和状态枚举,关键是证明贪心安全性,并能写出 DP 的状态、转移、边界和遍历顺序。
业务中为什么要使用分布式锁?
这题考察分布式互斥的业务动机、锁粒度、正确实现条件和替代方案,重点是说明锁只能保护有限临界区。
Redis 分布式锁的单点故障怎么解决?
这题考察 Redis 锁在单点、异步复制和故障切换下的互斥风险,需要按安全等级给出方案,而不是只说上集群。
ZooKeeper 实现分布式锁的原理是什么?
这题考察临时顺序节点、前驱监听、会话语义和异常重试流程,重点是说明为什么相对公平且能避免惊群。
RocketMQ 和 Kafka 有什么区别?
这题考察消息队列选型,要从模型、存储复制、顺序语义、事务/延迟能力、消费重试和生态取舍比较,而不是简单说一个快一个稳。
消费者端幂等性如何实现?
这题考察至少一次投递下的消费安全,核心是用业务唯一键、可靠去重记录和状态机把重复消息变成无副作用。
Redis 持久化机制有哪些?
这题考察 RDB、AOF、混合持久化的恢复链路和可靠性取舍,还要区分持久化、复制和高可用解决的问题不同。
如何手写 LRU 缓存?
这题是典型手写实现题,关键是用 HashMap 加双向链表在 O(1) 完成查询、更新、移动和淘汰,并处理已有 key、容量边界和 map/list 同步。
线程安全的单例模式怎么写?
这题考察 Java 单例在并发下的安全发布、延迟初始化、重排序风险,以及枚举、静态内部类、DCL 各自的边界。
C++ 和 Java 的主要区别是什么?
考察语言对比是否能上升到运行时、内存资源、类型模型、性能控制、工程生态和适用场景,而不是停留在语法差异。