2026-05-01
五
一
劳动节特辑
一、计算机网络与域名解析
1. 从输入域名到页面完全加载,请列出所有涉及的网络协议及各自作用。
2.DNS解析过程中,递归查询和迭代查询的区别是什么?
3. 浏览器缓存、DNS缓存、操作系统缓存、CDN缓存在域名访问中分别起什么作用?
如果本地DNS服务器无缓存,如何逐级找到权威域名服务器?
二、HTTP / HTTPS 与 TLS
5. HTTPS的加密流程中,对称加密和非对称加密分别用在哪些环节?
6. TLS 1.2 和 TLS 1.3 的握手过程主要区别是什么?
7. 什么情况下会触发 TLS 重新握手? 8. 证书链中的中间证书缺失会导致什么问题?客户端如何解决?
三、高并发服务端架构设计(单机)
9. 单机百万并发连接下,epoll 相比 select/poll 的本质优势是什么?
10. 如何设计一个单机高并发 HTTP 服务的事件处理模型(Reactor/Proactor)?
11. 单机场景下,内存池、连接池、线程池分别解决哪类瓶颈问题?
12. 如何在不增加硬件的情况下应对瞬时流量突增(如秒杀)?
四、TCP 服务器实现
13. 实现 TCP server 时,listen 的 backlog 参数含义及合理设置依据是什么?
14. 如何处理 TCP 粘包和半包问题?列举两种常见解决方案。
15. 服务端出现大量 TIME_WAIT 状态的可能原因及危害。
16. TCP keepalive 与应用层心跳包各自适用场景。
五、进程与线程
17. 多线程共享地址空间,如何避免一个线程崩溃影响整个进程?
18. 用户态线程(协程)与内核态线程的调度区别。
19. 什么时候更适合使用多进程而不是多线程(除了稳定性考虑)?
20. 多进程模式下,如何实现类似线程局部存储(TLS)的数据隔离?
六、进程间通信与共享内存锁
21. 共享内存配合信号量(Semaphore)的典型使用流程。
22. 互斥锁在共享内存中需要设置什么属性才能跨进程使用?
23. 自旋锁与互斥锁在共享内存场景下的性能差异。
24. 无锁共享内存队列(如环形队列)如何实现多生产者多消费者?
七、面向对象与多态
25. C++ 中重载、重写(覆盖)、隐藏(重定义)的区别。
26. 基类析构函数为何通常要声明为虚函数?
27. 纯虚函数与抽象类的应用场景。
28. 虚函数表(vtable)在多重继承下如何布局?
八、大模型与 Prompt 工程
29. 什么是 few-shot、zero-shot、chain-of-thought prompting?
30. 如何设计一个结构化的 prompt 来稳定提取结构化输出(如 JSON)?
31. 针对 LLM 的 “harness prompt” 通常包含哪些组件(角色、指令、示例、约束)?
32. 如何评估 prompt 的鲁棒性(输入扰动下的输出稳定性)?
九、综合设计题(开放型)
33. 设计一个短网址服务,需考虑高并发写入、缓存策略、跳转性能,画出核心架构并说明各模块作用。
34. 如果让你从零实现一个极简的 Web 容器(类似 Tomcat 的基础部分),列出你需要实现的关键模块和顺序。
35. 现有单机服务存在频繁 Full GC,怀疑是内存泄漏,请给出从现象到定位的完整诊断步骤。