后端工程师面试题含答案.docxVIP

  • 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

文档评论(0)

1亿VIP精品文档

相关文档