字节 嵌入式软件开发一面 被连环追问拷打了一个小时

一面约在下午三点,面试官上来自我介绍了一下,说是做底层驱动和系统方向的,然后直接开始问。

整体节奏很快,基本上每个问题答完他都会继续追问,没有给你喘息的机会。八股问得不算多,但每道都往深里挖,答浅了他会直接说"你再想想"或者"还有呢"。项目聊了大概十五分钟,他对细节很感兴趣,问了不少实现层面的东西。最后手撕一道算法,难度中等,给了二十分钟。

面完整个人是麻的。

题目

  1. 中断处理函数里能不能用 printf,为什么?如果一定要在中断里输出调试信息怎么办?
  2. volatile 和 const volatile 分别在什么场景下使用?volatile 能保证线程安全吗?
  3. 讲一下 DMA 的工作原理,传输过程中 CPU 在做什么?DMA 和 Cache 之间会有什么一致性问题,怎么解决?
  4. I2C 通信中从设备没有响应 ACK,可能是哪些原因?你会怎么排查?
  5. 程序上电后到执行 main 之前经历了哪些步骤?.data 段和 .bss 段分别是怎么处理的?
  6. 嵌入式设备在现场偶发性死机,没有调试器连接,你会怎么定位问题?
  7. 讲一下优先级反转,FreeRTOS 里是怎么解决的?互斥锁和二值信号量在这个问题上有什么本质区别?
  8. 裸机开发和带 RTOS 开发最本质的区别是什么?什么情况下裸机反而比 RTOS 更合适?
  9. 你了解哪些低功耗优化手段?从硬件和软件两个角度分别说说。
  10. memcpy 和 memmove 的区别是什么?什么情况下用错了会出问题?
  11. 讲一下你理解的堆和栈的区别,嵌入式里栈溢出会有什么现象,怎么检测?
  12. 定时器除了计时还能做什么?PWM 输出的原理是什么,占空比怎么控制?
  13. SPI 全双工通信时,主设备发送数据的同时从设备也在发数据,这个过程是怎么工作的?如果只想读数据不想发,应该发什么?
  14. 你在项目里有没有遇到过多任务访问同一个外设的情况,怎么处理的?如果在中断里也要访问这个外设,互斥锁还能用吗?
  15. 手撕:给你一个已排序的整数数组和一个目标值 target,数组中的元素可以重复使用,找出所有加起来等于 target 的组合,结果不能有重复组合。

核心嵌入式面试八股文总结:https://www.nowcoder.com/creation/manager/columnDetail/mPZ4kk

总结

面试官技术很扎实,问的问题都很实际,不是纯背书能过的那种。项目部分他会顺着你说的细节继续挖,比如你说用了 DMA,他就会问 Cache 一致性的问题;你说用了 FreeRTOS,他就会问优先级反转。所以项目里用过什么最好真的搞清楚原理,不然很容易被追问到哑口无言。

手撕题难度不算高,但要注意剪枝和去重的处理,写完他会让你分析时间复杂度。

整体体验还不错,面试官没有刁难的意思,就是问题密度比较高,节奏快,需要反应快一点。等结果中。

全部评论

相关推荐

还是有一点点不甘心吧,但是人生的旅程从来都不会一帆风顺,虽然这次的结果并不理想,但我一定会做得更好的。在这里分享一下我的整个秋招和华为的流程,希望我的经验能帮到后来的同学,也与诸君一同共勉!首先,自我介绍一下,我是南航的本科,电子信息工程专业,毕业后去了南洋理工读硕士,也是通信工程。在新加坡的一家半导体公司-瑞昱新加坡分部,做过嵌入式软开实习生,学校里的毕业论文课题和深度学习+通信算法有关。因为研究课题的原因,我投递的是上海无线网络产品线的AI软件开发岗位,总的流程就像图一一样。9 月份联系的接头人老师推简历,在推之前说我这个简历很对口,笔试过了面试不太会有什么问题。笔试大约是在11月初左右的样子,第一次笔试,刷力扣准备了挺久。分数线是提前告知了的,AI卷500分总分,180过线,选择题50分,第一道编程150分,第二道编程300分。我当时就冲着过线去准备的,所以战术就很简单了,撕出第一道编程题,选择题大概写一下,第二道给了。这样刚好过线笔试过了之后,因为今年政策的原因,新加坡留子不能线上面试,我12.26参加的线下集中面试。总体面试过程也是很顺利,3个小时三轮面试就过去了,前两轮技术面的手撕代码在提示下也撕得差不多,AI相关专业问题问的不算太难(感觉面试官老师都是计科出身可能AI相关的知识他们也是在这几年才开始学习研究)。主管面主要考察态度,思路和志向,大概聊了一个点就给过了,总体来说不一定高分但是还是很顺利。然后就是漫长的泡池子环节,其中心态也逐步地转变,还在接头人老师一直都有联系,但是也明显地能感觉到希望越来越渺茫,今天聊了之后,没有开出来的希望,决定再做打算了。给后来的同学几条建议:1、秋招之前最好去刷一段国内的垂类实习,我在国外实习的经历国内认可度并不太高,(虽然真的是不错的厂也认真做了项目2、提前刷代码,早过笔试,早去面试,早锁定3、海投,曾经的我太心高气傲,总幻想我能精准爆破,但是这些东西并非一个人能把握,增大机会才是正确的选择
秋招,不懂就问
点赞 评论 收藏
分享
钱嘛数字而已:我们就假设真的呆不久吧,假设就只呆1年,40w到手,除掉生活成本净赚30w。央国企一万多的工资,除掉生活成本年赚10万。换我就选择呆不久,也先呆呆看吧,大不了换工作。管你稳不稳,钱在我卡里就是稳的。
点赞 评论 收藏
分享
评论
点赞
2
分享

创作者周榜

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