以下题目可能与原题目有差入,但力争使题目与原题目接近。这是某个公司的linux内核驱动笔试题目,希望对各位要参加面试的朋友提供一点帮助,同时又要对公司试题保密,唉,没办法,具体公司名字只能采用×××代替啦!^_^……如果这样还是“那个”的话(^_^),请公司及时与偶联系,偶会第一时间将其删除,谢谢!(一)主要题型:选择题(每题3分,约20题吧,具体什么题都有,包括网络、C以及其他硬件方面的基础知识);简答题(总分约40分,主要包括读C程序给出结果同时给出适当的解释及其他一些硬件方面的问题);(二)主要内容:1、题目概述(1)C方面:这一部分比较简单,主要是类似指针空间分配、strcpy(主要是考第一个参数是否有空间,结合指针空间分配考)、二重指针、++及――(先加后加,先减后减)等,还有就是volatile及register修饰符的意思。(2)其他方面:这一部分比较杂,什么都可以考你,多半都是基础知识,尤其是硬件方面,华为的主要题目为:(主要列出C以外的题目,我认为C是非常简单的,^_^)2、具体题目(1)选择题部分:1、255.255.254.0网段最多能支持多少主机?(大概有5个备选项)2、10M网卡传输过程中物理层采用什么编码?(SNAP?)(大概有4个备选项)3、栈与队列的特点?(备选大概只有两个,A为FIFO,B为LIFO)4、Cache的工作方式划分?(大概也有4个答案,大概是:write-none,write-all,write-through,write-back)。5、什么叫NMI中断?(四个备选项)6、RISC主要性能及特性?(大概有6个备选项)7、在嵌入式系统中,所谓的北桥指的是什么?(2)简答题:1、说说轮巡任务调度与抢占式任务调度的区别?(大概为8分吧,记不清了)2、什么叫存储器高速缓存技术,其主要目的?(大概6分)3、画出计算机组成的最小逻辑框图。(哼,这道题竟然10分)4、谈谈Volatile与Register修饰符的作用?【一、来自Q群友】1.linux内核里面,内存申请有哪几个函数,各自的区别?2.IRQ和FIQ有什么区别,在CPU里面是是怎么做的?3.int*a;char*b;a和b本身是什么类型?a、b里面本身存放的只是一个地址,难道是这两个地址有不同么?4.中断的上半部分和下半部分的问题:讲下分成上半部分和下半部分的原因,为何要分?讲下如何实现?分析:中断服务例程一般都是在中断请求关闭的条件下执行的,以避免嵌套而使中断控制复杂化。但是,中断是一个随机事件,它随时会到来,如果关中断的时间太长,CPU就不能及时响应其他的中断请求,从而造成中断的丢失。因此,内核的目标就是尽可能快的处理完中断请求,尽其所能把更多的处理向后推迟。例如,假设一个数据块已经达到了网线,当中断控制器接受到这个中断请求信号时,Linux内核只是简单地标志数据到来了,然后让处理器恢复到它以前运行的状态,其余的处理稍后再进行(如把数据移入一个缓冲区,接受数据的进程就可以在缓冲区找到数据)。因此,内核把中断处理分为两部分:前半部分(tophalf)和后半部分(bottomhalf),前半部分内核立即执行,而后半部分留着稍后处理。首先,一个快速的“前半部分”来处理硬件发出的请求,它必须在一个新的中断产生之前终止。通常地,除了在设备和一些内存缓冲区(如果你的设备用到了DMA,就不止这些)之间移动或传送数据,确定硬件是否处于健全的状态之外,这一部分做的工作很少。然后,就让一些与中断处理相关的有限个函数作为“后半部分”来运行:·允许一个普通的内核函数,而不仅仅是服务于中断的一个函数,能以后半部分的身份来运行。·允许几个内核函数合在一起作为一个后半部分来运行。后半部分运行时是允许中断请求的,而前半部分运行时是关中断的,这是二者之间的主要区别5.内核函数mmap的实现原理,机制?6.驱动里面为什么要有并发、互斥的控制?如何实现?讲个例子?7.spinlock自旋锁是如何实现的?8.任务调度的机制?【二、本人碰到】1.嵌入式linux和wince操作系统的特点和特性?2.嵌入式linux中tty设备驱动的体系结构?3.嵌入式设备,为加快启动速度,可以做哪些方面的优化?4.USB设备的枚举过程?5.PSRAM、SDRAM、DDR、DDR2的时序特性?6.I2C触摸屏芯片与CPU的数据传输流程?画出相关图例?(这题目记得不是太清楚了,大概是考查I2C设备驱动的数据传输过程)本篇文章来源于Linux公社网站()原文链接:驱动面试题linux驱动面试题1.解释命令ls-amore具体含义.2.LINUX中的管道指什么重定向又指什么3.GCC-g-otest.elftest.c的具体含义.4.浅述GCC编译器在编译时都有哪几个过程5,在题3的基础上编写一MAKEFILE文件,要求能自动完成编译和清除功能6.说明uclinux和linux的区别7解释下面一组GDB命令的含义.break94runinfoline1218.什么是链接脚本其作用是什么请编写一个简单的链接脚本9.编写一个SHELL脚本程序,将当前目录及其子目录中所有后缀为.O类型文件的文件名输出到用户指定的文件中.10.请写出5个LINUX基本系统调用的函数名称.11.描述LINUX中字符设备驱动的基本编成框架.12.编写一个helloworld程序,要求以创建进程的方式打印helloworld.13.浅谈bootloader,kelnel,filesystem三者之间的关系.3.Linux系统下.ko文件是什么文件?.so文件是什么文件?4.二维数组AA[3][7]的另外一种表示方法:5.请写出下列代码的输出内容#include“stdio.h” main() { inta,b,c,d; a=10; b=a++; c=++a; d=10a++; printf(b,c,d:%d,%d,%d,b,c,d); return0; }二、编程题:1.写出两个排序算法,并说明哪个好?2.打开一个文件,并读取从第100字节开始的50字节数据。3.编写一个函数,输入一个的整型数字,可以选择按照81016进制输出字符串。4.如果有一个简单的helloworld项目目录如下:#treehelloworldhelloworld–file2.h–file1.cpp–file2.cpp请编写一个Makefile文件。三、简答题:ARM-linux启动分几部分,简述流程:群里有人回答到:1ls-a|more是分屏显示吧,用了管道2管道是不是一个的命令的输出做了另一个命令的输入之类的3编译成可执行连接文件吧4编译汇编连接5不了解6gdb是gundebug的缩写吗?呵呵。我只知道他是调试用的。7在第97行加上断点吗?然后运行8不了解9##bashls*.oa.name10不了解11不了解是intmain(intargc,char*argv[]){}12不会13bootloader是不是要初始化系统启动要使用的寄存器。启动操作系统kernel然后系统启动文件系统14ko不清楚,so是动态连接文件吧。15char**a={1,2,3;。。。;}蒙的16这是某个公司的linux内核驱动笔试题目,希望对各位要参加面试的朋友提供一点帮助,同时又要对公司试题保密,唉,没办法,具体公司名字只能采用×××代替啦!^_^……如果这样还是“那个”的话(^_^),请公司及时与偶联系,偶会第一时间将其删除,谢谢!(一)主要题型:选择题(每题3分,约20题吧,具体什么题都有,包括网络、C以及其他硬件方面的基础知识);简答题(总分约40分,主要包括读C程序给出结果同时给出适当的解释及其他一些硬件方面的问题);(二)主要内容:1、题目概述(1)C方面:这一部分比较简单,主要是类似指针空间分配、strcpy(主要是考第一个参数是否有空间,结合指针空间分配考)、二重指针、++及――(先加后加,先减后减)等,还有就是volatile及register修饰符的意思。(2)其他方面:这一部分比较杂,什么都可以考你,多半都是基础知识,尤其是硬件方面,华为的主要题目为:(主要列出C以外的题目,我认为C是非常简单的,^_^)2、具体题目(1)选择题部分:1、255.255.254.0网段最多能支持多少主机?(大概有5个备选项)2、10M网卡传输过程中物理层采用什么编码?(SNAP?)(大概有4个备选项)3、栈与队列的特点?(备选大概只有两个,A为FIFO,B为LIFO)4、Cache的工作方式划分?(大概也有4个答案,大概是:write-none,write-all,write-through,write-back)。5、什么叫NMI中断?(四个备选项)6、RISC主要性能及特性?(大概有6个备选项)7、在嵌入式系统中,所谓的北桥指的是什么?(2)简答题:1、说说轮巡任务调度与抢占式任务调度的区别?(大概为8分吧,记不清了)2、什么叫存储器高速缓存技术,其主要目的?(大概6分)3、画出计算机组成的最小逻辑框图。(哼,这道题竟然10分)4、谈谈Volatile与Register修饰符的作用?本文来自ChinaUnix博客,如果查看原文请点:、一些常规中举的C考题第一题:写出下述程序结果:intm[][3]={1,4,7,2,5,8,3,6,9};inti,j,k=2;for(i=0;i3;i++){printf(“%d”,m[k][i]);}问题所在:本题考点一眼就可以看出,二重数组啦!第二题:下列哪个引用是不正确的?inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;(A)a[p-a];(B)*(&a[i]);(c)p[i];(D)*(*(a+i));第三题:下列4个选项中,哪个结果为6?inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;(A)*p+6;(B)*(p+6);(C)*p+=5;(D)p+5;第四题:关于二叉树的,给你前序与中序,让你画出二叉树图形;第五题:关于操作系统方面的,具体题目记不清了,大概意思如下:在多任务操作系统中,任务间的通信方式有哪几种?如何任务间互斥(并举例说明);漏了一个考点,记不起来了,想起来再补上吧!二、一些怪题(别误会,不是那些平时根本不用的、只放在旮旯的偏题,而是网上的原题,^_^)此公司笔试题的另外一个怪像就是,直接将网络上已经很久很久以前的题目(可谓说是嵌入界C笔试题的经典了,在偶的“几道经典C语言面试题”贴中,已经有了)放入试卷中考你,一共大概有3道题,其中有两道是原封不动照搬的,具体题目如下:1、写一个“标准”宏MIN,这个宏输入两个参数并返回较小的一个。2、给定一个整型变量a,写两段代码,第一个设置a的bit3,第二个清除a的bit3。在以上两个操作中,要保持其它位不变。3、在某工程中,要求设置一绝对地址为0x67a9的整型变量的值为0xaa66。写代码去完成这一任务。(注:这一题稍微改了改,呵呵,改的地方就是文字变了个说法,变长了,^_^,嗯,地址也应该变了吧,唉,记不清了!)三、还有一道《高质量C++-C编程指南》中的题目头文件中的ifndef/endif干什么用?(呵呵,与原题相比只是少了define)!还有一些就是关于结构体、++、--等一系列试题;2、具体题目(1)选择题部分:1、255.255.254.0网段最多能支持多少主机?(大概有5个备选项)2的9次方2、10M网卡传输过程中物理层采用什么编码?(SNAP?)(大概有4个备选项)3、栈与队列的特点?(备选大概只有两个,A为FIFO,B为LIFO)4、Cache的工作方式划分?(大概也有4个答案,大概是:write