联想嵌入式软件开发一面 面经

最近整理了一次 联想嵌入式软件开发岗位的一面面试问题。整体感觉是:面试更偏向 基础扎实程度 + 对嵌入式系统的理解深度,很多问题看起来很基础,但如果深入问下去,其实比较考察底层理解。

一面整体节奏通常是:

  • 简单自我介绍
  • 项目介绍
  • 基础技术问题
  • 根据项目延伸提问

下面整理了一些比较有代表性的题目,仅供准备面试时参考。

一面技术问题

  1. volatile 关键字在嵌入式开发中的作用是什么?在哪些场景必须使用?
  2. const、static、extern 这几个关键字分别有什么作用?在嵌入式开发中常见的使用场景是什么?
  3. 栈(stack)和堆(heap)有什么区别?在嵌入式系统中为什么通常不推荐频繁使用动态内存?
  4. 结构体内存对齐的原理是什么?如果关闭内存对齐会带来什么影响?
  5. 什么是中断?中断处理函数设计时需要注意哪些问题?
  6. 中断和轮询各自的优缺点是什么?在什么情况下更适合使用中断?
  7. 什么是临界区?在嵌入式系统中如何保护临界区?
  8. 如果系统中出现竞态条件(Race Condition),一般有哪些解决方法?
  9. UART、SPI、I2C 三种通信方式有什么区别?各自适合什么应用场景?
  10. CAN 总线通信的基本特点是什么?为什么在汽车电子中使用非常广泛?
  11. 什么是 CAN FD?相比传统 CAN 有哪些改进?
  12. 在嵌入式系统中,如果任务优先级设计不合理可能会出现什么问题?
  13. 什么是优先级反转(Priority Inversion)?一般有哪些解决方案?
  14. 如果嵌入式系统出现偶发死机,你会如何排查问题?

八股文准备方法

在准备嵌入式面试时,很多人会整理所谓的“八股文”,但如果只是单纯记答案,往往很难应对深入追问。比较有效的方法通常有以下几种。

第一,按知识模块整理。将常见面试知识划分为几个核心模块,例如:

  • C语言基础
  • 嵌入式系统基础
  • 操作系统(RTOS)
  • 通信协议
  • 系统调试与问题定位

每个模块整理 10~20 个核心问题,形成自己的知识框架。

第二,结合项目经验理解问题。很多面试官在问完基础问题后,往往会追问:“在你的项目中有没有用到?”因此在复习时,可以尝试把知识点和自己的项目经验联系起来。

第三,建立自己的知识笔记。将常见问题整理成一份文档或笔记,每个问题形成一个简短的知识点总结,定期复习,可以快速巩固基础。

第四,多进行模拟表达。面试不仅考察知识,还考察表达能力。可以尝试自己讲一遍问题的思路,让回答更加清晰、有逻辑。

嵌入式八股文专栏https://www.nowcoder.com/creation/manager/columnDetail/mPZ4kk

(专栏包括各类基础八股文以及大厂面试题等内容)

嵌入式面试常考的20个八股文问题

下面整理了一些嵌入式面试中出现频率比较高的经典问题:

  1. volatile 的作用是什么?
  2. const 在嵌入式开发中的使用场景有哪些?
  3. static 关键字有哪些作用?
  4. 指针和数组有什么区别?
  5. sizeofstrlen 的区别是什么?
  6. 结构体内存对齐为什么存在?
  7. 栈和堆有什么区别?
  8. 什么是内存泄漏?
  9. 什么是中断?
  10. 中断处理函数为什么要尽量简短?
  11. 什么是临界区?
  12. 什么是竞态条件?
  13. 什么是死锁?
  14. 什么是优先级反转?
  15. UART、SPI、I2C 的区别是什么?
  16. CAN 总线的基本特点是什么?
  17. 什么是 CAN FD?
  18. 看门狗(Watchdog)的作用是什么?
  19. Bootloader 的作用是什么?
  20. 嵌入式系统出现死机时如何定位问题?

全部评论

相关推荐

03-13 23:30
已编辑
小红书_后端开发
请先做一个简单的自我介绍。对于Java中的锁机制,你有什么理解?在悲观锁中,Java语言层面有哪些实现方式?它们之间的区别是什么?synchronized和reentrant lock在等待与唤醒机制上有什么区别?你对线程池的理解是怎样的?在使用线程池执行任务时,一般需要注意哪些问题?如何让主线程感知到线程内部的异常?如果线上应用频繁出现GC问题,可能是什么原因导致的?Spring AOP使用的哪种设计模式及代理方式?在哪些场景下会使用Spring AOP,以及使用时应注意哪些问题?问:InnoDB数据库中的索引使用何种数据结构,B+树和B树有何区别?在MySQL中,如何通过explain查询来分析circle执行计划并找出性能差的原因?当查询涉及到多个字段且索引设计有问题时,该如何排查和优化?对于存储数据量大的表,应如何分析其性能问题并提出解决方案?在处理频繁的修改和查询操作时,如何避免引发性能问题?问实习:在对象存储中,你们采用了哪两种经典方式?当时在测试环境中遇到了什么新问题?为了解决这个问题,你们采取了什么优化措施?....算法题:好像easy还是middle直接秒了(已经好久好久没刷题了 稍微写慢了一点)反问:部门业务大概是什么样的?答:部门属于公司个性化工程平台部,主要负责个性化让利、触达、超级VIP体系以及用户画像和标签数据四块业务。
查看17道真题和解析
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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