影石嵌入式软件工程师面经(附内推)
我就是牛可乐
2024-11-04 13:02:50
⭕自我介绍(3min左右)
1.看你最近的工作是和bootloader相关的,汽车后视镜相关的,从7.8到3.6s的改进是比较显著的,那你有没有比较以前的不同的机制主要耗时在哪几个地方
2.我看你一直在写x86平台的操作系统,基本是从基础到操作系统的构建工作,这中间持续开发的过程中有没有不太好理解,或者阻塞的事情呢
3.这个启动加载器,比如从bios启动那部分是怎么完成的,或者说bootloader部分你做了什么呢,平台是什么呢(最开始我是在bochs上完成的)
4.你现在是在x86下完成的,有没有考虑过arm呢,因为armv8也是64位,有没有想过去做二者的比较呢(过程中提到了看过电源管理的源码),你看的电源管理是在arm下还是x86下
5.内核里的中断处理会用到栈空间,操作系统的内核中的栈空间是由谁提供的。
6.设想一种场景,应用层的一个进程在跑,比如一个网络程序,此时一个中断来了,此时中断会打断进程的执行,这个中断也需要一个栈地址空间,当前CPU的栈是应用层这个进程的,怎么从应用层程序的栈到中断的栈,这个栈地址空间是哪里来的,谁给分配的呢
7.上半部和下半部如何完成任务或者说中断事件的衔接的
8.这个schedule是谁来驱动的呢,比如一个ISR进来,退出了,什么时机来驱动tasklet的schedule?这个任务什么时候会被拿出来执行呢?(最开始可能没答到点上)
9.你刚刚说的是进程调度的机制,它同样有个调度时机,那具体是什么时候呢,比如说中断退出还是定时器,你用tasklet,那么这个tasklet是什么时候调度呢?
10.整个系统有没有涉及到多处理器,SMP的同步机制呢
......
⭕反问:
1.如果有幸入职,我工作上需要准备一些什么方面的知识呢
2.是基于哪个系统呢,是rtos,linux还是安卓呢
3.针对刚刚我的面试,您觉得对于贵公司有哪些方面还需要继续加强呢
4.后面几轮(没说)
.
内容来自牛友:多拿点offer
来源:牛客
0
阅读:6