零跑汽车 嵌入式软件工程师 一面,问麻了
前几天投了零跑的嵌入式岗,岗位是整车嵌入式软件开发方向。说实话投之前没太当回事,觉得一面应该就是走个流程,结果直接被打脸。
面试官上来先让自我介绍,我刚说完项目,他立刻开始顺着项目往里挖,通信协议、任务调度、实时性保障,一个接一个,完全没有喘息的机会。整场面试大概50分钟,题量很大,而且很多题不是考你背没背过,而是直接问"你们项目里是怎么做的",没有实际经验的话很容易被问到卡壳。
零跑现在在车载嵌入式这块投入很大,整车OTA、域控架构、AUTOSAR这些都是重点方向,感觉他们对候选人的要求不只是会写代码,更看重你对整个系统的理解深度。
把题目整理出来给大家参考,备战车企嵌入式的同学可以对照着查漏补缺,尤其是应届生,这套题的覆盖面基本代表了车企一面的主流考察方向。
面试题目如下:
- 自我介绍,重点介绍项目经历和技术方向,面试官会根据你说的内容深挖
- 项目中用到了哪些通信协议,CAN总线的帧格式是怎样的,标准帧和扩展帧有什么区别,仲裁机制是如何实现的,总线负载率过高怎么处理
- 项目中有没有做过多任务调度,任务优先级是怎么分配的,有没有遇到过优先级反转,是怎么解决的
- volatile 和 const 同时修饰一个变量是什么含义,MCU寄存器操作中为什么必须加 volatile,编译器优化会带来什么问题
- 结构体对齐规则是什么,#pragma pack(1) 会带来哪些副作用,在CAN报文解析中你们是怎么处理对齐问题的
- 堆和栈的区别,嵌入式系统中栈溢出是怎么发生的,你们项目中是如何检测和预防的,有没有实际踩过这个坑
- RTOS中硬实时和软实时的区别,影响任务响应时间确定性的因素有哪些,你们系统的实时性指标是多少,怎么保证的
- 死锁产生的四个必要条件,项目中遇到过死锁吗,完整说一下排查过程,用了哪些工具
- 什么是看门狗,独立看门狗和窗口看门狗有什么区别,多任务系统中如何设计喂狗机制,喂狗任务挂了怎么办
- Linux内核中断处理的上半部和下半部机制,softirq、tasklet、workqueue各适合什么场景,你在驱动开发中是怎么选择的
- 什么是内存映射(mmap),和 read/write 相比减少了哪些系统调用开销,在驱动开发中有什么典型应用场景
- 多线程中互斥锁和读写锁分别适合什么场景,读写锁的实现原理是什么,写饥饿问题怎么解决
- fork() 之后父子进程的内存是如何管理的,写时复制(COW)是如何工作的,触发COW的代价是什么
- Linux设备驱动中字符设备和块设备的区别,file_operations 结构体你实现过哪些操作,有没有踩过坑
- TCP和UDP在车载通信场景中分别适合什么场景,SOME/IP协议了解吗,和传统socket通信有什么区别
- 什么是AUTOSAR,Classic AUTOSAR和Adaptive AUTOSAR的区别是什么,RTE层的作用是什么,你们项目有没有用到
- 项目中遇到过最难定位的bug是什么,完整说一下排查过程和用到的工具,最后是怎么解决的
- 零跑的产品有哪些了解,如果参与整车嵌入式软件开发,你认为最有挑战的技术方向是什么
- 反问
核心嵌入式面试八股文总结:https://www.nowcoder.com/creation/manager/columnDetail/mPZ4kk
总结 & 嵌入式八股文备战方法
整体难度中等偏上,一面就开始结合车载场景深挖,不只是考背没背过,很多题都会追问"你们项目里是怎么做的"。没有项目经验支撑的话,光靠背答案很容易在追问环节露馅。
关于嵌入式八股文怎么准备,说一下我自己的方法:
第一步,先建知识框架,不要上来就背题
嵌入式面试考察的知识点很散,C/C++、Linux内核、RTOS、驱动开发、通信协议、车载协议栈,每个方向都能单独出一套题。建议先画一张思维导图,把这几个模块的核心考点列出来,知道自己哪里薄弱,再有针对性地补。
第二步,理解原理,不要死记硬背
比如死锁的四个条件,背下来很容易,但面试官一旦问"你项目里遇到过吗,怎么排查的",纯背答案就答不上来了。每个知识点都要问自己:这个东西在实际系统里是怎么体现的,出了问题怎么定位。带着这个思路去理解,比背一百道题有用。
第三步,结合项目,把知识点和经历挂钩
面试官最喜欢问的就是"你在项目里有没有用过"。建议把自己做过的项目梳理一遍,把用到的技术点和八股知识对应起来。比如项目里用过FreeRTOS,就把任务调度、优先级反转、信号量这些全部吃透,能结合自己的项目讲出来。
第四步,车企方向重点补充车载协议和AUTOSAR
如果目标是车企,CAN/LIN/SOME-IP这些协议是必考的,AUTOSAR架构也要有基本了解。这块很多同学准备不足,但车企面试官非常看重,建议单独花时间系统学一遍。
第五步,刷真题,对照面经查漏补缺
多看各大厂的面经,把高频题整理出来,逐个过一遍。不是让你背答案,而是看看自己能不能流畅地讲清楚,讲不清楚的地方就是薄弱点,重点攻克。
