校园招聘笔试题(A卷)

版权声明: 原创作品,允许转载,转载时请务必以超链接形式标明文章  原始出处 、作者信息和本声明。否则将追究法律责任。 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
num
score
1
86
2
73
3
91
4
82
5
76
6
99
7
67
students
class
num
sex
1
1
1
2
1
3
2
4
2
5
3
6
3
7
点评:这题相当难,我也不指望有人能做出来,主要是看回答的时候 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

作者:woshixingaaa 发表于2010-8-9 14:26:00  原文链接
阅读:208 评论:0  查看评论
  • 折叠
  • 保持未读
  •  
  • 收藏 (打标签)
  • 推荐
  •  
  • 发送给: 我的动态 其他网站
  •  
  • [转]校园招聘笔试题(B卷)
0
20:52     
来自: kernel hacker 修炼之道——blog关闭 发表: woshixingaaa
版权声明: 原创作品,允许转载,转载时请务必以超链接形式标明文章  原始出处 、作者信息和本声明。否则将追究法律责任。 http://qq164587043.blog.51cto.com/261469/84224
转载:
 
前言:前几天和人力资源部的去合肥招人,出了笔试题目,笔试、面试和最终签协议全程把关,录取了几个,结果还算满意。
下面是第二天在合肥工业大学的笔试题目:
1 、论述 C 语言中含参数的宏与函数的区别和优缺点( 6 分)
点评:题目不难,但完全回答对的人其实并不多。
答案:
宏:不进行参数正确性检查,只进行简单的替换工作,占用了大量的空间。
函数:进行参数正确性的效验,占用了大量的时间。
2  C  C++ 的结构体有什么区别? C++ 中的类与结构体有什么区别?( 10 分)
第二个问题出得比较多,第一个出得不多。几十份卷子回答对的没几个,让我感到很失望。
答案:
 C++ 中的结构体能够定义方法,继承和重载, C 语言中的不可以。
②结构体中的成员缺省是 public 的,而类中的成员缺省是 private 的,这是 C++ 中唯一的区别
3 、以下 C 程序, j 的最终结果是多少?( 6 分)
int i=1;
int j;
j=(++i)+(++i) +(i++)+(i++)+(++i);
点评:是 moto 曾经出过的题目,其实不难,一般 C 语言学得不差的都知道。但有一点要注意的是,其实标准答案并不对,因为 C 语言中并没有规定这种运算的先后顺序,所以不同编译器的答案不同, VC6.0  VC.NET  BC5.1 、和 GCC 答案不尽相同,而所谓的标准答案却和这几个编译器的结果都不同,反倒和 C#  JAVA 的结果相同,因为这两个编译器严格规定了这种运算的先后顺序。我本以为没有人会回答“和编译器相关”,但让我意外的是居然有人就这样回答的,我如获至宝,但最终他的综合能力并不咋喋,还是没招进来。
4  Heap  Stack 有什么差别?( 8 分)
点评:很多人把 Heap 回答成 List 的特性了,什么先进先出,莫名其妙。
答案:
Heap 在程序中是用 malloc 函数分配的,需要手动清除。 Stack 是由程序自动分配、自动清除的。
5 、详细说明 TCP 建立连接的三次握手过程。( 10 分)
点评:大致的过程 90 %的人都知道,但真正把第一次握手发送的内容回答对的寥寥无几。
6 、请写出下面 C 语言程序的输出( 7 分)
int Calc(int iValue)
{
  static int iSum,iCount;
  iSum += iValue;
  iCount ++ ;
  return iSum/iCount;
}
int main()
{
  int iInput=Calc(Calc(3));
  printf("Calc(Calc(3))=%d",iInput);
  return 0;
}
点评:题目不难,也是网新出过的, 70 %的人回答对了,是 3 
7 、一个数列 [-1,2,7,28,_ ,126 …… ] 请问 28  126 中间那个数是什么?为什么?( 8 分)
点评:这是道不难的小学数学运算题,但错的人很多,唉,没几个数学学好的。
答案:
63
规律是 n^3-1(  n 为偶数 0  2  4)
n^3+1(  n 为奇数 1  3  5)
8 、在操作系统中,什么是死锁?如何解决死锁?( 8 分)
点评:对死锁的解释答全的不多,解决死锁策略就更没多少人回答对了,操作系统课学好的人还是少啊!
答案:
是两个或多个进程无止境地等候着永远不会成立的条件的一种系统状态
在两个或多个并发进程中,如果每个过程持有某中资源而又都等待着别的进程释放它或他们现在白吃的资源,否则就不能向前推进。
死锁产生原因:⒈系统资源不足⒉进程推进顺序非法
产生死锁的 4 个必要条件:
①互斥条件②不剥夺条件③部分分配④环路条件
解决死锁策略:
⒈采用静态分配方法来预防死锁(静态预防)
⒉采用有控分配方法来避免死锁(动态避免)
⒊当死锁发生时检测出死锁并设法修复
9 、进程和线程的区别是什么?各有什么优点?( 10 分)
点评:搞不清进程和线程的大有人在,而回答全的就更只有 10 %。
10  SQL 试题( 12 分)
表名: test
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
其中 class  name  char 类型, score  integer 类型。
用一条 SQL 语句查询显示每个班级分数最高的人的班级,名字和分数
点评:这题相当难,我也不指望有人能做出来,主要是看回答的时候 SQL 语句如何写的,根据情况酌情给分。答案我就不说了,明年再出。
11 、如何用两个栈实现一个队列的功能?要求给出算法和思路,可以用文字描述。( 15 分)
点评:数据结构学得还可以的人应该都没问题,但真正回答对的还不到 1/3 
答案:
 2 个栈为 A,B, 一开始均为空 .
入队 :
将新元素 push 入栈 A;
出队 :
(1) 判断栈 B 是否为空;
(2) 如果不为空,则将栈 A 中所有元素依次 pop 出并 push 到栈 B 
(3) 将栈 B 的栈顶元素 pop 出;

本文出自 “国产0与1 ” 博客,请务必保留此出处http://qq164587043.blog.51cto.com/261469/84224

你可能感兴趣的:(面试/工作)