版权声明: 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。 http://qq164587043.blog.51cto.com/261469/84222
|
||||||||||||||||||||||||||||||||||||||||
转载自某HR的MSNSpace
[url]http://tengguokai.spaces.live.com/?_c11_BlogPart_p=1&_c=BlogPart[/url]
前言:前几天和人力资源部的去合肥招人,出了笔试题目,笔试、面试和最终签协议全程把关,录取了几个,结果还算满意。
下面是第一天在中国科技大学的笔试题目:
一、选择题( 15 分)
1 、就目前计算设备的计算能力而言,数据加密标准 DES 不能抵抗对密钥的穷举搜索攻击,其原因是 ______。
A . DES 的算法是公开的 B . DES 的密钥较短
C. DES 除了其中 S 盒是非线性变换外,其余变换均为线性变换
D . DES 的算法简单
点评:高程卷子上抄来的,题目稍微有点偏,答案是 B ,做对的不到一半。
2 、 char a = 127;int sum = 200;a += 1;sum += a;
sum=________
A. 72 B. 99
C. 328 D. 327
点评:这是一个学生在其他公司笔试过后问过我的。当初他说这公司要招 java 的人,还以为是 java 的题目,答案是 C ,结果原来这道题目是 C 语言的,那答案就不同了,是 A ,因为 C 的 char 型会溢出转到负的整数,而 java 的 char 型是无符号的,且因为是 unicode 编码,范围是 0 ~ 65536 。
3 、对 n 个元素进行快速排序时,最坏情况下的时间复杂度为 ______ 。
A . O(1og2n) B . O(n) C . O(nlog2n) D . 0(n2)
点评:这题我也忘记了,我想数据结构学得好的人应该不会那么快忘记,答案是 D 。
4 、一个具有 767 个结点的完全二叉树,其叶子结点个数为 ______ 。
A. 383 B. 384 C. 385 D. 386
点评:这题简单,也是高程里的,答案是 B 。
5 、关键路径是指 AOE(Activity On Edge) 网中 ______ 。
A. 最长的回路 B. 最短的回路
C. 从源点到汇点 ( 结束顶点 ) 的最长路径 D. 从源点到汇点 ( 结束顶点 ) 的最短路径
点评:这关键路径我还记得,是最长路径,而不是最短路径,很多人错答 D ,正确答案是 C 。
二、 C 语言程序题
1 、下面的程序运行后, c:/text.txt 这个文件的内容是什么?占多少字节?( 6 分)
void main()
{
char list[5]={'A',0,0,0,'/0'};
FILE* file=fopen("c://test.txt","w+");
if(file!=NULL)
{
fwrite(list,1,1,file);
for(int i = 0;i < 3;i++)
{
list[i]= (char)('Z'-i);
}
fseek(file,0,SEEK_SET);
fprintf(file,"%s",list);
}
fclose(file);
}
这题是网新考过的一道笔试题,几十份试卷竟然没有人完全答对。难点是很多人不知道 SEEK_SET 的意思,其实是把文件指针定位到第二个参数设定的位置。答案是 ZYX ,占 3 个字节。
2 、下面的代码中, main() 的返回值是多少?( 6 分)
float volume=-1.0f;
float GetVolume(int iVal)
{
float volume= iVal/2;
return volume;
}
int main()
{
volume += GetVolume(5);
float volume=GetVolume(-1);
return (int)volume;
}
这题简单,就是考浮点运算的四舍五入,大概 60 %的人答对,结果是 0 。
三、问答题
1 、 C 语言中,用变量 a 给出下面的定义( 12 分)
a) 一个指向指针的的指针,它指向的指针是指向一个整型数
b) 一个有 10 个整型数的数组
c) 一个有 10 个指针的数组,该指针是指向一个整型数的
d) 一个指向有 10 个整型数数组的指针
e) 一个指向函数的指针,该函数有一个整型参数并返回一个整型数
f) 一个有 10 个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数
点评:这道题目后面三个稍微有点难,不少人答不出来,能答全对的只有 15 %左右。
答案:
a) int **a;
b) int a[10];
c) int *a[10];
d) int (*a)[10];
e) int (*a)(int);
f) int (*a[10])(int);
2 、 C 语言中,关键字 static 的作用是什么?( 6 分)
点评:看似简单的题目,很多人答不对,真正答全 3 点的几乎没有。
答案:
在 C 语言中,关键字 static 有三个明显的作用:
1). 在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。
2). 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。
3). 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用。
3 、 C 语言中, short s1 = 1; s1 = s1 + 1 和 short s1 = 1; s1 += 1 有什么区别?( 5 分)
点评:这题也是一个学生在其他公司笔试之后问我的,答对的只有 2 、 3 个人。 short 和 int 类型的运算是要类型转换的,两种方式截然不同。前者编译器会报错,因为 s1 是 short 类型, 1 是 int 类型,不能直接加。而后者编译器是会自动转换的。
4 、 C 语言中什么数据分配在栈中?什么数据分配在堆中?( 8 分)
点评:不到 1/3 的人能答对,答案也是五花八门。说来惭愧,当初我在 HS 金融的第一个老板面试我这题的时候,我也没答对。
答案是:
栈 : 存放局部变量,函数调用参数 , 函数返回值,函数返回地址。由系统管理。
堆 : 程序运行时动态申请, malloc 申请的内存就在堆上
5 、简述数据库设计中需满足的 3 范式以及数据库中“事务”的概念( 10 分)
点评: 3 范式居然没有人答对,这让我有些意外,而且就连“事务”也没几个人知道,更让我意外。答案自己去翻,教条式的内容。
6 、请用 1 句 SQL 选出男生的总分 >158 的班级,按总分高低排序,并写出 SQL 的执行结果( 12 分)
scores
students
点评:这题相当难,我也不指望有人能做出来,主要是看回答的时候 SQL 语句如何写的,根据情况酌情给分。但还是有高人做出来了,这人重写了好几个答案,划掉再写,最后的结果还是对的。答案我就不说了,明年再出。
四、编程题。( 20 分)
下面是某单项链表节点的定义:
struct node
{
int data;
struct node *next;
};
请以 C 语言完成函数:
int remove_node_a(struct *node pHead);
该函数的功能是:对于以 pHead 为头节点的链表,如果链表中有连续的、重复的节点(指 data 域相同的节点),则仅保留其中一个,而删除其他的重复节点;函数返回被删除节点的个数,当存在任何错误时,返回 -1。
点评:这题不算难,也是网新的题目。学数据结构的时候自己写过算法的一般都能大致写对,不过真正能按格式写,并且考虑了各种情况的人也不多,也就 3 、 4 个人。
本文出自 “国产0与1 ” 博客,请务必保留此出处http://qq164587043.blog.51cto.com/261469/84222 |
class
|
name
|
score
|
1
|
a
|
75
|
1
|
b
|
91
|
1
|
c
|
54
|
2
|
d
|
66
|
2
|
e
|
75
|
2
|
f
|
39
|
2
|
g
|
42
|
3
|
h
|
23
|
3
|
i
|
98
|
3
|
j
|
85
|
本文出自 “国产0与1 ” 博客,请务必保留此出处http://qq164587043.blog.51cto.com/261469/84224