大疆实习面经分享

面经

1、卓驭(大疆车载)- 软件开发实习生(MCU/RTOS/LINUX)

  1. 自我介绍;

  2. 验证一下项目真实性(项目背景、开发人员和分工);

  3. IIC和SPI的底层代码是自己手搓的吗?(是)

  4. IIC通讯和SPI通讯的区别;(速度IIC慢/SPI快、IIC半/SPI全双工通信架构IIC总线多主多从/SPI点对点单主多从)

  5. BootLoader升级的流程;

  6. static关键字;(修饰变量、函数)

  7. 介绍一下函数指针和应用场景;(BootLoader跳转APP)

  8. 结构体变量的初始化方式(定义后逐个初始化、定义时按顺序初始化、定义时按指定成员初始化)

    1. // 1、定义后逐个初始化
      struct Point p3;
      p3.x = 30;
      p3.y = 40;
      
      // 2、定义时按顺序初始化
      struct Point p5 = {70, 80};
      
      // 3、定义时按指定成员初始化
      struct Point p6 = {.y = 90, .x = 100};
      
  9. 团队业务(智驾应用开发)和过往经历(单片机底层)不算很匹配,感兴趣吗?

  10. 了解卓驭科技吗?(成行智驾平台)

  11. 实习时间、入职时间、学校时间安排;

  12. 当前接触的公司和工作方向有哪些?

  13. 介绍公司,反问;

2、地平线 - 嵌入式开发实习生(上海)

一面
  1. 自我介绍;
  2. FreeRTOS的任务创建方法;(动态、静态)
  3. 宠物喂养机项目中有具体有哪些线程,它们的优先级是如何考虑的?(线下控制>MQTT连接>线上控制>OTA>数据上报)
  4. Linux了解吗?(确实不懂)
  5. IIC和SPI的区别;
  6. IIC一条总线上最多控制多少个设备?(7位从机地址最多控制2^7=128个设备)
  7. 外挂Flash的选型?(为方便开发选择了W25Q64)
  8. Flash的读写有什么区别?(只能由1写0,因此需要先擦再写,同时擦除和写入只能按块或按扇区操作,而读取可以按字节读)
  9. 有没有用到STM32内部的Flash存储参数?(没有用到,参数直接用外部EEPROM存了)
  10. 为什么不用内部Flash而采用外部EEPROM(EEPROM能够按字节任意读写,使用方便一些,内部Flash要擦除再写,而且只能按半字写入)
  11. 反问,聊了很多,面试官说组内有做车载以太网的,还反问我感不感兴趣,看起来比较满意。

总结:面试体验很不错,面试官很温文尔雅,每个回答都会有回应和肯定,不清楚的问题也会慢慢引导,尽管方向不是很契合,也有部分技术栈不熟悉,面试官还是让过了,约了二面。

二面
  1. 自我介绍;
  2. 问实习时间,地点,经济上是否有压力;
  3. 如果mentor非常忙没时间给予指导,怎么办?
    1. 回答:首先自己查找资料,集中时间向mentor咨询。
    2. 面试官给了更好的答案:主动上去询问mentor正在忙的活,看看有没有哪些能帮上忙的地方,给mentor减负的同时也能参与到更深入的工作中,能学到更多。
  4. FreeRTOS有多少个优先级;
  5. FreeRTOS是实时的还是非实时的;
  6. 介绍一下单片机中断的具体流程;
  7. 知道向量表吗?向量表里存的是什么?(中断处理程序的地址);
  8. 反问,具体介绍了所属部门和小组,介绍了具体的工作(具体的芯片、系统都说了,虽然我不懂hh);

总结:面试官是那种很有亲和力的技术大佬,看起来很有技术深度,但又非常亲切,全程笑容,说话提问也很轻松,还会反过来给我的答案建议,不只是考察面试者,还会给予指导,这点我非常佩服。

3、大疆创新

  1. 自我介绍
  2. 作为比赛项目的队长角色做了什么工作
  3. 哪个地方你觉得自己做的最好
  4. 有哪些值得改进的地方
  5. 技术方案上有哪些缺点
  6. 有具体测试过吗
  7. 印象最深的难点(bootloader跳转进入hardfault)
  8. 怎么解决的?(直接用内联汇编,或者inline展开)
  9. inline展开是在哪个阶段进行的(开始说编译,想了想应该是链接)
  10. 链接这个过程发生了什么?(只有笼统理解)
  11. FreeRTOS有哪些情况会发生任务调度
  12. 任务调度会保存哪些上下文
  13. 主动调度port_yield是怎么实现的
  14. 说一说PendSV中断
  15. 说一说信号量具体有哪些操作
  16. take信号量具体做了什么事情,如果take不到会发生什么(阻塞)
  17. 说一下阻塞的本质,实际上发生了什么(挂到阻塞链表)
  18. 在中断里能用take_semph吗(不能,要用FromISR后缀的,非阻塞接口)
  19. 为什么中断中不能阻塞?(时间不确定,中断里不允许)
  20. 还有别的原因吗?提示:在中断里阻塞之后,又被唤醒,会发生什么?(思考了一会,没想明白)

总结:问的非常深入非常细节,深入到源码的理解,必须细致系统读过FreeRTOS的源码才能知道,对技术抓的很深,一直问到完全答出所有细节或者不会,这也是大疆的特点了。但最后反问的时候说进去做Python工具开发的,没法接触产品,应该会拒了。

我可以为你提供一些关于 Unity 实习经的信息。以下是一些常见的问题和主题,可能会在 Unity 实习试中提及: 1. Unity 基础知识:试官可能会问你关于 Unity 的基础知识,比如游戏对象、组件、场景、动画等的概念。 2. C# 编程:Unity 使用 C# 作为主要编程语言,所以你可能会被问到关于 C# 的基本语法、向对象编程等方的问题。 3. Unity API 和功能:试官可能会问到你对 Unity API 的了解程度,以及你是否熟悉常用的 Unity 功能,比如碰撞检测、物理模拟、粒子系统等。 4. 游戏开发经验:如果你有相关的游戏开发经验,试官可能会询问你参与过的项目、你在项目中扮演的角色、遇到的挑战以及如何解决问题等。 5. 问题解决能力:试官可能会给你一些实际的问题场景,并评估你解决问题的能力和思维过程。这可能涉及到编程逻辑、算法设计或解决技术性问题的能力。 6. 项目展示:如果你有自己的作品或项目,试官可能会要求你展示项目的代码、设计思路和实现过程。 7. 其他技术:除了 Unity 和 C#,你可能会被问到其他相关的技术,比如游戏设计原则、图形学基础、网络编程等。 这些只是一些常见的问题和主题,具体的试内容可能因公司和职位要求而有所不同。提前准备并熟悉这些问题,可以帮助你在试中更好地展示自己的能力和经验。祝你试顺利!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌入式与Linux那些事

您的鼓励将使我写出更好的文章

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值