宇树机器人面经(嵌入式/机器人方向)

一面(基础技术面)

自我介绍,然后开始问基础,偏嵌入式底层和RTOS:

设计一个带看门狗(Watchdog)的嵌入式系统,描述故障恢复流程

UART、SPI、I2C 协议的核心差异及典型应用场景

推挽输出与开漏输出的区别?举例说明在 GPIO 控制中的应用

如何通过 DMA 减少 CPU 在数据传输中的负载

系统时钟配置对低功耗设计的意义是什么

嵌入式操作系统(如 FreeRTOS)中任务的状态有哪些?状态切换条件

实时操作系统(RTOS)的“硬实时”与“软实时”区别

RTOS 的任务调度策略有哪些?如何保证实时性

任务间通信方式(信号量、消息队列、管道)的适用场景及优缺点

如何避免中断服务程序(ISR)中的竞争条件

中断服务函数(ISR)的设计原则?为什么要避免在 ISR 中执行复杂逻辑

malloc 与 free 的使用注意事项,malloc(0) 的行为是什么

解释“野指针”与“内存泄漏”的调试方法

什么是内存对齐?

静态全局变量与普通全局变量的区别?static 修饰函数的作用

对整型变量 a,编写代码设置 bit3 并清除 bit3(保持其他位不变)

解释 PWM 的工作原理,如何通过定时器实现占空比调节

信号量的作用是什么?如何实现生产者-消费者模型

二面(深入技术面 / 项目深挖)

主要围绕项目展开,结合系统设计、通信、控制:

在资源受限 MCU 上实现 OTA 升级功能,描述关键设计点

如何实现 OTA(空中升级)功能?描述固件校验和回滚机制的设计要点

如何检测栈溢出?嵌入式系统中栈分配的策略

解释内存碎片问题,嵌入式系统中如何优化动态内存分配

解释“自旋锁”与“互斥锁”的区别,嵌入式场景中的选择依据

自旋锁与互斥锁的区别?哪种更适合高优先级任务频繁抢占的场景?

解释优先级反转问题及解决方案(如优先级继承)

realloc 函数可能引发的内存问题?如何安全使用

嵌入式系统中 ROM 与 RAM 运行模式的区别?代码段与数据段如何分配

在纯 ANSI C 环境下,如何将绝对地址 0x67a9 的整型变量赋值为 0xaa66

进程间通信的 8 种方式及其适用场景(如管道、消息队列、共享内存等)

CAN 总线相关:

CAN 总线负载如何计算

为什么会出现 bus off

TEC 增长的原因

机器人运动控制中,如何通过 PID 算法实现电机精准调速?参数整定方法

多传感器融合(如 IMU、激光雷达)在机器人定位中的实现难点

字符设备驱动开发的基本流程(从注册设备到用户空间交互)

如何通过设备树(Device Tree)描述硬件资源?举例说明节点定义

如何优化嵌入式代码的功耗(从硬件选型、时钟配置、休眠策略等多角度分析)

解释“可重入函数”与“线程安全”的区别,C 标准库函数是否可重入

死锁的四个必要条件是什么?如何通过银行家算法避免死锁

当时准备嵌入式面试的时候,最大的问题不是不会,而是:

👉 知识点太散,没有一套成体系的东西

后来我自己把面经和常见考点重新整理了一遍,按模块做成了一个合集(RTOS、通信、内存、驱动这些都有),目前还在持续更新。

对那种想系统梳理一遍嵌入式知识的同学会比较有用👇

https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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