[9.6] 大疆嵌入式一面凉经
首先是介绍项目,用的什么单片机,有没有用到RTOS,分了几个任务,由此问了一些RTOS的问题
- 你任务的优先级是怎么安排的,高优先级的的线程RTOS会怎么样处理?
- 相同优先级的几个线程是怎么运行的?
- 对于临界区数据的处理,使用互斥锁和自己通过条件来判断,哪样更好,为什么?
- 上下文切换的时候系统做了些什么?
C语言问题
- 函数指针了解么,在哪里有用到?
- struct字节对齐了解么?
- 什么是大端小端?
- 内存分配函数了解么?如果系统中只有10K内存,而我要分配12K,能分配成功吗?如果能,那么将分配到的区域用memset进行初始化,会成功吗?
- 除了堆区,程序运行的内存中还有哪些区域?
C++问题
- 智能指针有了解吗?
- 容器了解吗?vector实现的机制是怎么样的?
- 迭代器有了解吗?讲解一下你的理解
Linux问了多线程的处理,我只是用树莓派做过小项目,就回答了一下在树莓派中我是怎样处理的,然后面试官问,如果你用的是四核心处理器,那么分配300个线程合理吗?怎样分配才算合理?
面试官还问了多进程,但我没用过,直接就说没有了解过了。
我在树莓派上用过OpenCV,当时是写的CMake编译代码,结果面试官问了我CMake怎么包含别的CMake文件,尴尬,我没有用过这个功能,只好又说没有了解过
可能还有其他问题,忘记了,,不少问题要么是没有了解过,要么只能答出个表面,C++也是研究得少,感觉自己好糟糕。。
#大疆校招##大疆##面经#