长安汽车 嵌入式面经

一、 C/C++相关:
1. 全局变量与局部变量的区别及其存储位置;
2. static关键字的作用;
3. 如何通过类静态函数修改某个对象的成员变量;
4. volatile关键字的作用与适用场景;
5. 数组指针与指针数组的区别;
6. 内存对齐的概念及设置方法(如使用#pragma pack)。

二、 单片机相关:
1. MCU从上电到执行main函数的过程;
2. 查询与中断方式的区别及各自的优缺点;
3. 中断频繁触发可能的原因;
4. 串口通信的参数设置;
5. 串口停止位的作用;
6. SPI的连线方式及各线路功能,与IIC的对比;
7. 如何确保串口接收数据时不丢帧(串口数据读取的常规流程)。

三、 操作系统相关:
1. “裸机”与基于FreeRTOS的系统各自适用的场景;
2. FreeRTOS创建任务时可传入的参数;
3. 线程间通信的方式;
4. 使用共享内存时需注意的问题;
5. FreeRTOS调度多线程的算法机制;
6. 系统“跑飞”可能的原因分析。

四、开放性问题:
1. 个人未来职业规划;
2. 技术栈中同时涉及深度学习与嵌入式,未来的发展方向如何考虑;
3. 对汽车行业及长安汽车企业的了解与看法。
全部评论

相关推荐

4.综合题(18道)4.1 下面代码输出是几?int main(){int j = 2;int i = 1;if(i = 1) j = 3;if(i = 2) j = 5;printf("%d", j);}答案:输出为5。解读:注意if的条件语句用的是赋值符"="而不是等号"==",因此条件一直为真。4.2 负数和正数的反码、补码分别是什么?(1)负数的反码:对原码除符号位外的其余各位逐位取反就是反码。(2)负数的补码:负数的补码就是对反码加1。(3)正数的原码、反码、补码都一样。4.3 编译和链接有什么不同?(如对外部符号的处理)(1)编译(+汇编)生成的是目标文件(*.o)。编译过程中对于外部符号(如用extern跨文件引用的全局变量)不做任何解释和处理,外部符号对应的就是"符号"。(2)链接生成的是可执行程序。链接将会解释和处理外部符号,外部符号对应的是地址。4.4 函数参数的传递方式有几种?(1)两种:值传递、指针传递。(2)严格来看,只有一种传递,值传递,指针传递也是按值传递的,复制的是地址。4.5 局部变量能否和全局变量重名?答案:能,局部会屏蔽全局。要用全局变量,需要使用"::"。注意:对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内。4.6如何引用一个已经定义过的全局变量?答案:可以用引用头文件的方式(不建议,可能会造成重复定义),也可以用extern关键字。注意:(1)如果用引用头文件方式来引用某个在头文件中声明的全局变理,假定你将那个变量写错了,那么在编译期间会报错。(2)如果你用extern方式引用时,假定你犯了同样的错误,那么在编译期间不会报错,而在链接期间报错。以上内容摘自牛客官方专刊《嵌入式岗位笔试面试真题讲解》,数千位同学已订阅,该专刊不仅有真题讲解,还有经验分享,不清楚嵌入式该学什么的同学,想找嵌入式实习/正式工作的同学,都可以来看看:  https://blog.nowcoder.net/zhuanlan/v0ELPM推荐公司:华为、小米 、OPPO、VIVO、荣耀、努比亚、CVTE 、 大疆、insta360影石、美的、 TCL、创维、海信、海尔、长虹、烽火、经纬恒润 、小鹏、图森未来、 百度、滴滴、蔚来、理想、比亚迪、吉利、小马智行、元戎启行、摩拜、豪威、 联发科、 紫光展锐、全志、 寒武纪、晶晨半导体、汇顶、 华为、中兴、浪潮、TP-LINK、讯飞、商汤、海康威视、浙江 大华、旷视、360。
查看6道真题和解析
点赞 评论 收藏
分享
评论
1
4
分享

创作者周榜

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