海康威视嵌入式面经|一面+二面真题

刚面完海康威视嵌入式岗位的两轮技术面,趁着印象还新鲜赶紧整理出来发上来,给后面要面海康的兄弟姐妹一个参考。

整体感受:问得很细,偏底层和操作系统,C/C++ 基础是基本盘,重头戏在 Linux 内核和 RTOS 那块,不能光背八股,得理解原理。两轮加起来快两个小时,强度不小。

一面(约 50 min)

一面节奏很快,几乎一道题接一道题,基本没什么寒暄。面试官全程对着提纲问,问完一题就直接下一题,有的题会顺着追问两三个点。

题目如下:

  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 的任务抢占机制是怎样的?

二面(约 60 min)

二面明显比一面深一个层级,全程围绕操作系统底层和嵌入式系统设计展开,面试官应该是做内核或者底层驱动的,问的问题都比较有深度,能感觉到他在听你回答的过程中判断你到底是不是真的懂。

中间有几道题答得磕磕巴巴,面试官还会顺着继续追问细节,压力不小。

题目如下:

  1. Linux schedule() 函数的原理和调用的时机
  2. 页表的实现机制是什么?分页有什么缺点?
  3. 多级反馈调度策略和时间片轮转,如何用 nice 命令优化优先级?
  4. 共享内存分配的空间在哪?读写速度怎么样?是否依赖内核?
  5. 实时操作系统的调度器设计细节,包括调度算法和上下文保存
  6. 信号量释放之后,怎么选择下一个被唤醒的线程?
  7. 如何评估一个操作系统的实时性?中断响应时间怎么测算?
  8. 在 MCU 上如何设计用户态和内核态?怎么保障安全性?
  9. 你在驱动开发中遇到过哪些棘手的问题?是怎么解决的?
  10. 上下文切换的时候,系统具体做了哪些事?
  11. MMU 是如何实现虚拟地址到物理地址转换的?
  12. u-boot 的启动流程为什么要分两个阶段?第一阶段为什么必须足够小?
  13. 你对 Linux 内核里的自旋锁和睡眠锁怎么理解?什么场景下用哪个?
  14. 写时复制(COW)机制是怎么实现的?fork 之后父子进程的内存关系是怎样的?
  15. 一个进程从 main 函数执行到第一行代码之前,操作系统和运行时都做了哪些事?
  16. 内核态和用户态切换的过程是怎样的?系统调用底层怎么实现的?
  17. 中断和异常的区别是什么?软中断又是什么?
  18. 内存屏障是什么?什么场景下必须用?
  19. 介绍一下你做过的项目里最有挑战性的一个,遇到的最大的坑是什么?

一些个人感受和建议

项目一定要准备深二面最后聊项目,面试官会顺着你说的某一句话就开始往下追问,准备的时候要把项目里每一个技术决策都想清楚——为什么用这个方案,有没有别的方案,区别是什么。不会就大方说不会我中间有两道题确实没答出来,直接说"这块我之前没深入了解过",面试官也没为难,就跳过去了。不要硬编,硬编只会让面试官追问到你彻底破防

写在最后

整体来说海康的面试体验还可以,面试官比较专业也比较有耐心,问的都是货真价实的技术题,没有什么奇怪的脑筋急转弯或者压力面

后续流程还在等通知,到时候如果有 HR 面或者 offer 进展,再回来更新。

整个秋招攒下来的面经,我都塞进这个专栏里了——目前 32 篇 / 12w+ 字,仍在持续更新。

内容基本覆盖了嵌入式岗会被问到的所有方向:C 语言陷阱 / 计网高频 / 操作系统 / RTOS / Linux 驱动 / 通信协议 / 硬件基础——你面试会被问到的,这里都有对应的题和思路。

目前 4.7w+ 同学在看,3300+ 订阅。数据摆这儿,口碑自己说话。

适合面经基础薄弱、想一次性系统梳理的同学。越早订越划算,内容只会越来越全,价格也只会越涨越高。

🔗 专栏直达:https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM

全部评论
这二轮面试也太深入了吧
点赞 回复 分享
发布于 今天 16:10 上海

相关推荐

xdm 早上喝奶茶差点喷出来。事情是这样的,我们班有个哥们儿,简称 L,去年秋招拿了字节sp,专业方向是后端。我们当时都震惊:这哥们儿平时课上从来不发言,期末小组作业基本是划水的那种,刷题平台 commit记录我点进去看过,绿格子稀稀拉拉。但他面试一路绿灯。一面二面三面 hr 面,全过,给的还是sp。当时班级群里恭喜他的、问他经验的、约饭的,热闹了一周。他说自己"运气好,准备充分"。我们都信了,直到三月初他入职。入职第二周开始,班里另一个进字节的同学W(在隔壁组的)开始跟我他的不对劲。一开始是写代码慢,后来写不出来,再后来是组里 mentor 让他fix 一个简单 bug 都搞了一下午没动静。最离谱的是上周。W 说他们大部门搞了个新人分享会,让新人讲一下自己负责模块的设计思路。L 上去讲了 20分钟,全程念稿子,问答环节别人随便问一个"那你这里为什么用 Redis 不用 Memcached",他直接卡 30秒说"这个我回去再确认一下"。会后他 mentor 直接找 leader 谈,leader 找 hr 谈,hr调出了他面试录像,全程对比口型和回答节奏,发现他二三面有大量时长在偷偷看屏幕外(推测开了双机位 AI 答题)。(这段是 W后来转述给我的,他自己也是听他组里同事八卦来的)昨天下班前,W 告诉我L 被辞退了,让他自己走,不走就走仲裁但会发函到学校。L 现在已经回学校了,朋友圈仅三天可见。我说真的,我不是个心眼小的人,但是我看到这个消息的时候真的有种"嗯,挺好"的感觉。去年秋招我投字节后端,简历挂。我准备了八个月,背 八股 + 刷 500 题 +项目改了三版,连面试机会都没拿到。班里这哥们儿凭着一个外挂上岸,最后还是被甩出来了。不是说作弊就一定会被发现,但是当面试拿到的 offer远远超出真实能力的时候,迟早会有这一天。试用期三个月不是给你过家家的,是真的要写代码、要在会议上回答问题、要扛需求的。我现在反而有点同情他。同情他相信"上岸就是终点"。发出来不是为了嘲笑谁,就是想说给那些正在被身边作弊上岸的同学搞得很 emo 的 uu 们听——别急,回旋镖很长,但它一定会回来。你继续刷你的题,写你的项目,背你的八股。该是你的迟早是你的,不是你的早晚还得还回去。xdm 共勉。
牛客12588360...:我不想评论面试方式,作弊是绝对不对的,但是你八股加刷题也不过是个做题小子,他穿帮纯粹是他菜,你也没有高明到哪里去
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

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