在 Linux C++ 方向的面试中,通常会围绕 C++ 语言本身、Linux 系统编程、网络编程、多线程/并发、性能优化与调试、项目经验 几个大方向展开。下面按模块给你整理一份“常问清单”,适合准备社招/校招的 Linux C++ 开发岗。
C++ 内存模型
new/delete vs malloc/free指针与引用
shared_ptr / unique_ptr / weak_ptr)面向对象
std::move)STL
vector / map / unordered_map 实现原理emplace vs pushC++11/14/17 特性
std::thread、std::atomicconstexpr进程与线程
fork / exec / wait进程间通信(IPC)
文件与 IO
select / poll / epollsendfile / mmap)信号
TCP / UDP
Socket 编程
socket / bind / listen / acceptIO 模型
线程同步
原子操作
std::atomic线程池
性能工具
top / htop / vmstatperf / gprofvalgrind / AddressSanitizer优化思路
epoll 为什么比 select 高效?shared_ptr 是线程安全的吗?vector 扩容机制?TIME_WAIT 过多?如果你愿意,我可以:
你更想准备哪一块?