拓冰建站拓冰建站
首页 / 资讯中心 / 正文

后端面试必问:这10个知识点你掌握了吗

后端面试的战场远比前端残酷从网络协议到数据库内核从并发编程到分布式理论面试官总能找到你的知识盲区。我梳理了10个高频考点据说能答对8个的都是Offer收割机。来测测你的成色。一、TCP三次握手和四次挥手三次握手是为了确认双方收发能力正常防止失效连接请求突然到达服务端建立无效连接。四次挥手是因为TCP全双工双方都需要单独关闭发送通道。面试官常追问为什么TIME_WAIT要等2MSL答案是确保最后一个ACK到达并让旧连接的数据包在网络中消散。二、HTTP和HTTPS的区别HTTPS在HTTP和TCP之间加了TLS/SSL层通过非对称加密协商出对称密钥再用对称加密传输数据。核心考点对称加密快但密钥分发不安全非对称加密安全但慢两者结合才是最优解。能说出证书验证流程的直接加分。三、数据库索引的底层结构MySQL的InnoDB用B树做索引。为什么不用B树因为B树非叶子节点只存键不存数据同样磁盘页能容纳更多键树更矮磁盘I/O更少。聚簇索引叶子节点存整行数据二级索引叶子节点存主键值回表就是拿主键再去聚簇索引查一次。四、事务的隔离级别读未提交、读已提交、可重复读、串行化。MySQL默认是可重复读通过MVCC实现。关键追问可重复读能解决幻读吗标准答案是“基本解决”但当前读场景下仍可能出现幻读需要间隙锁配合。五、Redis缓存穿透、击穿、雪崩穿透是查不存在的数据方案是布隆过滤器或缓存空值击穿是热点key过期瞬间大量请求打到DB方案是互斥锁或逻辑过期雪崩是大量key同时过期方案是过期时间加随机值。能区分三者并说出对应方案说明你有实战经验。六、消息队列的作用与选型解耦、异步、削峰填谷。Kafka吞吐量高适合日志和大数据场景RabbitMQ延迟低适合业务解耦RocketMQ兼顾两者且支持事务消息。面试官爱问如何保证消息不丢失答案是从生产者确认、Broker持久化、消费者手动ACK三方面入手。七、分布式锁的实现Redis用SETNX过期时间但需注意锁续期和误删问题Redisson的看门狗机制是标准答案。ZooKeeper用临时顺序节点天然支持公平锁。数据库唯一索引也能做锁但性能差。能说出RedLock争议的绝对是高手。八、JVM内存模型与GC堆分新生代和老年代新生代用复制算法老年代用标记-清除或标记-整理。CMS追求低停顿但有碎片G1按Region回收可预测停顿。面试必问什么对象进入老年代大对象、长期存活对象、动态年龄判定。九、线程池的核心参数核心线程数、最大线程数、空闲存活时间、工作队列、拒绝策略。执行流程核心线程满则入队队列满则扩到最大线程再满则触发拒绝策略。拒绝策略有四种抛异常、丢弃、丢弃最旧、调用者执行。能结合实际业务说参数设置的才算真懂。十、CAP理论与BASE一致性、可用性、分区容错性三者不可兼得分布式系统必须保P所以在C和A之间取舍。BASE是对CAP的妥协基本可用、软状态、最终一致。面试官想听的是你做过什么业务选了CP还是AP为什么。以上10题答对8个以上说明你的后端知识体系相当完整。答对5-7个基础不错但深度不够。低于5个建议对照查漏补缺。面试不是背八股而是通过问题展示你的思考方式。收藏这篇下次面试前过一遍祝你顺利拿下心仪Offer。
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门