大疆嵌入式算法一面面经 | base上海 | 八股深挖

刚结束大疆嵌入式算法岗的一面,趁着记忆还热乎赶紧来发个面经。base上海,整体时长一个多小时,面试官非常老道,八股问得超细,项目挖得很深,问题层层递进,稍微卡一下就继续往里追问,体验上属于压力面那一类。

整体感受

这次面试的覆盖面是真的广,从单片机裸机、RTOS源码、ARM架构,一路问到Linux内核VFS、进程调度、驱动模型,中间还穿插了C/C++基础八股、图像算法、Camera HAL框架,最后再来一道手撕。如果只复习了某一个方向(比如纯嵌入式或者纯Linux),应该会比较吃力。我自己感觉答得磕磕绊绊,有些细节问到底实在编不下去就老实说不会了,面试官倒也没为难,听完就接下一题。

面试题目记录

(按面试顺序整理,部分细节可能有遗漏)

  1. 自我介绍
  2. 项目里碰到的最难的问题是什么,怎么解决的
  3. 裸机和RTOS如何选型,什么场景该上Linux驱动
  4. RTOS如何保证实时性
  5. FreeRTOS源码层面如何实现任务调度
  6. FreeRTOS的任务切换底层是怎么做的
  7. 怎么判断一个MCU能驱动几路电机
  8. 如何根据主频估算能带动多少路电机
  9. 摄像头驱动底层如何检测驱动错误
  10. 如果打印日志,如何根据日志排查I2C驱动问题
  11. I2C驱动的完整时序讲一下
  12. 为什么需要头文件
  13. 头文件分尖括号和双引号,引入顺序应该怎么写
  14. 追问:就是要先写双引号再写尖括号,理由是什么
  15. float可以移位吗
  16. 追问:就是要让float移位怎么办(提示可以用指针强转)
  17. new和malloc的区别
  18. 进程间、线程间通信方式,管道的优势是什么
  19. 同进程的多个线程之间,可以用socket通信吗
  20. 聊聊Camera HAL,CamX框架的工作流,ISP简单介绍一下
  21. 仿射变换的原理简单说一下
  22. Uboot启动流程和Linux启动流程,把两个串起来讲
  23. 页表实现机制,分页的缺点是什么?三级页表的原理?页表存在的意义
  24. 操作系统调度过程深挖,内核由哪些部分组成
  25. tasklet和workqueue的底层区别
  26. 做过哪些Linux驱动,遇到过什么问题?项目都是自己做的吗?讲讲难点
  27. 编译器优化做了哪些事情,O2和O3的区别
  28. 知道cacheline填充减少伪共享吗
  29. Linux内核了解多少,重点聊进程调度和VFS

手撕代码

给一个整数N,螺旋打印1到N×N的螺旋矩阵。

题目本身不算难,经典的边界收缩题,主要看代码风格和边界处理。面试官会让你边写边讲思路,中途还会追问空间复杂度能不能再优化、N是奇数偶数的边界情况怎么处理,基本一边写一边讲一边被打断。

说真的,这次能撑下来真得感谢秋招前一直在跟的一个专栏 ——《嵌入式软件工程师面试完全指南》。今天面试问到的几乎全部都能在专栏里找到对应章节,有些题目甚至原题难度。我自己就是当初简历薄、面经底子差,被秋招毒打了几场之后才下决心系统补一遍,订了之后是真心觉得回本。

目前专栏已经更新到 32篇 / 12w+字,内容基本覆盖嵌入式岗会被问到的所有方向:

  • C语言陷阱 / 计网高频
  • 操作系统 / RTOS原理(FreeRTOS源码这块讲得特别细)
  • Linux驱动开发(我这场被问到的tasklet/workqueue/VFS都有)
  • 通信协议 / 硬件基础(I2C/SPI/UART时序全套)
  • 项目高频问题 + 反问环节话术

现在 4.7w+同学在看,3300+订阅,销量基本就是口碑了,适合面经底子薄、想一次性系统梳理的xdm。专栏还在持续更新中📈,内容只会越来越全,价格也只会越涨越高,越早订越划算

🔗 专栏直达:https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM

全部评论

相关推荐

昨天 16:41
复旦大学 Python
ynq2126:我一直觉得现在考算法题没啥意义 真要选拔人才不如把公司实际项目中遇到的问题当成一系列场景题抛给求职者答 这才是能检测能力的东西
点赞 评论 收藏
分享
不知道怎么取名字_:青花的都挂啊,这是要啥人呢
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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