经纬恒润嵌入式软件开发 最新面经出炉

这是一位学员投稿的经纬恒润嵌入式软件开发岗位一面面经。整体看下来,这场面试的题目覆盖面比较广,但难度不算特别高,主要集中在嵌入式开发的基础知识,包括 C 语言、STM32/单片机常识、SPI/I2C/TCP 等通信相关内容,以及一些和硬件认知有关的问题。

如果平时有做过单片机项目,学过 STM32,复习过 C 语言和常见通信协议,这套题其实是比较典型的一面风格。

一、面试题目整理

根据学员投稿,面试中提到的问题大致如下:

  1. static 的作用
  2. static 在函数里面的作用
  3. SPI 在什么地方用了
  4. I2C 的起始信号,几根线
  5. 函数指针和指针函数的区别
  6. TCP 的握手和挥手
  7. 结构体和联合体的区别
  8. 低功耗时的电流、正常工作的电流
  9. 会看一些原理图或芯片手册吗
  10. i++++i 的区别
  11. 定义函数中的常量,放在哪里
  12. 栈和堆的区别
  13. 时钟用外部还是内部,STM32 的时钟
  14. Flash 容量
  15. 用什么烧录
  16. I2C 为什么需要上拉电阻
  17. 你有几块板子
  18. Flash 和 RAM 的区别

全网最全面的嵌入式八股文专栏:https://www.nowcoder.com/creation/manager/columnDetail/mPZ4kk

(涵盖全面的面试八股文资料以及各类大厂面试题)

二、题目分类:这场一面主要在考什么

从这些问题来看,面试官主要在考四个方向。

1. C 语言基础是否扎实

这部分包括:

  • static 的作用
  • static 在函数内的作用
  • 函数指针和指针函数的区别
  • i++++i 的区别
  • 结构体和联合体的区别
  • 栈和堆的区别
  • Flash 和 RAM 的区别
  • 函数中的常量放在哪里

这类题目非常像筛选题,目的不是为难人,而是看你是不是具备嵌入式岗位最基本的语言功底。尤其是 static、栈堆、结构体联合体、函数指针这几类,几乎属于高频八股。

其中“函数中的常量放在哪里”这种题,稍微比背定义更进一步,开始考察你对存储区、编译器处理方式、只读数据区等概念的理解。

2. 通信协议和接口基础

这部分包括:

  • SPI 在什么地方用了
  • I2C 起始信号、几根线
  • I2C 为什么需要上拉电阻
  • TCP 的三次握手和四次挥手

这类题目一方面考察基础知识,另一方面也在看你是否真的做过项目。

比如 SPI 和 I2C,单纯背概念不够,面试官继续问“你项目里哪里用到了”,其实就是在判断你是否接触过传感器、EEPROM、显示屏、外围芯片等真实场景。

TCP 放在这套题里也比较常见,因为很多嵌入式岗位虽然偏底层,但也会要求对网络通信有基本认知,尤其是车载、网关、物联网等方向。

3. 单片机/STM32 与硬件认知

这部分包括:

  • STM32 的时钟,使用外部还是内部
  • Flash 容量
  • 用什么烧录
  • 低功耗电流、正常工作电流
  • 会不会看原理图或芯片手册
  • 有几块板子

这一类问题很有“嵌入式面试味道”。面试官不是只想知道你会不会写代码,还想知道你有没有真正接触板子、芯片、调试工具和实际开发流程。

尤其是:

  • “会不会看原理图/芯片手册”
  • “用什么烧录”
  • “你有几块板子”

这几个问题都很偏实践,非常像在判断你是不是“做过东西的人”。

4. 项目真实性和动手能力

像“SPI 在什么地方用了”“低功耗电流多少”“你有几块板子”“用什么烧录”这类题目,都不只是知识题,更偏向项目追问。

换句话说,面试官其实在侧面确认:

  • 你是否真的做过嵌入式项目
  • 你是否接触过开发板和外设
  • 你是否理解软硬件结合的开发环境
  • 你是否有调试经验,而不是只会背八股

三、整体难度分析

如果给这场一面定一个难度,我觉得可以算:

基础难度中等,综合难度中等偏下,偏重基础筛选。

原因主要有三点。

第一,题目广,但不深。

问题覆盖 C 语言、协议、STM32、硬件常识、项目实践,但从题目本身来看,大多数停留在“一问一答”的基础层面,没有特别深入到寄存器级细节、复杂系统设计或者 RTOS 调度机制。

第二,重点是判断基础是否完整。

这类面试更像是在筛掉基础薄弱、项目不真实或者知识体系断层比较明显的同学。只要你系统学过嵌入式常见知识,这些问题大部分都应该能接住。

第三,实践色彩比较明显。

虽然题目不难,但如果没有做过板子、没看过手册、没配过外设、没碰过烧录调试,回答时会比较虚。也就是说,这场面试看起来八股不难,实际上对“真实项目经历”的要求并不低。

四、哪些题最容易拉开差距

这套题里,真正能拉开差距的,通常不是最难的题,而是那些“基础+实践结合”的题。

比如:

  • SPI 在什么地方用了
  • 低功耗时电流、正常工作电流
  • 会看原理图或芯片手册吗
  • STM32 时钟配置
  • 用什么烧录
  • I2C 为什么需要上拉电阻

这类题如果只是背书式回答,面试官一般会继续追问。

但如果你能结合项目讲清楚:

  • 外设是怎么接的
  • 为什么选 SPI/I2C
  • 时钟为什么这么配
  • 上拉电阻为什么必须有
  • 功耗大概是多少、怎么测的
  • 你用过 J-Link、ST-Link 还是串口烧录

那整体表现就会明显更好。

五、适合什么水平的同学

这套题比较适合以下几类同学参考:

  • 准备嵌入式开发校招的一面同学
  • 做过 STM32/51/ESP32 项目的同学
  • C 语言、通信协议已经学过,但项目表达还不够顺的同学
  • 想知道企业一面更关注“基础”还是“项目”的同学

如果你现在处于“学过很多知识,但不知道面试会怎么问”的阶段,这份面经很有参考价值,因为它体现了一种很典型的企业思路:

不一定上来问特别难的问题,但会通过基础题和项目追问,判断你到底会不会。

六、备考建议

针对这类面试,建议重点准备下面几个方向:

  1. 把 C 语言高频题重新过一遍。重点包括 static、指针、函数指针、结构体/联合体、栈堆、存储区、++i/i++。
  2. 把常见通信协议讲熟。至少要能说清 SPI、I2C、UART 的特点、使用场景、引脚、通信方式,以及项目里怎么用过。
  3. STM32 基础一定要结合实战。比如时钟树、GPIO、定时器、中断、串口、I2C/SPI、烧录调试方式,最好都能结合项目说。
  4. 学会描述自己的硬件实践。包括板子型号、用过哪些外设、看过哪些手册、怎么连线、怎么调试、怎么定位问题。
  5. 准备一些“追问型回答”。不要只背定义,要提前想好“这个知识点在项目里怎么体现”。

七、总结

整体来看,这场经纬恒润嵌入式软件开发一面并不算特别难,但很典型。题目以基础知识为主,穿插项目和硬件实践相关问题,核心是考察候选人是否具备较完整的嵌入式知识框架,以及是否真的做过开发。

如果你的 C 语言基础比较扎实,做过 STM32 或其他单片机项目,了解常见通信协议,并且能把项目经历讲具体,这类一面是完全可以应对的。

全部评论

相关推荐

今天 01:16
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

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