OPPO 1-4面经

一面 8.6

感觉面试官应该不太懂我做的

  1. 项目简单问问
  2. 介绍熟悉的内核模块(pinctrl i2c)
  3. 进程通信
  4. 老生常谈的可以看之前
  5. 有那些锁
  6. 信号量
  7. 互斥
  8. 自旋
  9. RCU
  10. COW的特点
  11. 懒拷贝
  12. 结合页表实现写保护
  13. 提高效率
  14. 替换的时候要注意什么呢
  15. 避免频繁触发
  16. 避免竞争
  17. 数据一致性问题
  18. 中断流程,上下半部详细介绍
  19. 上半部主要处理快速的任务,并且需要的话为下半部设置好状态,把耗时操作在下半部调度执行。不能睡眠,中断上下文。
  20. 下半部可以睡眠,进程上下文,执行一些耗时操作,有软中断(不能睡眠);tasklet(不能睡眠);工作队列等
  21. 工作队列的工作原理?
  22. 定义和初始化工作队列 将任务加入工作队列,等待内核线程处理
  23. 由内核线程执行任务 内核线程负责调度工作队列任务,当有任务加入时线程会被唤醒并执行任务,任务执行完成后进入休眠,等待新的任务
  24. 任务执行 任务在线程上下文中运行,可调用 schedule() 进行调度
  25. 哈希链表
  26. 反问。。。好快不会挂我吧
  27. 内存管理、文件系统
  28. 可以看看 https://www.nowcoder.com/issue/tutorial?zhuanlanId=0ybKNB&uuid=f3faf217954342e5a18df058968cfff7
  29. slab的理念
  30. 优化内存空间等等方面来答 比较开放性问题
  31. pcb中有些啥
  32. 可以看看linux的进程控制块 有 `mm_struct` 等等这个也是随便答一些就行
  33. 对于技术的钻研怎么样?

二面 8.16

  1. 学习以及在校的学习经验。
  2. 具体介绍一个项目、目标、需求插接、分工、实现过程。
  3. 在项目或者学校里遇到比较有挑战的案例
  4. 具体的cpu设计难点
  5. 两个个人项目启动的出发点
  6. 校正算法没人做过,你又是怎么去实现
  7. 业余时间规划
  8. 工作加班比较多
  9. 介绍家庭成员

三面 8.22 hr

  1. 实习转正
  2. base地
  3. 保研考研?
  4. 实习项目
  5. 对工作产出
  6. 技术上的挑战
  7. 项目细节
  8. 怎么学习C C++
  9. 业余干啥
  10. 家庭情况
  11. 对加班怎么看
  12. 未来发展
  13. 对象情况
  14. 对电子产品的关注
  15. 有没有在OPPO工作的师兄
  16. 当场说了我有四面

四面 8.23项目+个人+团队合作

8.27 offer

#牛客激励计划#

1. 自我介绍:高通、Oppo(sp)、vivo(sp)、小米(ssp)、荣耀(26k*12+80k)、华子(报批中)、美团、韶音、经纬恒润、乐鑫、中兴、TP 2. 内容: 1.嵌入式学习的资料和路径 2.所有面试的题目和解答(持续更新)、对评论的快速解答 3.各种碎碎念 3.整理不易,buy me coffee☕️,为了回馈牛客和各个粉丝,文章都会先试读几天,热度过了再收录~

全部评论
不是哥们,你怎么啥都会啊
点赞 回复 分享
发布于 今天 18:07 广东

相关推荐

本人学习嵌入式6年之久,简单说一下我们学习的这些路径和参考书籍。1. C/C++ 编程   - 学习C语言的基本语法、数据结构和算法。   - 深入理解C++的面向对象编程特性,包括类、继承、多态等。   - 编写小项目或练习题,加深对语言的理解。2. STM32   - 学习STM32的基本架构和开发环境(如Keil、STM32CubeIDE)。   - 实践简单的GPIO控制、定时器、ADC等基础功能。3. Linux系统编程   - 学习Linux系统调用、进程管理、线程、文件操作等。   - 参考韦东山的《Linux高性能编程》进行快速学习。4. 算法题   - 刷牛客或其他在线编程平台上的基础算法题,重点关注排序、查找、动态规划等常见算法。5. 读书   - 阅读相关书籍,如《C程序设计语言》、《C++ Primer》、《深入理解计算机系统》等,积累理论知识。提升1. U-Boot移植   - 学习U-Boot的基本架构和配置,尝试将其移植到不同的硬件平台。   - 理解U-Boot与Linux内核的启动流程。2. Linux简单驱动   - 学习Linux设备驱动的基础知识,包括字符设备驱动和块设备驱动的编写。   - 实践编写简单的驱动程序,理解驱动与内核的交互。3. 读书   - 继续阅读相关书籍,如《Linux设备驱动开发》、《Linux内核设计与实现》等,深化对驱动开发的理解。熟练1. Linux内核子系统细节   - 深入学习Linux内核的各个子系统,如进程管理、内存管理、文件系统、网络等。   - 参与内核源代码的阅读和分析,理解其实现原理。2. 网卡驱动与相机驱动   - 学习网络设备驱动的编写与调试,了解网络协议栈的工作原理。   - 尝试编写简单的相机驱动,理解图像采集和处理的基本流程。3. 项目实践   - 选择一个综合性的项目,将前面的知识应用于实际开发中,例如开发一个基于Linux的嵌入式系统。   - 在项目中复习和巩固之前学过的知识。4. 读书   - 阅读更深入的书籍,如《Linux内核完全注释》、《Linux网络编程》等,提升自己的技术水平。最后呢祝各位同学工作顺利,关注我分享更多面试知识,嵌入式c++的同学可以看一下大佬总结的面经https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
点赞 评论 收藏
分享
评论
2
8
分享

创作者周榜

更多
牛客网
牛客企业服务