哈水个C语言面试题

中山野鬼 发布于 2012/07/07 23:36
阅读 243
收藏 2

说说我面C语言的题目吧。也给这里的朋友做个参考。无论是借鉴,还是反面批判。

1、编译和连接有什么区别?

回答不出来,立刻滚蛋。别的语言无所谓。C语言,不和OS打交道就和硬件打交道。动不动还要make。这个回答不出来的,估计库,obj,执行文件的概念都是混的。所以立刻滚蛋,没有任何基础知识面。

2、头文件和C文件的区别,一次编译的对象是独立的C文件,还是头文件,或者一群C文件?

这个问题,前面半个部分其实要想回答清楚,需要后面半个部分的问题回答清楚。回答不出来,也是滚蛋,当然任意一个回答清楚,另一个不需要回答。

3、堆栈和堆的区别是什么?

回答不出来,哦,是个学生,回去在学习或复习一下吧。这个回答不出来,后面函数的参数(不说什么形参实参了)指针,局部变量,全局变量的概念肯定都是混的。。

4、#include <> #include "" ,有什么不同?

能说出不同就OK。不纠结目录查找的优先级。回答不出来,暂时放着。后面不爽,也请走人但不至于滚蛋,前面两个问题,回答不出来,你还来面,简直是在调戏我。


5、main 函数和其他函数有什么区别,main(int argc ,char *argv[])这些参数有什么作用?

这个回答不出来,暂且放着,不指望各个都是命令行风格,但回答出来基本直接上机或做题目。

6、为什么通常头文件,会有个 #ifndef XXX  #define XXX?

这个能回答出来,基本头文件理解深刻了。回答不出来,请走人。抽象思维不够。

7、unsigned int ,int 两个类型, 右移有什么区别?

回答出来,对类型理解深刻。回答不出来不走人,不过估算着,这位底层基础不够。

8、函数指针是否用过?

我就不纠结什么一堆绕来绕去的定义方法,有书可查就行。关键是否用过。如果用过,对函数会有不一样的认知。

9、int *p; ...  *(p+i) 和 p[i]有什么区别?

立刻说没区别的,分数最高,想半天说,应该没区别吧。。。。。(通常都有这个吧字),分数次之。说有区别,还拿书本上一堆堆的概念名词来和我讨论的,0分,并且基本决定让这个学院派的走人。你讨论的越多,表示你的记忆力越超群,为了不让电子档的C语言标准在公司无用武之地,你背的越强,我越让你闪人。

10、char c ;  ... c = 127; i = c; i = i + 1; c = i; 最终C等于多少?C和I是否相等,如果不等是为什么?如果想相等,不改变类型的情况下,C的可取值范围是多少?如果编译,编译器是否会报错,或WARNING,如果有,会有什么错误或WARNING。

C的取值范围,能想到负数范围的,哪怕边界有错误,少了两三个,也是满分。直接回答C等于128的,立刻滚蛋。。。。如果能回答最后问题的,加分。

余下是笔试题

写个冒泡算法。

哈,这个题目是简单,不过不是在考对方,是在考我。比如有些新手会这么写

void sort(void){

int a[10];

for (i = 0 ; i < 9 ; i++) ....

这个分数显然没有

void sort(int *a,int n)的高。

但上面写法没有

int sort(int *a ,int n)的高。

至于这个函数返回什么,没有定时,看你怎么解释。其实这个时候,基本能判断出水平了。

当然更多的看实际的代码的风格。

例如,函数里面,上来就有个

if (n <= 0 ) return 0;

得,表示不错。没有的,表示以前没工程化的折腾过。没吃过苦,写了当然不代表吃过苦,至少有思考。至于是背书或某个面试题的,还是自己思考的,顺着问点问题就出来。哈。

至少我不会去考以下白痴问题

malloc 和 alloc有什么区别。不知道。我告诉他,他就知道。知道的,我也不会让他利用malloc的功能。

请用while ,do while ,for 分别写什么什么。。。。干脆考他回字几种写法得了。

i+++i之类的问题。。别说你回答的上来,你敢这么写代码,立刻扔出去。想耍酷去街上,公司是上班干活的地方。

填空题。。。这是我最BS的。一个整天琢磨别人代码的人,是没出息的。你看别人函数漏洞或补全函数代码,是因为你具备重写的能力,无非是没这个必要。如果你没有重写的能力,要你何用?考这种题目,出题目的人都SB。无非自己对看别人的代码没底气,想找个容易的考核方式而已。

static的三种含义。。出这种题目的也是白痴。书上说三种就三种吗?你能搞清楚编译的概念,C看到的内存的种类,至于要回答吗?搞不清楚,背书背上来了,实际工作中又有毛用?

不过建议小朋友们,看我的题目去复习没用。各个公司的面人有自己的体系和标准。就是我面,前面都过了,重点还是在笔试上。笔试本身并不是重点,而是你写出的代码随后,针对你的代码的一系列问题。这是背不了的。

 

 

 

加载中
0
mallon
mallon
都会,但是现在C很少用了
0
中山野鬼
中山野鬼

引用来自“mallon”的答案

都会,但是现在C很少用了
你这种老鸟,直接谈理想了。待遇都不用谈。谈什么C啊。哈。
0
mallon
mallon

引用来自“中山野鬼”的答案

引用来自“mallon”的答案

都会,但是现在C很少用了
你这种老鸟,直接谈理想了。待遇都不用谈。谈什么C啊。哈。
什么都会一点但都不精,而且还有喜新厌旧的坏毛病,哈哈其实都是缺点
0
中山野鬼
中山野鬼

引用来自“mallon”的答案

引用来自“中山野鬼”的答案

引用来自“mallon”的答案

都会,但是现在C很少用了
你这种老鸟,直接谈理想了。待遇都不用谈。谈什么C啊。哈。
什么都会一点但都不精,而且还有喜新厌旧的坏毛病,哈哈其实都是缺点
缺点就是优点,优点就是缺点。无非怎么用,用在什么地方罢了。如果做事情开心,又有钱拿,这是最好的状态。如果不开心,有钱拿,次之,最惨的是没什么钱,还不开心。。
0
jingshishengxu
jingshishengxu

引用来自“中山野鬼”的答案

引用来自“mallon”的答案

引用来自“中山野鬼”的答案

引用来自“mallon”的答案

都会,但是现在C很少用了
你这种老鸟,直接谈理想了。待遇都不用谈。谈什么C啊。哈。
什么都会一点但都不精,而且还有喜新厌旧的坏毛病,哈哈其实都是缺点
缺点就是优点,优点就是缺点。无非怎么用,用在什么地方罢了。如果做事情开心,又有钱拿,这是最好的状态。如果不开心,有钱拿,次之,最惨的是没什么钱,还不开心。。
这句话很实在,我转走了
0
ArcJson
ArcJson
我想起来我看公开课的时候,斯坦福有一个编程范式 Programming Paradigms,确实讲了不少有用基础的东西,好多和野鬼的问题有关,不过我确实不明白这个课程的名字。
0
晓寒
晓寒

哈,很不错的题目。

以前去面试的时候就遇到过这些题目的大部分。

还记得那时和面试官阿姨争论了好长时间的内存分配回收模型。那是我那时候见过的最厉害的做技术的懂内核女性了。

返回顶部
顶部