linux驱动工程面试

一看就知道,找工作用的,主要想从事驱动方面的开发工作,当然追求linux的道路还很漫长,先说说面试,面试了4家跟驱动相关的公司,只有一家(深圳中微电科技有限公司)让我佩服(还是通过电话面试的),工程师问的问题其实也不难,平时看书的朋友都大概知道(只是不能全面的回答罢了,所以写这个原因就是把它尽量搞清楚,下次在碰到类似的问题,就可以滔滔不绝了),其他3家的工程师,没有问一个驱动的方面的问题,我也不知道人家是做啥的?提问同样能反应一个人的专业知识的深度。做驱动确实有点难度,我会依然风雨前行! 二:linux内核原理面试必问(由易到难) 简单型 1:linux中内核空间及用户空间的区别?用户空间与内核通信方式有哪些? 2:linux中内存划分及如何使用?虚拟地址及物理地址的概念及彼此之间的转化,高端内存概念? 3:linux中中断的实现机制,tasklet与workqueue的区别及底层实现区别?为什么要区分上半部和下半部? 4:linux中断的响应执行流程?中断的申请及何时执行(何时执行中断处理函数)? 5:linux中的同步机制?spinlock与信号量的区别? 6:linux中RCU原理? 7:  linux中软中断的实现原理?(2014.03.11) 8:linux系统实现原子操作有哪些方法? (2014.03.22) 9:MIPS Cpu中空间地址是怎么划分的?如在uboot中如何操作设备的特定的寄存器? (2014.03.22) 最近(离职)真的事情有点多,不然 我肯定总结的差不多了。 工作也定了,等我总结了,以后谁再问我这些问题我直接鄙视!!!!!!!!!!!!!!!!!!这些东西是工作中的理论指导,有了理论在做代码的时候才能考虑到什么改用,什么不该用!     复杂型: 1:linux中netfilter的实现机制?是如何实现对特定数据包进行处理(如过滤,NAT之类的)及HOOK点的注册? 2:linux中系统调用过程?如:应用程序中read()在linux中执行过程即从用户空间到内核空间? 3:linux内核的启动过程(源代码级)? 4:linux调度原理? 5:linux网络子系统的认识? 三: 笔试 1:二分法查找 2:大小端转化及判断 3:  二维数组最外边个元素之和? 4:特定比特位置0和1 5:字符串中的第一个和最后一个元素交换(字符串反转)? 如果还有朋友,遇到过其他知识点。留言给我,我整理到一起,与面试官为敌! 所以在时间允许的条件下,最近把上面的问题整理一下,自己学习一下,其他朋友看到,也就不再到处找知识点。

猜你喜欢

转载自blog.csdn.net/jwy2014/article/details/82817594