面试凉经,又凉了好没意思啊

海康威视嵌入式面经随记

起初兴致勃勃地投了海康,没想到还是挂在了二面,感觉整体难度还好但是自己当时没想起来。复盘了一下,很多考点其实是有规律可循的。

备考建议:如果你也在准备嵌入式方向,推荐先系统过一遍这份面经 我也是看完之后才意识到自己哪里没准备到位的。

一面(50min)

  1. Linux 中断流程,谈谈你对中断上下文的理解
  2. C 语言字节对齐的规则,为什么要字节对齐?
  3. 进程间通信的方式,为什么分用户空间和内核空间?
  4. C++ 多态怎么理解?C++ 有哪些多态的典型例子?
  5. C 语言程序运行时的内存分配
  6. const 关键字的用法
  7. extern C 有什么用?为什么声明 C 语言环境?与 C++ 环境区别?
  8. delete [] 和 delete 的区别?
  9. 互斥量和信号量区别
  10. SPI 的通信过程?SPI 有几根线?速率配置?
  11. DMA 是什么?解释其作用
  12. GDB 常用命令?段错误如何定位?
  13. FreeRTOS 任务抢占机制

一面整体还好,基础扎实基本都能答上来。但我在第 9、13 题上卡了一下——互斥量和信号量的区别我说得不够精准,FreeRTOS 抢占机制也只答了个大概。

📌 这几个点在【面试完全指南】里都有专题,讲得比我清楚多了,当时要是提前看到就好了。

二面(60min)——挂在这里了

二面明显上了一个难度,考的都是内核原理层面:

  1. Linux schedule() 函数的原理和调用的时机
  2. 页表实现机制,分页的缺点?
  3. 多级反馈调度策略和时间片轮转,如何用 nice 命令优化优先级?
  4. 共享内存分配的空间、读写速度,是否依赖内核?
  5. 实时操作系统的调度器设计细节(算法、上下文保存)
  6. 信号量释放后,如何选择下一个线程?
  7. 如何评估操作系统的实时性?如何测算中断响应时间?
  8. MCU 上如何设计用户态和内核态?如何保障安全性?
  9. 驱动开发中遇到的棘手问题及解决方案
  10. 上下文切换时系统做了什么?
  11. MMU 如何实现虚拟地址到物理地址的转换?
  12. u-boot 启动流程分两阶段的原因?第一阶段为何要足够小?

第 1、5、7、12 题是我的死穴,schedule() 的调用时机说得含糊,u-boot 两阶段的原因完全没想起来,当场脑子空白。

总结

海康的嵌入式岗对 Linux 内核原理 + RTOS 调度 + 硬件接口 要求都挺深的,不是背几条八股就能过的,得真正理解原理才行。

这次面试我自己也踩了不少坑,有些点平时刷面经从来没见过,临场才发现知识体系是有漏洞的。如果你也在准备嵌入式岗,真心建议早点系统过一遍,别等面试现场才发现"啊这块我没复习"。

找嵌入式面经找到头秃的同学,可以来抄作业了

嵌入式面经是真的散——计网、OS、C、硬件、RTOS、驱动……每家公司侧重还不一样,东找一篇西找一篇,刷完发现重点全错。

我把整个秋招踩坑+收集的面经重新整理了一遍,按模块分章节,目前 32篇 / 12w+ 字,持续更新中:

  • C语言陷阱(指针/内存/大小端,每场必问)
  • 计网+OS高频(三次握手、进程线程那一套)
  • RTOS专题(FreeRTOS核心机制)
  • Linux驱动 & 通信协议(I2C/SPI/CAN)
  • 硬件基础(数电模电高频考点)

4.7w+ 同学在看,3300+ 订阅,数据放这,要不要订自己判断。

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

全部评论

相关推荐

钱嘛数字而已:拖拉机被发明出来之后,就不需要农民了吗?农民还是需要的,但不需要这么多了,另外对农民的要求也变高了,需要会开拖拉机。
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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