经典LINUX程序员面试题

转载 2007年10月12日 14:17:00
面试题是一套笔试题,比较经典(闭卷,100分钟完卷,最好写出解题步骤),若你能答对百分之七八十,说明你一只脚踏进了linux编程的大门,若你能答对百分之九十以上,你收我做弟子(可怜可怜我吧),你若不及格,那就跟我一样:菜鸟!

一、基础题:
  1.请列举出你用过的LINUX发行版及其中的GCC版本、GLIB版本
  2.ISO七层参考模型中的PPP协议、HTTP协议处于哪一层?
  3.说出TCP和UDP的相同和不同之处
  4.IP数据包头部是多长?146.0.0.0属于哪一类IP地址?
  5.请写出linux嵌入式系统开发过程
  6.在以下列举的GCC中的参数,请一一写出代表的意思:
   -c
-o
-share
-static
7.写出以下参数的含义:
    _attribute_ (packet)
volatile

#define ANYONE((DIR)< (FILE)<
二、程序阅读题(输出程序结果):
  1.按值和按地址传递(此题太简单,略)
  2.指针的取地址和取值、指针运算操作(比较简单,略)
  3.char *p;
p=malloc(20);
char q*;
q=strcpy(p,"Please answer the question carefully");
q+=7;
printf("%s",q);
printf("%s",p);
4.#define X 1
#define Y X+1
int p;
p=x+y/2;
printf("%d",p);
5.struct n{
int p;
char name;
}a;
void structp(struct n b)
{
b.p=10;
b.name='X';
}
int main()
{
int x=5;
char name='Y';
a.p=x;
a.name=name;
structp(a);
printf("%d",a.p);
printf("%c",a.name);
}
6.略(记不清楚了,好像是字符串操作题)
  7.略(结构和双链表,此题比较难,花时间多)
  8.分析以下程序,写出结果
Void GetMemory2(char **p, int num)
{
*p = (char *)malloc(num);
}
void Test(void)
{
char *str = NULL;
GetMemory(&str, 100);
strcpy(str, "hello");
printf(str);
}
9.分析以下程序,写出结果
   char *GetMemory(void)
{
char p[] = "hello world";
return p;
}
void Test(void)
{
char *str = NULL;
str = GetMemory();
printf(str);
}


三、程序写作题:
  1.用C语言实现下现函数(不能调用库函数)
    char *strcpy(char *dest,const char *src)
    为什么此字符串拷贝函数还要返回一个字符指针?
  2.有两个整型变量x,y如何不使用任何中间变量的同时将两个值交换
  3.写出BOOl flag与零值的比较,指针与零值的比较
四、英语基础题(本人英语不好,所以记不住,此题有两部分,第一部分是声明变量,第二部分是完型填空)
五、选择题(此题的具体备选答案我记不住了,不过你若掌握了这部分知识,不需要备选答案,若没有了解,   也不过是在猜题)
  1.在网络数据传输时,哪种方式数据延迟最大?为了尽可能减少误码,最不宜采用哪种方式传输?分组交   换主要是对数据报文传输的哪方面的改进?改进的直接结果是什么?为了达到数据的最小误码率,应采   哪种方式(或组合方式)进行传输?(提示:备选答案中有:线路交换,分组交换,虚电路等等)
  2.下面有一棵二叉搜索树,物理存储的方式按一个节点占三个存储单元,例如:有一结点P,在内存1001   中存储P的信息,1002中存储P的左边链接指针,1003中存储P的右边链接指针,以下是一张将要存储的   节点表:
     P:P(节点本身信息),L1(P的左链节点指针),R1(P的右链节点指针);(以下以此类推)
     W:W,L2,R2
     E:E,L3,R3
     R:R,L4,R4
     C:C,L5,R5
将上述节点以字母表的顺序生成二叉搜索树,并存储在内存1001之后的连续单元中(存储节点时按字    母顺序存储,比如C存储在1001,1002,1003中,那么E就应存储在1004,1005,1006中)。
   请问:L2,R3,L5将分别存储在哪个内存单元
      对此二叉搜索树进行后序遍历和前序遍历,请分别写出遍历顺序  

linux C程序员 经典面试题(非常经典)

linux C程序员 经典面试题一 想成为嵌入式程序员应知道的0x10个基本问题: 预处理器(Preprocessor) 1 . 用预处理指令#define 声明一个常数,用以表...
  • gujintong1110
  • gujintong1110
  • 2014年04月08日 15:54
  • 4426

智力题(程序员面试经典)

NO.1   有20瓶药丸,其中19瓶装有1克/粒的药丸,余下一瓶装有1.1克/粒的药丸。给你一台称重精准的天平,怎么找出比较重的那瓶药丸?天平只能用一次。  解法  有时候,严格的限制条件有可...
  • bigpudding24
  • bigpudding24
  • 2015年03月11日 15:02
  • 1496

Java程序员笔试经典例题

1.写一个Java应用程序,从键盘输入两个数,然后输出他们的平方值及立方值。 解析:在Java中没有像C语言那样有一个专供接受从键盘输入的scanf函数,所以一般的做法是从键盘输入一行字幅,保存...
  • qq1175421841
  • qq1175421841
  • 2016年04月08日 17:18
  • 3791

linux C程序员 经典面试题一

先发基本问题,再发编程问题.......... 想成为嵌入式程序员应知道的0x10个基本问题: 预处理器(Preprocessor) 1 . 用预处理指令#define 声明一个常数,用...
  • dtzaixtz
  • dtzaixtz
  • 2013年04月08日 16:30
  • 245

linux C程序员经典面试题二

人们经常声称这里有几个问题是那种要翻一下书才能回答的问题,我同意这种说法。当我写这篇文章时,为了确定语法的正确性,我的确查了一下书。但是当我被面试的时候,我期望被问到这个问题(或者相近的问题)。因为在...
  • dtzaixtz
  • dtzaixtz
  • 2013年04月08日 16:35
  • 264

程序员面试宝典(经典面试题)

  • 2009年09月03日 12:51
  • 4.43MB
  • 下载

程序员笔试面试题集(经典)

  • 2010年03月25日 14:51
  • 628KB
  • 下载

java程序员经典笔试面试题汇总

  • 2008年08月28日 09:25
  • 413KB
  • 下载

ASp.NET程序員經典面試題(2)

1. 简述 private、 protected、 public、 internal 修饰符的访问权限。 答 . private : 私有成员, 在类的内部才可以访问。   protected :...
  • tearsmo
  • tearsmo
  • 2011年08月16日 14:39
  • 627

程序员经典面试题及答案6

1、servlet的生命周期web容器加载servlet,生命周期开始。通过调用servlet的init()方法进行servlet的初始化。通过调用service()方法实现,根据请求的不同调用不同的...
  • qxs965266509
  • qxs965266509
  • 2012年11月20日 08:55
  • 1183
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:经典LINUX程序员面试题
举报原因:
原因补充:

(最多只允许输入30个字)