下面面经内容是禾赛科技社招面经 Linux bsp软件工程师
一面:
1、自我介绍
2、中断里用什么锁
答:自旋锁
3、自旋锁和互斥锁的区别
答:自旋锁用在中断上下文中,适合于极短的临界区,CPU开销小,不可以阻塞
互斥锁用在进程上下文中,适用于较长的临界区,CPU开销大,可以阻塞
4、如果中断函数线程化,又该用什么锁?
答:互斥锁
5、中断下半部有哪些方式
答:软中断,tasklet,工作队列
6、tasklet是进程上下文还是中断上下文?
答:中断上下文
7、说下系统启动过程?
8、遇到过的最难的问题?
9、能接受加班吗?
10、反问
二面:
1、自我介绍
2、最熟悉哪个内核子系统?
内存子系统
3、说下slab分配器?
高效管理小块内存分配,一般用kmalloc去分配
4、USB驱动有接触过吗
5、你解决过的最难的问题?
7、bring up需要做哪些工作
8、内存这块有没有实际的优化案例
内存裁剪,板卡里没有用到的外设去掉,然后驱动比较耗时的模块以模块