- 1
- 0
- 约5.78千字
- 约 16页
- 2026-03-03 发布于福建
- 举报
第PAGE页共NUMPAGES页
2026年后端工程师面试题含答案
一、编程基础与算法(共5题,每题10分,总分50分)
题1(Java基础:并发编程)
题目:
请解释Java中的`volatile`关键字的作用和原理,并说明它与`synchronized`的区别。假设有一个多线程场景,需要确保某个共享变量的原子性更新,你会选择`volatile`还是`synchronized`?为什么?
答案解析:
1.`volatile`关键字的原理和作用:
-可见性(Visibility):`volatile`保证变量修改后立即被其他线程看到。底层通过内存屏障(MemoryBarrier)实现,禁止指令重排,确保volatile变量的读写顺序。
-禁止指令重排(JIT优化):虚拟机会在volatile变量读写前后插入内存屏障,防止编译器或处理器优化导致变量更新顺序改变。
-非原子性(NoAtomicity):`volatile`仅保证单个读/写操作的原子性,不能保证复合操作(如`i++`)的原子性。
2.`volatile`与`synchronized`的区别:
-性能:`volatile`轻量级(仅修改内存屏障),`synchronized`重量级(锁机制+内存屏障),后者开销更大。
-作用范围:`volatile`仅保证变量可见性,`synchronized`保证方法或代码块的原子性、可见性、有序性。
-应用场景:
-`volatile`适用于读多写少、无复合操作的场景(如状态标记)。
-`synchronized`适用于写多、需要原子性操作的场景(如计数器)。
3.多线程原子性更新选择:
-若仅需要可见性(如标志位),选`volatile`。
-若需要复合操作原子性(如计数器),选`synchronized`或`AtomicInteger`。
题2(数据库:事务隔离级别)
题目:
MySQL默认事务隔离级别是`REPEATABLEREAD`,请解释其含义并说明可能出现的问题(如幻读)。若要避免幻读,应如何设置隔离级别?并简述`SERIALIZABLE`的优缺点。
答案解析:
1.`REPEATABLEREAD`含义:
-确保同一事务内多次读取相同记录结果一致(通过`MVCC`实现)。
-允许其他事务对未提交数据加`共享锁`,但会受`间隙锁`影响(导致幻读)。
2.问题:
-幻读(PhantomRead):同一事务内两次查询范围相同的记录,第二次可能多出未被删除的行(如另一事务插入新行)。
-示例:
sql
--事务A:开启读已提交
BEGIN;
SELECTFROMordersWHEREamount100;
--事务B:插入新行
INSERTINTOorders(amount)VALUES(150);
--事务A:再次查询
SELECTFROMordersWHEREamount100;
--结果可能多出事务B插入的行
3.避免幻读的设置:
-升级隔离级别至`SERIALIZABLE`或`READCOMMITTED`(需配合`WITHCONSISTENTSNAPSHOT`)。
-推荐`SERIALIZABLE`(全表锁,但无幻读)。
4.`SERIALIZABLE`优缺点:
-优点:完全隔离,无脏读、不可重复读、幻读。
-缺点:性能最低(全表锁),并发能力差。
题3(网络:HTTP/HTTPS)
题目:
HTTP和HTTPS的主要区别是什么?HTTPS如何解决HTTP的中间人攻击(Man-in-the-Middle)?若客户端访问HTTPS时证书无效,会有哪些后果?
答案解析:
1.HTTPvsHTTPS:
-加密:HTTP明文传输,HTTPS通过TLS/SSL加密。
-端口:HTTP默认80,HTTPS默认443。
-性能:HTTPS因加密计算开销更高(但硬件加速已缓解)。
-信任:HTTPS需CA证书验证,HTTP无。
2.HTTPS解决MITM:
-证书验证:客户端验证服务端证书是否由可信CA签发且未被篡改。
-对称密钥协商:通过公钥加密交换对称密钥,攻击者无法解密流量。
3.证书无效后果:
-浏览器警告:显示“证书错误”“不安全”等提示。
-行为:默认阻止连接(可手动忽略,但风险高)。
-场景:
-自签名证书:需客户端信任该根证书。
-过期/吊销证书:服务器拒绝连接。
题4(系统设计:分布式缓存)
题目:
请简述Redis和Memcached的区别,并说明在分布式缓存场景下如何解决缓存雪崩和缓存击穿问题?
答案解析:
1.Redisv
您可能关注的文档
最近下载
- 6.1《东北地区的地理位置与自然特征》导学案_ __2025-2026学年湘教版地理八年级下册.docx VIP
- 【地 理】第七章第一节 自然特征与农业课件-2025-2026学年人教版八年级下册地理.pptx VIP
- 6.1《东北地区的地理位置与自然特征》课件__2025-2026学年湘教版地理八年级下册.pptx VIP
- 浙人美版美术八年级上册《第一单元 上下五千年》大单元教学设计.docx VIP
- 以解题反思为翼,翱翔高中数学思维天空.docx VIP
- 基于思维可视化的高中数学解题教学研究.pdf
- 贵州省锦屏县八克金矿成矿流体地球化学的分析.pdf VIP
- 基于PLC的饮料灌装生产流水线控制系统的设计论文.docx VIP
- 6.1 东北地区的地理位置与自然环境八年级地理下册 集备课件(湘教版).pptx VIP
- 6.1+东北地区的地理位置与自然环境(课件)-2023-2024学年八年级地理下学期同步课件(湘教版).pptx VIP
原创力文档

文档评论(0)