秋招算是结束了,在leetcode平台上时是我在秋招准备过程中最有精气神的时候,最终也在这里做一下总结。 准备时长大致有3个月,主要方向是linux内核 + leetcode + 计算机体系结构 + 操作系统。做简历到最终下offer花了3周。
最开始喵到了自动驾驶行业,了解到心心念念的autox 面试要coding。 于是开始了leetcode 之路。
回顾看来,刷题量不多,题量在200以下,并且是简单+中等。最后时刻是总结题目类型和刷了hot 100, 但是hot 100最后的一些题目对我来说太难了,所以只完成了74题。另外打周赛的时候也确实流泪并快乐着。关于coding上,总归还是有一些进步。
做简历的时候找了很多自动驾驶行业的公司,但这次秋招结束的太快了,所以总的来说才面了3家,甚至没有一家是自动驾驶的。。
招聘软件用的boss + 各公司官网投递。感受到了行业的寒意了,而且内核经验太少…太多已读不回了。
1面简单问了项目。
android的结构和启动流程。
蓝牙的结构
和项目中一些点,问做了什么东西。
面试官觉得可能不太匹配,于是没有结果了。
项目中做了什么。项目里面每个驱动都问了。回答思路(硬件接口 + 驱动软件 + linux涉及的子系统)
会c++吗
iic 总线 + 通信协议 + iic 子系统
系统初始化流程。回答思路(ipl + bootloader + arm 体系结构+ start kernel + android 启动)
android 编译用的什么工具。
问完项目,面试官说到:“我们来问点你感兴趣的内容” 我心中一颤。
init_task 如何通过启动参数修改(kernel document有个param文档有介绍)
进程调度: 调度框架,调度类有哪些,策略是什么。RT具体的问了一些。
内存初始化流程;伙伴系统的结构;合并page 是什么算法。
x86 和arm 区别
中断上半部和下半部。回答思路(irq -- controller硬件 +arm体系结构 + controler软件 + soc irq 子系统 + 中断具体的实现)
tasket, 工作队列,软中断的区别,使用场景。
介绍一下自己的学习过程。
rtos方案
rcu
android 蓝牙中的整体架构。
主要问我期望是什么。
什么想问的:项目产品如何产生,发展方向; 部门人员组成; 我在部门做什么。
主要是在输出自己的价值观和3年来的职业发展心路历程。
主要是项目里面内容。
spi
讲一下驱动模型(大概思路:基本组件kobject,kset…;devices,driver,bus;platform。start kernel初始化等。)
讲一下进程调度的框架
内存初始化
项目没有1面问得那么细,但更考察思考问题的思路。
写的驱动如何保证稳定性。
主要讲项目的事情。项目中的角色,做哪些事,一些问题的分析思路。
反问中岗位工作内容和项目工作方式有点分歧。
没消息,应该是凉了。
面试的时候有时候发挥挺好的,有时候一般,感觉和面试官的问法也有一定关系,于是给自己留一个问题,“作为面试官如何提问”。
另外,autox,中微电嵌入式可内推😊