补发一篇 秋招小米的面经,附自己的复盘解答

1. 进程和线程的区别?

进程是程序的一次执行实例,拥有独立的地址空间和系统资源;

线程是进程内的执行单元,多个线程共享所属进程的资源,但各自拥有独立的栈和寄存器状态。

区别:进程间隔离性强、开销大;线程轻量、通信高效,但需同步机制保障安全。

2. 什么是死锁?如何预防?

死锁是多个进程/线程互相等待对方释放资源。

预防:按固定顺序加锁、避免持有并等待、使用超时机制。

3. STM32的GPIO有哪几种工作模式?

输入(浮空/上拉/下拉)、输出(推挽/开漏)、复用功能、模拟模式。

4. volatile关键字作用?

告诉编译器该变量可能被外部(如硬件、中断)修改,禁止优化,每次必须从内存读取。

5. 堆和栈的区别?

栈由系统自动管理,速度快但容量小;

堆需手动分配(malloc/new),灵活但易泄漏、速度慢。

6. TCP和UDP区别?

TCP面向连接、可靠、有序;

UDP无连接、不可靠、低延迟,适用于音视频等实时场景。

7. 什么是三次握手?

Client发SYN → Server回SYN+ACK → Client发ACK,建立可靠连接,防止历史请求干扰。

8. I2C和SPI的区别?

I2C:两线(SDA/SCL)、半双工、多主多从、速度慢;SPI:四线(MOSI/MISO/SCLK/CS)、全双工、主从结构、速度快。

9. 为什么析构函数要声明为虚函数?

确保通过基类指针删除派生类对象时,能正确调用派生类析构函数,避免资源泄漏。

10. new 和 malloc 的区别?

new 是C++操作符,调用构造函数、类型安全;malloc 是C函数,只分配内存,返回void*。

11. 什么是看门狗?作用?

看门狗是硬件定时器,程序需定期“喂狗”,否则超时复位,用于防止系统死锁。

12. RTOS的任务调度方式?

优先级调度(高优先执行)、时间片轮转(同优先级轮流执行),支持抢占。

13. Linux设备节点在哪?

在 /dev 目录下,如 /dev/ttyS0、/dev/mmcblk0。

14. 常量存储在哪个内存区?

字符串字面量等常量存放在只读数据段(常量区),程序结束由系统回收。

15. 硬链接和软链接区别?

硬链接共享inode,不能跨文件系统;

软链接是独立文件,指向路径,可跨文件系统。

16. 中断和异常的区别?

中断来自外部硬件(异步),异常由CPU内部错误或指令触发(同步)。

17. C程序编译四阶段?

预处理 → 编译 → 汇编 → 链接。

18. static的作用?

限制作用域(文件内)或延长生命周期(局部静态变量),类中表示共享成员。

19. 大小端是什么?网络用哪种?

大端:高位存低地址;

小端:低位存低地址。网络字节序为大端。

20.如何查看Linux系统性能?

用 top、htop、free -h、iostat、vmstat 等命令监控CPU、内存、IO等。

21.C/C++程序内存分布情况,常量所在的区 

C/C++程序内存分为五区:栈(局部变量)、堆(动态分配)、全局/静态区(全局和static变量)、常量区(字符串字面量、const全局/静态变量,只读)、代码区(函数机器指令)。

其中常量(如 "hello"、const char* p = "..." 中的字符串)存储在常量区,程序结束时由系统释放。

嵌入式软件工程师面试完全指南

面经一共32篇文章,12w+字数,包含全部最新的面试必问考点,4.7w+同学学习,2800+订阅,非常适合在找工作面经薄弱的同学,3200+订阅还会涨价,提前订阅提前享受,持续更新中。

原帖链接:https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM

全部评论
有没有湖南人想来中车株洲所的啊,音视频软件开发,要求本硕211及以上
点赞 回复 分享
发布于 01-14 22:51 湖南
一看就是嵌入式,驱动应用都有问到
点赞 回复 分享
发布于 01-12 10:10 陕西
一看就是嵌入式的岗位哈哈哈
点赞 回复 分享
发布于 01-12 09:23 广东

相关推荐

三个面试大概都是40分钟左右,每个面试都是开局2分钟的自我介绍第一个面试,介绍完之后,详细问了实习项目,会让你绘制项目电路图,项目框图,会比较细挖设计方法,然后会根据项目询问相关的知识,然后还会问一些模数电的知识,最后还会抽问笔试的题。然后我是全都不会。。。项目是快两年了,都忘了咋设计的,问stm32的结构,我说是网上照抄的,抽之前做对的笔试题是没答上来的。。。当时我还想着这次一面就可以直接结束了,居然还能继续二面,还得是华子😦(这里面试官还一直说问点简单的。。。😳)第二个面试同样介绍,同样根据项目提问,但这次,回来了,我失去的记忆都回来了!还是很好回答上了,又问了下这个项目技术应用方向等等,最后补了一个手撕,但问的是DCDC和LDO的相关知识,但我逆天押题,完美回答😎最后主管面,一样介绍,这里简单问一下项目,不会深挖,然后问一些常规问题,项目收获,项目难点和解决方法,职业规划,考研看法,学的专业课,平时成绩,自认学习能力如何,公司看法,还问了你和研究生比有什么优势(我直接说我和本科生比有优势,我和研究生没有可比性),又问我如果你比不过同龄人怎么办(我直接说换赛道😁),一直严肃的面试官也笑了总结:一定要把项目记清楚,细节一定要做好,相关知识一定要全面,本身的自我介绍也是有一定引导性,怎么讲的,面试官也大概会怎么去问,把自己擅长方向着重强调一下,让面试官去问你😼,然后就是主管面,很多常规问题,提前准备好说辞,别怯场,面试官严肃,自己也要表现的自信别紧张其实华为泡不泡出来也无所谓,这里就当给兄弟们试试水了,现在已经是签了东莞新能德,违约换宁德时代了,家里条件有点禁不起换了😢祝大家offer多多啊不过确实很准点,华为1145和准点的25小时后
查看17道真题和解析
点赞 评论 收藏
分享
评论
2
7
分享

创作者周榜

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