高通嵌入式软件开发面经:强度很大,问题更偏系统和落地

这场高通嵌入式软件开发面试整体节奏很快,面试官不是按八股顺着问,而是从项目、系统、内核、同步、内存、驱动和升级链路里不断切换,基本属于一旦某个点答得浅,就会立刻往底层追。体感上更看重两件事:第一是 Linux 和嵌入式系统基础是否成体系,第二是能不能把项目里的真实设计、问题定位和工程取舍讲清楚。准备这类岗位,单靠背题不够,很多问题都带着“继续往下挖”的味道。

题目总结

  1. 进程切换发生时,内核最少需要保存和恢复哪些核心上下文,哪些内容不是每次切换都必须完整重建的?
  2. select、poll、epoll 在底层事件通知机制上的差异是什么,为什么高并发场景下通常不会继续用 select?
  3. 如果一个驱动里同时有中断上半部、下半部和用户态读写接口,怎样划分各自职责才能避免长时间关中断和响应抖动?
  4. fork 之后父子进程地址空间看起来一样,实际内核是通过什么机制避免一开始就完整复制所有物理页的?
  5. 用户态传一个大缓冲区给内核处理时,什么场景适合 copy_from_user,什么场景更适合零拷贝或页映射思路?
  6. 自旋锁、互斥锁、信号量、完成量分别适合什么场景,如果在中断上下文里误用了会睡眠的锁会发生什么?
  7. 多线程环境下一个环形缓冲区同时被生产者和消费者访问,除了“加锁”之外,还要重点考虑哪些边界条件和可见性问题?
  8. DMA 参与数据收发时,CPU Cache 为什么会导致“明明搬完了但数据不对”,工程上通常怎么处理一致性问题?
  9. 一个实时任务周期性超时,但 CPU 利用率并不高,这种问题通常要从调度延迟、优先级设计、中断干扰和临界区哪个方向先查?
  10. Linux 驱动里 probe 成功不代表设备真的可用,如果设备初始化后偶发失败,排查链路应该怎么从时钟、复位、电源、总线和寄存器访问往下走?
  11. 共享库延迟绑定和立即绑定各自会影响启动时机和运行时行为,动态链接器在第一次调用符号时大致做了什么?
  12. 双分区升级里,如果新镜像已经写入但校验通过后仍然启动失败,Bootloader 一般依据什么状态机设计决定是否回退旧版本?
  13. 如果上位机需要精确感知升级进度、失败阶段和回滚结果,设备侧协议和状态持久化字段应该怎么设计才更稳妥?

更多详细的嵌入式软件开发面经都整理在专栏里面了:

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

这类面试的难点不在题目偏,而在于覆盖面大、追问深,而且很容易从一个概念题直接切到工程落地。只会讲定义基本撑不过去,尤其是进程调度、锁、内存、DMA、驱动初始化、升级状态机这些点,面试官更想听的是“原理 + 约束 + 出问题时怎么查”。如果目标是这类嵌入式软件开发岗位,准备时最好按 Linux 基础、驱动模型、并发同步、内存管理、缓存一致性、升级链路和项目深挖几条线并行梳理。

全部评论
select那题答多路复用三个层次基本能过
点赞 回复 分享
发布于 昨天 17:36 上海

相关推荐

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...:我不想评论面试方式,作弊是绝对不对的,但是你八股加刷题也不过是个做题小子,他穿帮纯粹是他菜,你也没有高明到哪里去
点赞 评论 收藏
分享
评论
点赞
3
分享

创作者周榜

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