后端技术栈面试题:这20道答不上就悬了

📅 发布时间:2026/9/15 6:58:57
后端技术栈面试题:这20道答不上就悬了
后端面试有个残酷现实八股文背得再熟面试官换个问法就能试出深浅。下面这20道题覆盖Java基础、并发、JVM、数据库、缓存、消息队列、分布式和网络。不是让你死记答案而是检验你是否真正理解“为什么”。答不上来的可能不是不会而是没踩过坑。Java基础String为什么设计成不可变——考察不可变对象、字符串常量池、线程安全与哈希缓存。HashMap的扩容机制为什么容量是2的幂——考察哈希扰动、rehash、位运算优化。和equals的区别重写equals为什么要重写hashCode——考察对象相等性契约。并发编程synchronized锁升级过程偏向锁撤销为什么要STW——考察JVM自适应优化与安全点。volatile如何保证可见性和有序性为什么不保证原子性——考察JMM与内存屏障。线程池核心参数怎么设拒绝策略怎么选——考察CPU/IO密集型分析与压测验证。AQS为什么用CLH队列变体——考察自旋 vs 阻塞的权衡以及stateCAS设计。JVMJVM内存区域怎么划分堆和栈的区别——考察线程私有与共享、OOM场景。G1和CMS的区别什么场景用哪个——考察垃圾回收器演进与停顿目标。类加载过程双亲委派为什么被打破——考察加载、链接、初始化与SPI、热部署。数据库B树为什么适合做索引和B树、哈希索引的区别——考察磁盘IO、范围查询与页分裂。事务隔离级别MVCC如何实现可重复读——考察undo log、read view与幻读。慢SQL怎么优化explain看哪些字段——考察索引失效、回表、覆盖索引与执行计划。缓存Redis持久化RDB和AOF怎么选——考察数据安全与恢复速度的权衡。缓存穿透、击穿、雪崩的区别与解决方案——考察布隆过滤器、互斥锁、过期时间打散。Redis分布式锁怎么实现Redlock争议在哪——考察SETNX、续期、时钟漂移与一致性。消息队列Kafka为什么快零拷贝和顺序写怎么做到的——考察PageCache、sendfile、分区并行。如何保证消息不丢失幂等怎么设计——考察生产端acks、消费端手动提交、唯一ID去重。分布式与网络CAP怎么选BASE和分布式事务方案——考察TCC、Saga、本地消息表与最终一致。TCP三次握手为什么不是两次HTTPS握手过程——考察序列号同步、SYN Flood与证书验证。这20道题能流畅答出15道以上后端岗位基本稳了答不上10道建议先别急着投简历。但要注意面试官真正想听的不是标准答案而是你结合项目经验的思考。比如问线程池你能说出“我们线上核心数8队列用LinkedBlockingQueue拒绝策略CallerRuns压测后调整到12”比背公式强十倍。技术栈面试的真相是广度决定能不能进面深度决定能不能拿offer。把每道题背后的“为什么”搞清楚再找一个真实场景串起来你就超过了80%的候选人。