蔚来嵌入式二面面经

这次主要围绕Linux内核和驱动开发来提问,难度还是比较大的,基础八股文比较少一点。

1. 项目相关追问

  • 你在项目里移植过哪些驱动?遇到的主要问题是什么?
  • 设备树修改过程能讲一下吗?如何确认设备树配置是否正确?
  • MIPI 屏幕黑屏时,你是怎么一步一步定位问题的?
  • 有没有写过 GPIO 中断驱动?怎么处理抖动和多次触发?
  • 内核态和用户态之间的数据交互,你是怎么实现的?

2. Linux 内核基础

  • Linux 内核里进程和线程的区别?
  • 内核态和用户态是如何切换的?
  • 系统调用的流程能讲一下吗?
  • Oops 日志里信息怎么看?你会先关注哪些关键字段?

3. 驱动开发相关

  • platform 驱动的 probe 流程是怎样的?
  • 字符设备和块设备的区别?
  • I²C/SPI 总线驱动的注册机制?
  • DMA 和 CPU 拷贝的区别?在驱动里怎么选择?
  • 中断上下文和进程上下文的差别?中断里能不能调用 msleep
  • 如果驱动加载失败,你会从哪些方面排查?

4. Linux 并发与同步

  • 自旋锁和互斥锁的区别?
  • 自旋锁在什么场景下会导致问题?
  • 工作队列和 tasklet 的区别?
  • 原子操作在内核里是怎么用的?

5. 综合八股与场景题

  • CFS 调度器的基本思想?
  • kmallocvmalloc 的区别?
  • 设备树和驱动匹配的过程?
  • 如果写网络驱动时忘了处理 cache,一般会出现什么问题?
  • 当你遇到驱动崩溃导致内核 panic,会如何调试?

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

#发面经攒人品#
全部评论

相关推荐

查看18道真题和解析
点赞 评论 收藏
分享
评论
点赞
4
分享

创作者周榜

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