经纬恒润 嵌入式软件开发一面:被八股文轰炸是一种什么体验

上周刚面完经纬恒润的嵌入式软件开发岗,整场面试大概40分钟,简历过得很快,剩下的时间基本全是八股文连环炮。没有太多项目深挖,就是一道接一道,答完一个马上下一个,节奏很快。

题目覆盖面挺广,C基础、操作系统、RTOS、通信协议都有,难度分布也比较均匀,有些很基础,有些挖得比较深。整体感觉经纬恒润对基础知识的扎实程度要求比较高,想靠蒙混过关基本不太行。

  1. const 和 volatile 关键字分别有什么作用?可以同时修饰一个变量吗?
  2. 指针和引用的区别是什么?什么场景下必须用指针?
  3. 堆和栈的区别是什么?函数调用时栈帧里存了什么?
  4. 什么是内存对齐?结构体的大小怎么计算?
  5. static 变量在嵌入式中有哪些常见用法?
  6. 什么是中断?中断服务程序(ISR)编写时需要注意哪些事项?
  7. 什么是竞态条件?在嵌入式裸机开发中如何避免?
  8. FreeRTOS 中任务调度的原理是什么?优先级抢占是怎么实现的?
  9. 互斥量和二值信号量有什么区别?什么场景下用互斥量而不是信号量?
  10. 什么是优先级反转?FreeRTOS 是如何解决这个问题的?
  11. DMA 是什么?使用 DMA 传输数据时需要注意哪些问题?
  12. I2C 和 SPI 协议的区别是什么?各自适合什么场景?
  13. CAN 总线的仲裁机制是怎么工作的?如何判断哪个节点优先发送?
  14. 什么是看门狗?软件看门狗和硬件看门狗有什么区别?
  15. 如果系统出现随机性死机,你会从哪些方向入手排查?

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

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

嵌入式八股文复习策略

经历这场面试之后,有几点复习建议想分享一下。

嵌入式的八股文和纯软件开发不太一样,光靠背概念是不够的,很多题目会追问"为什么"和"怎么用"。比如问 volatile,不只是说"防止编译器优化",还会追问在什么硬件场景下必须加,不加会出什么问题。

复习优先级建议按这个顺序来:C语言基础(指针、内存、关键字)→ 操作系统基础(进程线程、同步互斥)→ RTOS(FreeRTOS任务调度、通信机制)→ 硬件接口协议(I2C/SPI/CAN/UART)→ 调试和问题排查思路。

每个知识点复习完之后,试着用自己的话口头讲一遍,能讲清楚才算真的掌握了。面试节奏快的时候,脑子里有清晰的框架比临时组织语言要稳得多。

最后,项目经验还是要准备好,八股文答完之后大概率会被问到实际做过什么,能结合项目说出来的答案比纯理论回答要有说服力很多。

全部评论

相关推荐

牛客62533758...:华为不卡双非,而是卡院校hhhh
点赞 评论 收藏
分享
04-01 11:12
机电工程师
不要葱花的垂耳兔很失...:虽说大厂都这样,华为也算是我待过戾气最大的地方了。华为只适合一开始就猛猛干、能扛事的,还得会拉帮结派、舔领导的旧款社会人。老员工的收益还是比别的大厂强很多的,也造就了一大批倚老卖老不在乎新员工死活的老人。公司是挺伟大的,这么垃圾的软件土壤,软件产品一坨,硬是在终端、无线有护城河。不适合的终归是不适合,看在以后的竞争中,华为能走多远。
点赞 评论 收藏
分享
评论
点赞
2
分享

创作者周榜

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