大华嵌入式Linux一面面经

前段时间面试了大华的嵌入式Linux岗位,记录一下我的一面经历,给后面同学一个参考。整体感觉面试官比较专业,偏技术深挖,问题覆盖面广,既有八股文也有项目细节追问。

一、面试流程

  • 形式:线上视频面试
  • 时长:约50分钟
  • 面试官:一位资深工程师

二、面试问题回顾

1. C语言与操作系统基础

  • 内存分区:进程的内存空间是怎么划分的?堆和栈的区别?
  • 指针相关:函数指针的应用场景?你写过哪些?
  • 进程与线程:区别是什么?Linux 下创建线程的方式?
  • 同步机制:Linux 下常见的进程/线程同步方法(互斥锁、信号量、条件变量等)。

2. Linux 系统编程

  • 文件操作:open/read/write 的返回值,错误处理方式。
  • IO 模型:阻塞IO、非阻塞IO、select/poll/epoll 的区别。
  • 信号机制:信号是如何传递的?如何避免信号丢失?
  • 内核空间与用户空间:如何在驱动中与应用层交互?

3. 驱动与硬件相关

  • 设备驱动分类:字符设备、块设备、网络设备的区别。
  • 中断机制:top half 和 bottom half 的作用?
  • 内核定时器:用过哪些?tasklet 和 workqueue 的区别?
  • 杂项设备驱动:为什么要用?常见使用场景?

4. 网络相关

  • TCP 与 UDP 的区别
  • 三次握手与四次挥手过程?为什么需要 TIME_WAIT?
  • Socket 编程:如何建立 TCP 连接?阻塞与非阻塞 socket 的区别?

5. 项目深挖

面试官重点问了我之前做的 嵌入式 Linux 平台上的驱动和应用开发项目

  • 你在项目中具体负责哪些模块?
  • 调试驱动时遇到过哪些 bug?怎么解决的?
  • 在内存紧张的嵌入式环境下,你做过哪些优化?

三、面试官风格

  • 不太注重背答案,更倾向于根据你简历里的项目去深挖。
  • 问到八股文时,会结合实际场景继续追问,比如问锁,就会追问在多线程 socket 中怎么用。
  • 总体氛围还不错,交流比较顺畅。

四、我的收获与建议

  1. 基础要扎实:C语言指针、内存管理这些一定要非常熟练。
  2. Linux 系统编程要掌握:文件 IO、进程通信、信号、线程同步。
  3. 驱动要有思路:至少要能把字符设备驱动从注册到 file_operations 接口讲清楚。
  4. 项目要能细讲:面试官会反复追问你的实际贡献,不要泛泛而谈。
  5. 网络协议要懂:TCP/UDP、握手挥手过程和 socket API 要清晰。

五、总结

大华的嵌入式Linux一面整体难度中等偏上,既要有扎实的C/Linux基础,也要能结合项目经验进行深入回答。准备面试时,建议多刷一些 Linux系统编程与驱动开发的题目,并且整理好自己项目中的关键点和难点。

希望这篇面经能帮到正在准备大华面试的同学们!

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

#发面经攒人品#
全部评论
有消息了吗
点赞 回复 分享
发布于 09-05 21:21 黑龙江
这个用来背八股不错
点赞 回复 分享
发布于 09-04 17:39 上海
挺有用的
点赞 回复 分享
发布于 09-04 16:55 四川

相关推荐

牛顿冷却公式:莫不是在消遣洒家
点赞 评论 收藏
分享
评论
5
44
分享

创作者周榜

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