大疆面经

1.自我介绍
2.linux中的线程一般是怎么调度的?

3.如果现在是一个单核的CPU,那么多个线程是按什么顺序去运行的?也就是线程的系统调度?

4.如果现在多个线程,怎么确定哪一个会先被执行?

5.能简单说一些你用过的stm32的一些芯片的配置吗?CPU主频,flash和RAM分别都是多大的?

6.你在stm32上都做过哪些开发?

7.你开发过哪些驱动吗?

8.你了解整个SPI的通信过程吗?SPI有几根线,分别是什么?你使用SPI的时候速率配置的是多少?

9.有使用过DMA吗?解释一下什么是DMA?

10.SPI有4种模式你知道是那4种模式吗?

11.你在开发调试过程中有遇到过哪些难以解决的问题可以分享一下吗?

12.你有做过一些比较大型的软件开发吗?就是一些比较大的功能需要做一些设计、分层的东西。

13.中间层的设计你考虑了哪些因素?

14.进程通信有使用过一些锁和同步的东西吗?

15.多个进程在获取不到锁的时候会进入什么状态?
16.假设一个低优先的进程A获取先到锁,高优先级的进程B获取不到锁,那高优先级进程B的进行也会阻塞吗?

17.那如果还有一个任务C,优先级介于A和B之间,那么C任务会去抢占CPU资源吗?

18.那这样导致B等待资源的时候会越来越长,这样的问题有方法可以解决吗?因为B的优先级才最高。

19.用什么方式提高A的优先级?

20.那么A的优先级需要提高到多少?

21.linux你是在用户态开发还是内核态开发?

22.在用户态开发中程序跑飞,出现段错误等情况,你通过什么方式去定位?

23.运行态的错误怎么调试?

24.知道程序分成那几个段吗?

25.堆和栈有什么区别?

26.你有什么需要问我的吗?

对于上述问题很多基础问题,所以基础必须打牢靠,所有问题已经整理到我的面经合计中,链接放在下方
全部评论
问的好难😖
1 回复 分享
发布于 06-17 18:56 山东

相关推荐

2 48 评论
分享
牛客网
牛客企业服务