后端岗位面试题更新 2026-08-05

请解释同步与异步、阻塞与非阻塞这两组概念的区别,并说明它们各自的应用场景和相互之间的联系。

后端开发技术原理

考察说明

考查对并发编程中常见概念的理解,能否清晰区分同步/异步与阻塞/非阻塞,并说明其应用。

回答思路

  1. 【回答框架 1】同步指调用方发起调用后,必须等待结果返回才继续执行;异步指调用方发起调用后立即返回,结果通过回调、事件或状态通知获取。
  2. 【回答框架 2】阻塞指调用方在等待结果过程中,当前线程被挂起,无法执行其他任务;非阻塞指调用方在等待过程中先返回,可继续执行其他任务,稍后再查询结果。
  3. 【回答框架 3】同步与阻塞常同时出现,但异步不一定非阻塞,也可能通过轮询方式实现同步等待结果;同步阻塞是最常见的组合,适用于逻辑简单、要求立即结果的场景。
  4. 【回答框架 4】异步非阻塞用于高并发、I/O密集型场景,可提高资源利用率,如网络请求、文件I/O;同步阻塞实现简单但线程利用率低,在高并发下可能成为瓶颈。
  5. 【关键点 1】同步等待结果,异步不等待结果。
  6. 【关键点 2】阻塞挂起线程,非阻塞不挂起线程。
  7. 【关键点 3】两对概念独立,可组合出四种模式。
  8. 【关键点 4】异步非阻塞在高并发下提升性能,但增加编码复杂度。
  9. 【易错点 1】误将异步等同于非阻塞。
  10. 【易错点 2】忽略同步可能非阻塞的实现,如轮询。
  11. 【易错点 3】认为所有场景都适合异步非阻塞,实际需考虑CPU密集任务。