乐鑫嵌入式开发面经
乐鑫嵌入式开发(已offer)
投递的比较晚,4月29号才投简历,但是整体流程走的很快,不到俩周
5月7笔试:20道选择题,内容是计算机基础知识,类似于408.
编程题俩题,mid难度,ac一题,另外一题过了60%
5月12日:第一轮技术面(100分钟多一点)
面试官是个十分和蔼的大哥,卡壳时还会提示我,主要问了一些基础知识,部分回忆如下:
- 嵌入式开发为什么用C语言,而不用C++语言
- C编程和利用C++有什么差别
- 说一下static的作用
- const 和 define的区别
- 说一下const的作用,const变量存储在哪里,和static变量存储的位置一样吗
- 说一下不同类型的变量(局部变量,全局变量,局部全局static const修饰的变量)在内存中存储的位置
- 操作系统了解吗,说一下进程线程
- 进程线程的区别
- 进程通信方式和线程方式有哪些,举例说明一下
- 说一下mmap的通信过程
- 多线程场景下会出现什么问题,怎么解决
- 既然你说到了信号量和互斥锁,举俩个例子说明一下应用场景
- 单线程下会出现数据的不一致性问题吗,举例说明
- 嵌入式系统了解吗
- 你知道实时系统吗,和linux系统有什么区别
- 实时系统如何保证强实时性
- 这里我举例说的 uCOSII,接下来问了ucosII的任务调度,人傻了,忘了
- 中断处理的过程
面试过程***享屏幕,按照面试官的提示写了一点代码和伪代码如下
int (*p)(int); typedef struct data { unsigned char a; unsigned short b; unsigned int c; }Data; void sendData() { Data a; ...... //给a赋值 char *p = &a; for(int i = 0; i < 8; i++) { send((*p)); p++; } }
- 定义一个参数为int,返回值为int的函数指针
- 定义一个结构体,结构体内有三个变量,a(0-255), b(0-10000),c(0-100000),使结构体尽可能小
- 设计一个函数,该函数调用的接口每次只能发送一个字节的数据,问如何把这个结构体发送出去
- 其实面试官这里想考的是 Data结构体占用的内存空间
- 这里Data结构体的大小为8byte,发送八次就行
- 为什么结构体占用内存是8字节
最后以手撕代码结束提问环节,反问了一些问题一面结束
5月14 技术二面(30分钟左右)
主要聊项目,详细聊了一下之前做的项目中我负责的模块
问了一点网络编程,epoll,select,poll等
5月17日 技术三面(160分钟)
这次面试是主管面,具体内容偏开放一点,感觉有点像主管随机问一些问题,看你的临场应变能力
具体问的问题这里就不写出来了,每个人估计都不一样,应该没有很大的参考价值
整体过程比较轻松,把能想到的全都说出来就ok
记得比较深刻的是最后问了个三羊问题,然后对这个问题写了个代码
这一面穿插问的技术问题会很深,直到你答不上来为止
一定要学好计算机网络,不能浮于表面,最好要动手抓包去分析各类协议!!!
5月20日 hr面(30分钟)
主要问了一些在校经历和学习情况,以及对未来的职业规划
5月21日 发offer
整个面试流程走下来感觉非常舒服,笔试到发offer不到俩周,效率超高,点赞!!!
面试官都十分nice,面试过程中会引导着你去思考,遇到不会的也会笑着和我说没关系
非常感谢乐鑫愿意给我这个小菜鸡实习机会,乐鑫在我的心中,是一家以人为本,追求极致的公司,可能这就是乐鑫在wifi芯片市场占有率这么大的原因吧
最后更新 5-23
最后因为个人原因没有去乐鑫,主要原因是个人之前的学习路线更贴近另一家公司一点。
不过对于乐鑫,我觉得在我心中只能用四个字来形容,yyds!!!
强烈推荐有志投身嵌入式的兄弟去冲!!!