深圳广和通嵌入式软件工程师一面总结

前言

最近总结了一份深圳广和通(Fibocom)嵌入式软件工程师的一面面经,整个面试时长约40分钟。广和通作为国内领先的无线通信模组供应商,在物联网、车联网、智能终端等领域有着广泛的应用,其产品涵盖 4G、5G、NB-IoT 等多种通信制式。因此,公司对嵌入式工程师的要求不仅限于基础的单片机开发,更看重候选人在 RTOS、通信协议、底层驱动等方面的实战经验。

这次面试主要由一位技术主管进行,整体氛围比较轻松,面试官会根据简历上的项目经历进行深入提问,同时穿插一些嵌入式领域的经典问题。面试内容主要分为三个部分:项目经历介绍(约10分钟)、技术基础考察(约25分钟)、反向提问环节(约5分钟)。值得注意的是,广和通的面试更注重实际工程能力而非纯理论,面试官会通过具体场景来考察你的问题分析和解决能力。

对于准备面试的同学,建议提前梳理自己做过的项目,特别是涉及到通信模组、RTOS、多任务调度的部分,这些都是面试的重点。此外,由于广和通的业务特性,对串口通信、AT 指令、网络协议栈等知识的掌握会是明显的加分项。

面试题目

  1. 简单介绍一下你做过的嵌入式项目,用到了哪些外设和通信协议?
  2. STM32 的启动流程是怎样的?从上电到 main 函数执行经历了哪些步骤?
  3. 讲一下 RTOS 的任务调度机制,你用过哪些 RTOS?抢占式调度和时间片轮转调度有什么区别?
  4. 如果一个任务一直占用 CPU 不释放,会导致什么问题?如何避免?
  5. 信号量、互斥锁、消息队列分别适用于什么场景?它们的区别是什么?
  6. UART、SPI、I2C 这三种通信方式的特点和应用场景分别是什么?
  7. 如果 ST-LINK 无法连接到芯片,可能是什么原因?你会如何排查和解决?
  8. 讲一下中断的优先级分组,Cortex-M3 的 NVIC 是如何管理中断的?
  9. 什么是 HardFault?遇到 HardFault 异常时你会如何调试定位问题?
  10. 栈溢出会导致什么现象?如何检测和预防栈溢出?
  11. volatile 关键字的作用是什么?在嵌入式开发中什么时候必须使用它?
  12. 如何实现一个软件定时器?需要考虑哪些因素?
  13. 你在项目中遇到过最棘手的 bug 是什么?最后是如何解决的?
  14. 了解过 4G/5G 模组的 AT 指令吗?如何通过串口与模组通信?
  15. 你有什么想问我的吗?

嵌入式面试八股文专栏:https://www.nowcoder.com/creation/manager/columnDetail/mPZ4kk 涵盖各个大厂面试题以及基础总结。

总结与备考建议

面试整体评价

广和通的一面整体难度适中,更侧重于工程实践而非纯理论考察。面试官的提问逻辑清晰,会从你的项目经历出发,逐步深入到技术细节。整个过程比较像技术交流,而不是单纯的"背书式"考核。如果你有扎实的项目经验,能够清晰地表达自己的技术思路,通过一面的概率还是比较大的。

面试中特别看重以下几点:

  1. 实际项目经验:能否清晰描述项目架构、遇到的问题和解决方案
  2. 调试能力:遇到 bug 时的排查思路和使用的工具
  3. RTOS 理解:不仅要知道怎么用,还要理解底层原理
  4. 通信协议:串口、SPI、I2C 等常用接口的深入理解
  5. 问题分析能力:给出场景后能否快速定位问题根源

如何准备嵌入式八股文

嵌入式领域的八股文相对于互联网岗位来说更注重实践,但核心知识点还是需要系统梳理的。以下是我总结的备考方法:

1. 建立知识体系框架

不要零散地背题,而是要建立完整的知识体系。可以按照以下模块整理:

  • MCU 基础:启动流程、时钟树、存储器映射、中断系统
  • 外设驱动:GPIO、UART、SPI、I2C、ADC、DMA、定时器
  • RTOS 核心:任务管理、调度算法、同步互斥、内存管理
  • 通信协议:串口协议、Modbus、CAN、TCP/IP 基础
  • 调试技巧:常见异常分析、调试工具使用、性能优化

2. 结合实际项目理解

每个知识点都要能联系到实际应用场景。比如学习互斥锁时,要能想到"多个任务访问共享资源(如 UART)时需要加锁保护"。这样在面试时才能举出具体例子,而不是干巴巴地背定义。

3. 重点突破高频考点

根据我收集的面经,以下是嵌入式面试的高频考点(按重要性排序):

  • RTOS 任务调度机制(几乎必问)
  • 中断系统和优先级(80%会问)
  • 信号量、互斥锁、消息队列的区别(70%会问)
  • volatile 关键字(60%会问)
  • 指针和内存管理(60%会问)
  • 通信协议对比(50%会问)
  • 调试经验和 bug 排查(40%会问)

4. 准备项目案例库

建议准备 2-3 个典型项目案例,每个案例要能回答以下问题:

  • 项目背景和你的职责
  • 技术架构和选型理由
  • 遇到的技术难点
  • 解决方案和优化思路
  • 最终效果和收获

5. 动手实践验证

对于不确定的知识点,一定要动手验证。比如不确定栈溢出的现象,就写个递归函数测试一下;不理解任务优先级反转,就用 RTOS 写个 demo 复现。实践过的知识点在面试时会更有底气。

6. 刷题与模拟面试

  • 在牛客网、CSDN 等平台刷嵌入式面经
  • 找同学或朋友进行模拟面试
  • 录音自己的回答,检查表达是否清晰
  • 总结每次模拟的不足,针对性改进

7. 关注行业动态

对于广和通这类通信模组公司,了解一些行业知识会是加分项:

  • 5G 模组的应用场景
  • 物联网通信协议(MQTT、CoAP)
  • 车联网 V2X 技术
  • 低功耗设计方法

最后的建议

面试不是考试,不需要把每个知识点都背得滚瓜烂熟。面试官更看重的是你的学习能力、解决问题的思路和沟通表达能力。遇到不会的问题,可以坦诚说"这个我不太熟悉,但我的理解是...",然后说出自己的思考过程,这比胡乱回答要好得多。

此外,一定要准备几个有深度的问题在反向提问环节提出,比如"团队目前在做的项目方向"、"技术栈的选型考虑"、"新人的成长路径"等,这能体现你对这份工作的重视和思考。

全部评论
广和通的啊,这么一看就是MCU方向的
点赞 回复 分享
发布于 昨天 12:32 陕西
这是你面试广和通的一面面经么,佬。oc了吗?
点赞 回复 分享
发布于 昨天 11:18 广东

相关推荐

01-19 12:48
门头沟学院 C++
只想搞钱的鸽子很喜欢...:混账是很多的,还有那些在自己风华正茂的年纪说风凉话讥讽那些下岗前员工的。这些人都是现在职场环境这么烂的帮凶
点赞 评论 收藏
分享
评论
点赞
4
分享

创作者周榜

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