26秋招-影石嵌入式软件面经

投递的是RM通道(开的很早截止也很早),约面前无笔试

8.8一面,40min,面试分为四部分:自我介绍、嵌软八股、实习和项目、反问。如下:
先自我介绍:
1、你的实习经历都是在汽车领域,为什么想要做消费电子
2、你对自己的方向有什么倾向(未来想做嵌软的哪部分)
3、对我们公司有什么了解,对于影像行业有什么看法

开始八股
3、平时编程用C还是C++
4、C当中用过什么数据结构
5、用链表和队列做过什么功能开发
6、IPC通信:队列是用的变长还是定长的,消息包是固定长度的
7、C++构造函数中的深复制和浅复制的区别?(没答出来)
8、智能指针和虚函数,什么情况下需要使用虚函数
9、进程和线程的区别、进程间常见的通信方式、RTOS任务间常见的通信方式、有用过条件变量

聊实习和项目
10、第一段实习的工作,在相关技术(通信、存储)中有没有遇到过什么问题、什么bug(想听细节)(但是实习都是学习和打杂,真憋不出来什么印象深刻的问题)
11、介绍RoboMaster比赛所做的工作、代码合作开发的管理、联调过程中有没有什么问题、如何快速定位问题、有没有偶现性问题
12、RTOS里面的稳定性问题通过什么方式去定位(还是之前提到的偶现性问题)?

反问:
部门情况、面试次数(三面、含HR面)

-----------------------------------------------------------------------------------------------------------

8.11日被告知之前一面的面试官是音视频嵌入式的,可能比较偏linux,就把我推荐到Bsp嵌入式部门进行二次一面
8.12日二次一面:

1、详细说明某个项目负责的内容
2、你编写的驱动的抽象有没有具体的例子,功能实现
3、其中一个模块是用的什么总线?
4、IIC常见的速率?IIC原理?IIC传输信号的组成部分和内容?IIC地址有多少位?IIC最多能挂多少设备?IIC电路设计上有上拉电阻吗?开漏输出和推挽输出有什么区别?
5、讲讲FreeRTOS任务调度原理?任务运行的状态有哪些?举例说明任务状态是如何切换的?优先级反转?互斥锁和信号量的区别?不同任务之间通讯/交换数据,如何实现?不同的任务如何做状态的同步?消息队列有什么特性?FreeRTOS低功耗是怎么做的?进入低功耗模式怎么唤醒?
6、C语言Static关键字有什么作用?函数内部定义的静态局部变量的内存在哪里?C语言内存分区?C语言代码编译生成可执行文件会经历哪些步骤?.o文件是什么?其内部是机器代码还是汇编代码?大小端的含义?

回过头来发现自己有些题目答得还是不太好的,还需要巩固。

#26秋招##嵌入式##影石insta360#
全部评论
没有手撕代码环节吗?
点赞 回复 分享
发布于 昨天 12:21 江苏
现在rm通道就关了嘛?我还没投
点赞 回复 分享
发布于 08-12 10:22 广东
捉到了
点赞 回复 分享
发布于 08-11 16:52 上海
insta也有rm通道啊
点赞 回复 分享
发布于 08-09 09:19 广东

相关推荐

7.31投递,8.7约面,8.11一面如下:1、自我介绍2、如何理解堆和栈?3、在裸机或者RTOS中,有什么比较快速的方法去精确确定一个任务或者整个系统里面栈的 最大使用深度 是多少,如何运行一段时间后查看栈用了多少?4、什么情况下栈内容会变化?5、CPU保存现场(函数嵌套、中断等场景下)都是保存什么信息?6、系统异常(比如进入HardFault)如何定位源头?7、说一下MCU启动的过程,从上电到跑到main函数8、全局变量的初始化过程是在哪里初始化的?9、看你项目里用串口挺多的,说一下你是怎么用串口的?(DMA、缓冲区、中断)10、DMA的全满中断和串口空闲中断(当二者都满足触发条件时)会同时将标志位置位然后触发吗?(我答的是先DMA全满再空闲,因为打日志看过,但好像没答到点子上)11、继续10中的场景,当满足触发这两个中断的条件后,我把中断给关了10个字节的时间之后再打开(或者说更高优先级的中断一直把系统阻塞住了),DMA和空闲中断的标志位都还在,这时CPU可能需要仲裁一下,这会对你的驱动有影响吗?如果要没有影响的话需要怎么做?(没太懂这个提问的意思)12、说一下RTOS的运行机制?13、进程任务的切换时机?14、系统 如何/什么时候 得知高优先级任务准备好了?(涉及底层实现原理吧)15、详细说一下某个项目16、系统中微秒级的延时是怎么实现的?17、IIC中时序的延时是如何实现的?18、软件IIC造成的CPU被多次阻塞,中断会造成这些延时的滞后,这些对IIC的读取有影响吗?19、IIC时钟不均匀会对通信有影响吗?20、讲讲使用cmbacktrace定位到的一些实际的问题案例21、数组越界一定会产生hardfault吗?不产生Hardfault的话会有什么其他的影响吗?22、你做Bootloader时,你觉得其最重要的功能是什么?23、Bootloader跳转过程中DMA要关吗?24、说一下低功耗怎么做的?超低功耗Standby模式想唤醒应该如何唤醒?25、介绍一下软件通信协议是怎么设计的(串口协议栈)?如何去优化协议栈的设计?无手撕,反问环节问了一些上面没答出来的点一面总结:根据简历上的项目,由八股为切入点深挖底层,甚至好多问题我都不明白要答什么还是很难的,感觉和传说中的大疆面试差不多了,很深挖。最难的是会根据你当前的场景给你些假设,让你回答会发生什么注:上面的提问点与项目高度相关,并不是纯八股,仅供参考--------------------------------------------------------------------------------------------------
求求offer的河老...:以下是自己的一些解答不一定对,希望大佬解答 2.堆栈都在ram中,生长方向不同,管理方式不同,一个自动分配一个手动管理 3.估算最大深度没思路,运行时候可以掉rtos自带的函数可以看见深度 4.任务切换入栈出栈,进中断保存现场 5.lr pc psr r0-r3 r12?具体记不清楚了 6.系统异常会压栈pc lr还有状态寄存器,可以根据lr判断此时是中断环境还是任务环境,根据keil内存访问找到sp对应的栈,找到压栈的pc然后和反汇编来对比就知道什么地方有问题 7.上电复位,从程序起头中断向量表拿到复位中断地址,从复位中断里面拿出来.s里面的内容,主要是初始化堆栈.stm32会有一个system init(设置频率和时钟),好像还有变量搬移到ram里面具体记不清楚了
查看25道真题和解析
点赞 评论 收藏
分享
评论
14
49
分享

创作者周榜

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