校招 未知部门 / 硬件工程师 / 一面

[面试日期] 2026-01-30 [面试时长] 50min
[学校背景] 未知 | 未知 [学历背景] 未知
[发布人] 面试之星官方收录
<h2>比亚迪嵌入式一面面经</h2> <p>比亚迪的嵌入式一面,整体感觉面试官非常专业,问题覆盖面很广。面试时长大概50分钟,前30分钟是技术问答,后20分钟聊项目和个人规划。面试官是一位做车载控制器的老工程师,问的问题都很贴近实际工作场景,不是那种纯理论的八股文。我把面试中遇到的15道题目整理出来,希望能帮到正在准备春招的同学们。</p><h2>比亚迪嵌入式一面15题</h2><ol><li>你在项目中用过哪些通信协议?说说UART、SPI、I2C、CAN的区别和应用场景</li><li>看你简历上写了DMA,能说说DMA的工作原理吗?什么时候用DMA,什么时候用中断?</li><li>中断优先级是怎么设置的?如果两个中断同时到来会怎么处理?中断嵌套了解吗?</li><li>volatile关键字的作用是什么?在嵌入式开发中什么场景下必须用volatile?</li><li>指针和数组的区别?指针的指针怎么用?野指针是怎么产生的,如何避免?</li><li>你用过定时器吗?PWM是怎么实现的?如何通过定时器产生精确的延时?</li><li>说说你对实时操作系统(RTOS)的理解,用过FreeRTOS或者其他RTOS吗?任务调度是怎么实现的?</li><li>多任务之间如何通信?信号量、互斥锁、消息队列的区别和使用场景</li><li>看你做过ADC采集,说说ADC的采样率、分辨率、精度这些概念,如何提高ADC的采样精度?</li><li>Flash和EEPROM的区别?如何保证Flash写入的可靠性?掉电保护怎么做?</li><li>你调试程序一般用什么方法?遇到过死机或者跑飞的情况吗?怎么定位问题的?</li><li>看你用的是Cortex-M7内核,说说ARM Cortex-M系列的特点,M0、M3、M4、M7有什么区别?</li><li>堆和栈的区别?嵌入式系统中如何合理分配内存?内存泄漏怎么排查?</li><li>你了解汽车电子的功能安全吗?听说过ISO 26262标准吗?</li><li>最后问一个开放性问题:如果让你设计一个电机控制系统,你会从哪些方面考虑?</li></ol><h2><span>准备嵌入式面试八股文就靠这套专栏了(涵盖多个大厂面试题):</span><a href="https://gw-c.nowcoder.com/api/sparta/jump/link?link=https%3A%2F%2Fgw-c.nowcoder.com%2Fapi%2Fsparta%2Fjump%2Flink%3Flink%3Dhttps%253A%252F%252Fwww.nowcoder.com%252Fcreation%252Fmanager%252FcolumnDetail%252FmPZ4kk">https://www.nowcoder.com/creation/manager/columnDetail/mPZ4kk</a></h2><h2>我的春招备战方法</h2><h3>一、基础知识夯实</h3><p>面试下来我发现,比亚迪很看重基础。C语言、数据结构、操作系统这些必须扎实。我的准备方法是:</p><ul><li><strong>C语言</strong>:重点复习指针、结构体、位操作、内存管理,每天刷几道牛客网的C语言题</li><li><strong>数据结构</strong>:链表、栈、队列、树这些要能手写,嵌入式面试也会考算法</li><li><strong>微机原理</strong>:GPIO、定时器、中断、DMA、ADC这些外设原理要理解透彻</li><li><strong>通信协议</strong>:UART、SPI、I2C、CAN的时序图要能画出来,知道各自的优缺点</li></ul><p>我每天会花2-3小时复习理论知识,做笔记整理知识点,特别是容易混淆的概念要对比记忆。</p><h3>二、项目经验深挖</h3><p>面试官在我的项目上问了很多细节,比如&quot;为什么选择DMA而不是中断&quot;、&quot;PWM频率是怎么计算的&quot;、&quot;遇到过什么技术难点&quot;。这让我意识到,项目不能只停留在&quot;做过&quot;的层面,要能说清楚:</p><ul><li><strong>技术选型理由</strong>:为什么用这个方案而不是其他方案</li><li><strong>实现细节</strong>:关键代码的逻辑,寄存器配置的原理</li><li><strong>遇到的坑</strong>:调试过程中遇到的问题和解决方法</li><li><strong>性能优化</strong>:如何提高系统的实时性、降低功耗</li></ul><p>我把简历上的每个项目都重新梳理了一遍,写了详细的技术文档,把每个模块的原理、代码、调试过程都记录下来。面试前一天还会对着镜子练习讲解项目,确保表达流畅。</p><h3>三、实战代码练习</h3><p>纸上得来终觉浅,我发现很多知识点看懂了不代表会用。所以我在开发板上做了大量实验:</p><ul><li><strong>GPIO实验</strong>:按键输入、LED控制、中断触发</li><li><strong>UART实验</strong>:串口收发、DMA传输、环形缓冲区</li><li><strong>定时器实验</strong>:PWM输出、输入捕获、编码器读取</li><li><strong>ADC实验</strong>:单通道采集、多通道扫描、DMA传输</li><li><strong>综合项目</strong>:把这些模块整合起来,做一个小系统</li></ul><p>每个实验我都会写详细的注释,理解每一行代码的作用。遇到问题就查手册、看波形、单步调试,直到完全搞懂为止。</p><h3>四、行业知识了解</h3><p>比亚迪是做汽车的,所以面试官问了汽车电子和功能安全的问题。虽然我之前没接触过,但提前了解一些行业知识还是很有必要的:</p><ul><li><strong>汽车电子架构</strong>:ECU、BCM、VCU这些控制器的作用</li><li><strong>车载网络</strong>:CAN总线、LIN总线、FlexRay的应用</li><li><strong>功能安全</strong>:ISO 26262标准的基本概念</li><li><strong>行业趋势</strong>:新能源汽车、智能驾驶、域控制器</li></ul><p>我在面试前看了一些汽车电子的科普文章和技术博客,虽然不深入,但至少能和面试官聊上几句,展现出对行业的兴趣。</p><h3>五、时间规划建议</h3><p>我从去年12月开始准备,到现在差不多2个月时间。我的时间安排是:</p><ul><li><strong>第1-2周</strong>:复习C语言、数据结构、操作系统基础</li><li><strong>第3-4周</strong>:学习STM32或其他MCU的外设编程,做实验</li><li><strong>第5-6周</strong>:深挖项目经验,整理技术文档,准备项目讲解</li><li><strong>第7-8周</strong>:刷面经、模拟面试、查漏补缺</li></ul><p>每天保持4-5小时的有效学习时间,周末可以多做一些综合性的项目。面试前一周要把所有知识点过一遍,确保不会遗忘。</p><h3>六、面试心态调整</h3><p>说实话,面试前我还是挺紧张的,毕竟比亚迪是大厂。但面试过程中我发现,只要准备充分,自信表达就好。有几点建议:</p><ul><li><strong>诚实回答</strong>:不会的问题不要硬编,可以说&quot;这个我不太了解,但我可以说说我的理解&quot;</li><li><strong>主动引导</strong>:把面试官往自己熟悉的方向引,比如&quot;这个问题让我想到了我项目中的一个场景&quot;</li><li><strong>展现热情</strong>:表现出对嵌入式开发的热爱,对汽车行业的兴趣</li><li><strong>保持谦虚</strong>:即使答得很好,也不要显得太骄傲,要有学习的态度</li></ul><p>面试是双向选择,不要把自己放得太低。展现出你的技术实力和学习能力,让面试官看到你的潜力。</p><h2></h2><p>比亚迪的一面整体难度适中,但很考验基础和项目经验。面试官很nice,会根据你的回答继续深挖,所以一定要对自己说的每句话负责。我觉得这次面试发挥得还不错,虽然有几个问题答得不够完美,但整体思路是清晰的。</p><p></p>
AI 推荐面试题