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

前言

最近总结了一份深圳广和通(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方向的
点赞 回复 分享
发布于 01-21 12:32 陕西
这是你面试广和通的一面面经么,佬。oc了吗?
点赞 回复 分享
发布于 01-21 11:18 广东

相关推荐

1. 请介绍你最近参与的一个复杂项目,你在其中负责哪些模块?遇到了哪些技术挑战?2. 针对一个高并发的搜索功能,你会从哪些维度设计测试用例?3. 搜索结果不准确,可能有哪些原因?如何系统性地排查?4. 你了解搜索系统的整体架构吗?比如微服务、ES、MySQL 各自承担什么角色?5. 如何验证推荐算法或排序策略是否生效?6. 接口自动化框架你是如何搭建的?用了哪些设计模式?7. 自动化测试如何与 CI/CD 流水线集成?请描述完整流程。8. 你们的自动化用例维护成本高吗?如何提升可维护性和稳定性?9. 如何设计一个可扩展、易维护的 UI 自动化框架?10. 自动化测试中如何处理动态元素、弹窗、验证码等问题?11. 有没有做过接口性能压测?使用什么工具?如何分析瓶颈?12. JMeter 中如何模拟真实用户行为进行阶梯加压?13. TPS 下降但 CPU 使用率不高,可能是什么原因?14. 如何监控和定位内存泄漏问题?15. 数据库慢查询如何发现和优化?测试人员能做什么?16. 如何做全链路压测?需要哪些前置条件?17. 你们的测试数据是如何准备和管理的?如何保证隔离性?18. 如何实现测试环境的数据一致性校验?19. 在微服务架构下,如何高效定位是哪个服务导致了问题?20. 有没有做过安全测试?如何测试 SQL 注入、XSS 等漏洞?21. 如何验证灰度发布是否成功?回滚机制是否有效?22. 线上出现偶发性 Bug,本地无法复现,你会怎么处理?23. 如何推动开发提高代码质量,减少低级 Bug?24. 你如何定义“测试完成”?上线前的准入和准出标准是什么?25. 测试左移具体落地时,你做了哪些工作?(如参与需求评审、契约测试等)26. 是否使用过契约测试(如 Pact)?在什么场景下引入?27. 如何评估自动化 ROI(投入产出比)?28. 团队中自动化覆盖率目标是多少?如何达成?29. 你如何带新人或推动团队测试规范建设?30. 未来三年,你希望在测试领域深入哪个方向?为什么?
查看30道真题和解析
点赞 评论 收藏
分享
评论
2
8
分享

创作者周榜

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