1 变量和值的存储位置(堆/栈/代码段/数据段等)?
2 sizeof
struct
{
short a;
long b;
char c;
}d;
sizeof(d)? 为什么在不同的平台上得到的值不一样?
3 找规律
2
1 2
1 1 1 2
3 1 1 2
1 3 1 1 2
————— 问下一行应该填什么?为什么?
4 linux(Redhat)的启动顺序?
5 c++中虚函数如何定义,使用时应该注意什么?
6 从1-100的数中取出10个数的不同种取法,打印所有的取法。
7 如何用最简单的程序实现大端小端的判断。
8 如何判断两个单向链表是否有相交,并找出交点。
9 有1000个球和10个箱子,将所有的球装入10箱子中,问如何装球,使得你可以取出不同箱子的组合便可 得到1-1000球。
10 八皇后问题,堆栈很少,要求不能用递归。
11 订票系统
12 用一个程序示意常见的错误能够导致栈破坏,如何检查?
13 用锁效率低,有那些方法可以避免或减少锁的使用?
14 如何在Release版本中查找以下问题,
a 内存泄漏 b 段错误导致非法操作
c 程序CPU占用100%
15 C++拷贝构造函数和赋值运算符有那些不同和相同点。
16 比较哈希表和平衡二叉树的特点,它们分别如用那些场合。
17 spinlock,mutex,semaphore,vitical section的作用与区别?
18 正则表达式
19 字符串匹配问题。要求在s1中删除所有s2的字符,要用最快的算法
20 函数前的static和volatile变量中关键字的作用
*************************
这是某个公司的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修饰符的作用?