联发科嵌入式一面 面经

联发科嵌入式一面偏向底层理解 + 系统思维 + 追问能力,问题通常从基础切入,但会不断深入到实现机制、设计权衡以及工程场景,重点看是否真正理解“为什么”。

二、面试题目

  1. static关键字在不同作用域下的本质区别?编译期和链接期分别如何处理?
  2. volatile的作用边界是什么?为什么它不能保证原子性?通常在哪些场景必须使用?
  3. malloc的内存分配机制(如brk/mmap)?如何避免内存碎片?
  4. 栈和堆的增长方式?函数调用时栈帧结构是怎样的?
  5. 结构体内存对齐的规则?如何手动控制对齐?对性能的影响是什么?
  6. 指针越界为什么危险?在MMU存在和不存在时有何区别?
  7. 进程和线程在Linux中的本质区别(task_struct角度)?
  8. 上下文切换具体保存了哪些内容?为什么代价高?
  9. 互斥锁、自旋锁、信号量的实现原理及适用场景?
  10. 死锁如何检测?实际工程中如何避免?
  11. select / poll / epoll底层实现区别?epoll为什么更高效?
  12. 虚拟内存到物理内存的映射过程?TLB的作用是什么?
  13. cache一致性问题是如何产生的?MESI协议大致原理?
  14. 中断处理流程(从硬件触发到ISR执行)?为什么要有上半部和下半部?
  15. SPI和I2C在硬件实现上的本质区别?各自适用场景?
  16. Bootloader启动流程(从上电到内核加载)?
  17. 字符设备驱动的基本结构?read/write调用路径?
  18. 在项目中如何定位一个“偶现”的系统卡死问题?请给出完整思路

嵌入式八股文专栏(全网最全面的嵌入式八股文专栏,包含大厂面试题):https://www.nowcoder.com/creation/manager/columnDetail/mPZ4kk

三、总结

整体面试不在于题目多难,而在于是否能从一个问题不断深入讲清原理。能讲到数据结构、系统调用、硬件行为这一层,基本就能拉开差距。

四、面试准备方法

1. 建立“知识纵深”而不是只记概念每个知识点至少准备三层:

  • 是什么(定义)
  • 为什么(原理)
  • 怎么用(场景 + trade-off)

2. 重点打通三条主线

  • C语言 → 内存模型 → 编译/链接
  • 操作系统 → 调度 → 同步机制 → IO模型
  • 嵌入式 → 驱动 → 硬件接口 → 系统启动

3. 项目准备按“面试官视角”重构至少准备清楚:

  • 架构设计(为什么这样分层)
  • 核心难点(如何解决)
  • 性能/稳定性优化(有没有量化结果)

4. 强化“追问能力”训练练习方式:

  • 自问自答:每个问题连续追问3层
  • 例如:epoll → 为什么快 → 红黑树/回调 → 内核态机制

5. 模拟真实表达场景

  • 每题控制在1~2分钟说清核心
  • 少背诵,多“推导式表达”
  • 避免只给结论,要讲过程

全部评论

相关推荐

点赞 评论 收藏
分享
03-17 23:54
黑龙江大学 Java
来个白菜也好啊qaq:可以的,大厂有的缺打手
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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