大疆嵌入式面经 一二面

投的是大疆的嵌入式软件岗,base 深圳。整体感受是基础抠得很死 + 算法比一般硬件厂狠 + 项目往死里追。题目不偏

一面 技术面 大概 1h面试官是组里的工程师,先过简历再上基础,最后手撕算法。

  • 自我介绍,挑一个最能体现你能力的项目讲
  • 这个项目你负责哪部分?哪个模块是你独立做的?
  • C 里 const 和 #define 的区别?const 修饰指针的几种写法分别什么意思?
  • sizeof 和 strlen 的区别?sizeof 一个结构体,结果跟什么有关?
  • 大端小端是什么?写段代码判断当前机器是大端还是小端
  • 内存分区讲一下,全局变量、局部变量、malloc 的内存分别在哪个区?
  • 指针和引用的区别?什么场景必须用指针、不能用引用?
  • 你说你用过 C++,new 和 malloc 的区别?
  • 深拷贝和浅拷贝,什么时候会出问题?
  • 手撕:一个数组里只有一个数出现一次、其余都出现两次,找出来(异或)
  • 手撕:判断链表是否有环,有环的话找到入环节点
  • 反问

手撕第二道我用快慢指针,找入环点那个公式当场推的,差点绕进去,好在最后推对了。第一道异或秒了。

二面 技术面 大概 1h15min明显更资深,往实时系统和底层控制挖。

  • 还是先讲项目,但揪着我说的"实时性要求高"往下问:你怎么定义实时?系统延迟实际多少?怎么测的?
  • 中断延迟由哪些部分组成?怎么优化中断响应时间?
  • RTOS 里任务切换的整个过程,寄存器和栈都发生了什么?
  • 优先级反转怎么产生的?优先级继承的代价是什么?
  • 你了解 PID 吗?积分项的作用?积分饱和怎么处理?
  • 电机控制为什么用 FOC?Clarke 和 Park 变换在做什么,讲讲物理意义
  • 编码器你用过哪种?增量式和绝对式的区别?
  • IMU 数据怎么滤波?互补滤波和卡尔曼滤波的区别,简单讲讲
  • 定点数和浮点数,MCU 上为什么有时候要用定点?
  • 手撕:写一个定时任务调度的数据结构,要能高效取出最近到期的任务(最小堆)
  • 这个调度器如果任务量很大,插入删除怎么优化?
  • 反问

FOC 那块答得还行,卡尔曼只讲了个预测—更新的大框架,公式没推全,面试官点点头没深究。最小堆写出来了,但插入删除的复杂度分析说得不够利索。

三面 主管面 大概 40min深度降下来了,开始看综合素质和匹配度。

  • 你为什么选嵌入式?为什么是大疆?
  • 平时怎么学新东西?举个最近自学的例子
  • 讲一个项目里最难的 bug,你怎么一步步定位的
  • 如果一个问题查很久都解决不了,你会怎么办?
  • 怎么看加班?项目忙起来强度不小
  • 团队里技术意见不一致,你怎么处理?
  • 你有几个 offer?怎么排序,最看重什么?
  • 期望薪资?深圳能接受吗?
  • 反问

主管挺随和,主要是聊。最难的 bug 那题我准备过,讲了个 DMA 和中断抢资源导致偶发数据错乱的事,从现象讲到定位五六分钟,他听得比较认真。

整体下来的感受:

临场编不出来顺着推也能讲个七八成。

刷了一堆面经心里还没底的,是某个知识点从来没真正搞透,还是自己太菜了。

顺嘴说一句。

我春招那会儿也是面经看了一摞,心里照样没底。后来索性把自己面过的厂、被问崩的题、踩过的坑都整理出来,慢慢攒成了一个专栏。

现在 32 篇 / 12w+ 字,还在更。C 语言陷阱、操作系统、RTOS、Linux 驱动、通信协议、硬件基础——嵌入式面试基本会问的方向都覆盖了。不是背了就能过的速成八股,是按"面试官会怎么往下追、坑在哪"的思路写的。像今天大疆这场的优先级反转、FOC、最小堆、链表找环这些,里面都有对应的展开。

4.7w+ 同学看过,3300+ 订阅,数据摆这儿,有没有用自己判断。

面经基础有点薄、想一次性系统过一遍的,可以去看看:

🔗 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM

继续投,祝各位早日上岸。

全部评论

相关推荐

评论
点赞
3
分享

创作者周榜

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