大华嵌入式Linux二面面经

一、面试流程

  • 形式:线上视频
  • 时长:约 1 小时
  • 面试官:一位部门负责人,技术背景深厚
  • 氛围:交流感强,但节奏快,很多问题会追问到底

二、面试问题回顾

1. C/C++ 与系统基础

  • C 内存管理:mallocmmap 的区别?什么时候会用 mmap
  • C++ 虚函数表:对象模型是怎样的?虚继承和普通继承在内存布局上的区别?
  • 常见 Bug 追问:野指针、内存泄漏在嵌入式 Linux 环境下如何排查?

2. Linux 内核与驱动

  • 内核调试:你用过哪些调试手段(printkftracegdbperf)?分别适用于什么场景?
  • 中断底半部:taskletworkqueue 的区别,驱动里实际用过哪个?为什么?
  • 内核与用户态通信:除了 ioctl,还了解哪些机制(mmapnetlink 等)?实际用过哪些?
  • 电源管理:嵌入式系统里,如何实现低功耗模式?驱动层面需要配合哪些操作?

3. Linux 系统编程

  • 进程间通信:共享内存 + 信号量socket 的优缺点?
  • epoll:边缘触发和水平触发有什么区别?在实际网络编程中怎么避免丢事件?
  • 信号机制:实时信号和普通信号的区别?如何保证信号不丢失?

4. 网络与协议

  • TCP 拥塞控制:慢启动和拥塞避免过程?
  • TCP 四次挥手:如果客户端突然掉电会发生什么?服务端如何处理?
  • 嵌入式场景下优化:如果设备资源有限,如何减少 TCP 连接的开销?

5. 项目深挖

面试官更关注项目中的真实问题:

  • 驱动开发:你写的驱动是如何和应用层交互的?能否画出完整调用链?
  • 调试经验:有没有遇到过内核 panic 或卡死的情况?你是怎么定位的?
  • 性能优化:在资源受限的嵌入式平台上,你具体做过哪些内存或 CPU 优化?举例说明。
  • 跨模块合作:当应用层和驱动层出现接口不匹配时,你是怎么协调解决的?

三、面试官风格

  • 更注重 综合能力,不仅考察基础,还会结合场景问你该如何取舍。
  • 对项目追问更细,尤其关注你在团队中的 真实贡献,而不是泛泛而谈。
  • 有些问题明显是考察思维过程,即便答得不完整,也要有清晰的思路。

四、我的收获与建议

  • 系统性准备:二面更偏“横向广度 + 项目纵向深度”,要能把基础知识和实际场景结合起来讲。
  • 项目要细讲:不仅要说清自己做了什么,还要能画出数据流、调用链,甚至是优化前后的对比。
  • 驱动与系统编程要并重:字符设备驱动要熟,系统调用、内存通信机制也要清楚。
  • 网络协议要透彻:不只是 TCP/UDP,还可能涉及拥塞控制、异常情况处理。

全网最全面的嵌入式八股文专栏:https://www.nowcoder.com/creation/manager/columnDetail/mPZ4kk

五、总结

大华的二面比一面更综合,考察的不只是技术细节,还包括系统思维、项目经验和实际解决问题的能力。难度中等偏上,但整体体验不错。

建议准备大华面试的同学:

  • 一定要把自己项目中的 难点与解决方案 提炼出来,
  • 对 Linux 驱动、系统编程、网络协议要有全面掌握,
  • 面试中思路清晰,能和面试官形成有效交流,会加分不少。
#发面经攒人品#
全部评论
面试官:来,画一下虚函数表内存布局;我:卒
点赞 回复 分享
发布于 昨天 11:49 安徽
全网最全嵌入式八股?收藏了慢慢啃!
点赞 回复 分享
发布于 昨天 11:49 安徽

相关推荐

评论
1
12
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务