2026年嵌入式 Linux 面试基础100题(附标准答案)
使用说明
这份文档整理了嵌入式 Linux 面试高频题,覆盖 Linux 基础、内存、文件系统、驱动、网络、启动流程以及视频岗专项题目,适合 3~5 年经验工程师复习。
第一部分:Linux基础(1~20题)
1. Linux 中进程和线程区别?
进程是资源分配单位,线程是 CPU 调度单位。进程拥有独立地址空间;线程共享进程资源,但有独立栈和寄存器上下文。
2. fork 和 pthread_create 区别?
fork 创建进程;pthread_create 创建线程。
3. 为什么 fork 很快?
因为 Linux 使用写时复制(COW),fork 时不立即复制内存,写入时才复制。
4. 什么是僵尸进程?
子进程退出后父进程未 wait 回收,PCB (进程控制块)仍保留。
5. 什么是孤儿进程?
父进程先退出,子进程被 init/systemd 接管。
6. ps aux 中 STAT 的 Z 是什么?
Zombie,僵尸进程。
7. 什么是系统调用?
用户态进入内核态执行服务的接口,如 open/read/write/ioctl。
8. 系统调用为什么慢?
因为涉及用户态与内核态切换。
9. 用户态和内核态区别?
用户态权限低;内核态权限高,可访问硬件资源。
10. top 中 load average 是什么?
系统平均可运行任务数(1/5/15分钟)。
11. load 高一定 CPU 高吗?
不一定,也可能是 IO 阻塞或锁等待。
12. D 状态进程是什么?
不可中断睡眠,通常等待 IO。
13. kill -9 和 kill -15 区别?
-15 正常终止;-9 强制杀死。
14. nice 值作用?
调整调度优先级。
15. 什么是上下文切换?
CPU 在任务间切换并保存恢复现场。
16. 查看线程命令?
ps -eLf / top -H
17. 查看进程打开文件?
lsof
18. 如何后台运行程序?
./app &
19. nohup 有什么作用?
终端退出后程序继续运行。
20. Linux 第一个用户进程是谁?
通常是 /sbin/init 或 systemd。
第二部分:内存专题(21~40题)
21. 什么是虚拟内存?
进程使用虚拟地址,由 MMU 映射到物理地址。
22. 两个进程能访问同一虚拟地址吗?
能,但通常映射不同物理页。
23. 什么是页?
内存管理基本单位,常见 4KB。
24. 什么是缺页中断?
访问未映射页面时触发异常,由内核补页。
25. malloc 一定立刻占物理内存吗?
不一定,访问页面时才分配。
26. free 后内存一定还给系统吗?
不一定,可能先回到内存池。
27. 什么是内存泄漏?
申请后未释放,长期累积。
28. 如何查内存泄漏?
valgrind、ASan、监控 RSS。
29. 什么是 mmap?
把文件/设备映射到进程地址空间。
30. mmap 为什么快?
减少数据拷贝。
31. malloc 和 mmap 区别?
小块常走 heap,大块常直接 mmap。
32. 什么是 swap?
内存不足时把页换到磁盘。
33. 嵌入式为何常禁用 swap?
Flash 寿命、性能和实时
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
该笔记涵盖嵌入式软件工程师技术面试中的知识点,归纳总结为:C/C++、操作系统、计算机网络、数据结构与算法、linux常用命令等章节。

查看22道真题和解析