中软国际招聘 C、C++笔试题
考试范围:
1. 逻辑推理题(7 题,共 20 分)
2. 阅读理解题(1 题,共 5 分)
3. 数据库题(9 题,共 30 分)
4. 专业技术题(分 Java、.NET、C/C++三个技术方向,每个方向 16 题,共 45 分)
考试要求:
1. 考试时间为 90 分钟,每个人独立、闭卷完成考试
2. 请将答案写在答题纸上,不允许直接在卷面上答题
3. 选择题除非在题目中说明,否则都是单选题。多选题少选、错选均不给分
4. 考试完毕,试卷和答题纸一并收回
试题:
一、逻辑推理(1-5 题为选择题,每题 2 分,6-7 题为问答题,每题 5 分)
1. 桌子上有 4 个杯子,每个杯子上写着一句话:第一个杯子:“所有的杯子中都有水果糖”;
第二个杯子:“本杯中有苹果”;第三个杯子:“本杯中没有巧克力”;第四个杯子:“有些杯
子中没有水果糖”。如果其中只有一句真话,那么以下哪项为真?(
)
A. 所有的杯子中都有水果糖。
B. 所有的杯子中都没有水果糖。
C. 所有的杯子中都没有苹果。
D. 第三个杯子中有巧克力。
2. 如果笔相对于写字,那么书相对于(
)。
A. 娱乐
B. 阅读
C. 学文化
D. 解除疲劳
3. 凡金属都是导电的。铜是导电的,所以铜是金属。下面哪项与上述推理结构最相似说明
以上推理不成立?(
)
A. 所有的鸟都是卵生动物,蝙蝠不是卵生动物,所以,蝙蝠不是鸟。
B. 所有的鸟都是卵生动物,天鹅是鸟,所以天鹅是卵生动物。
C. 所有从事工商管理的都要学习企业管理,老陈是学习企业管理的,所以,老陈是从事工
商管理工作的。
D. 华山险于黄山,黄山险于泰山,所以华山险于泰山。
4. 观察下列数列的规律,然后从四个供选择的选项中选出最恰当的一项填入括号中:
5
7
8
11
15
(
)
A. 19
B. 20
C. 22
D. 27
5. 据最近的统计,在需要同等学历的十个不同职业中,教师的平均工资五年前排列第九,
而目前上升到第六;另外,目前教师的平均工资是其它上述职业的平均工资的 86%,而五年
前只是 55%。因此,教师工资相对偏低的状况有了较大的改善,教师的相对生活水平有了很
大的提高。
上述论证基于以下哪项假设?(
)
Ⅰ.近五年来的通货膨胀率基本保持稳定。
Ⅱ.和其他职业一样,教师中的最高工资和最低工资的差别是很悬殊的。
Ⅲ.学历是确定工资标准的主要依据。
Ⅳ.工资是实际收入的主要部分。
A. 仅Ⅰ、Ⅲ。
B. 仅Ⅱ、Ⅳ。
C. 仅Ⅲ。
D. 仅Ⅳ。
E. 仅Ⅲ、Ⅳ。
6. 巧排队列。
一个班级有 24 个人,有一次,为了安排一个节目,必须把全班学生排成 6 列,要求每 5 个
人为—列,那么该怎么排呢?
7. 怎样分盐。
现在,桌子上摆着一只天平,两个砝码,分别为 7g、2g。如何只用这些物品分三次将 140g
的盐分成 50、90g 各一份?
二、阅读理解题(1 题 5 分)
SOA(Service Oriented Architecture,面向服务的架构)无疑是当前信息技术领域的
热门话题。著名咨询机构 Gartner 称,SOA 将成为创建和交付软件的主导框架,到 2010 年
应用软件收入增长的 80%将来自基于 SOA 的方案。尽管如此,SOA 在很多用户心目中还是一
个眩目的困惑。一位用户称:“SOA 是个好东西,但还有点儿扑朔迷离,就像一座山,远看
郁郁葱葱,近看荆棘丛生,真想登上去的时候不知道哪一条路可行。”
Unisys 中国区客户解决方案部高级项目经理王立生表示,这种对 SOA 的踌躇看法,主
要是因为用户没有从合适的切入点剖析 SOA。“对于实施团队,SOA 不是一个产品而是一个架
构;对于管理团队,SOA 不是一个项目而是一个规划。如果企业是从架构及规划的角度考量
SOA,就会对其优势有更深入的认识。”
现有大部分企业业务应用软件系统最大的难题之一是,技术层难以随着业务层的需求变
化而灵活应变,收放自如。硬要改动技术层,则需要专业人员上下左右重新“焊接”,不但
成本昂贵,而且伤筋动骨,后患难测。因为现有系统中各子系统、各要素之间是一种“紧耦
合结构”,拆分和沟通很不灵活。SOA 的改革思路是在传统的业务层和技术层之间增加一个
服务层,通过一套协议或规范把应用程序从底层技术层调出来,加以封装,再根据业务层需
求灵活组合。
1. 你觉得企业在推行 SOA 的时候,要注意些什么?
三、数据库题(1-4 题为选择题,每题 2 分,5-8 题为填空题,每题 3 分,第 9 题为问答
题,10 分)
选择题(每题 2 分,共 8 分)
1. 在关系数据库中,模式对应的是(
)。
A. 视图和所有基本表
B. 视图和部分基本表
C. 基本表
D. 索引
2. 在数据库中,概念模型是(
)。
A. 用于现实的建模,与具体的 DBMS 有关
B. 用于信息世界的建模,与具体的 DBMS 有关
C. 用于现实的建模,与具体的 DBMS 无关
D. 用于信息世界的建模,与具体的 DBMS 无关
3. 已知 STUDENT 表结构如下:
分析下面 SQL 语句,在什么情况下将引起这个语句失败?(
)
SELECT * FROM student WHERE id =
(SELECT id FROM student
WHERE UPPER(first_name) = ‘KATE’
AND UPPER(last_name) =‘HENRY’);
A. 当没有学生名叫“Kate Henry”时
B. 当有多个学生叫“Kate”时
C. 当有多个学生叫“Kate Henry”时
D. 以上都正确
4. 某应用系统,数据库库中的系统日志表 Sys_Log 包含字段 ID,Text 两列,用户日志表
User_Log 包含字段 ID,Text 两列。
请指出下列 SQL 语句语法错误的是(
)。(数据库为 SQL SERVER 2005)。
A. SELECT * FROM Sys_Log WHERE Text LIKE '%''%'
B. SELECT COUNT(DISTINCT ID,Text) FROM Sys_Log
C. INSERT INTO Sys_Log SELECT TOP 1 'User_Log', Text FROM User_Log
D. UPDATE A SET A.Text=2 FROM Sys_Log A JOIN User_Log B ON A.ID=B.ID AND B.Text='1'
填空题(每题 3 分,共 12 分)
5. 在 SELECT 语句中,使用________子句将查询的结果放到一个新的临时表中。
6. 用统计函数________可以计算平均值。
7. 在一个系统中出现以下一条查询语句用来查询数据:select doctitle from document
where docuuid = (select docuuid from doccontent where filename like '%文件%'),
这条查询语句存在什么问题________。
8. 用一条 SQL 语句 查询出每门课都大于 80 分的学生姓名
select distinct name from table
where
name ________ (select distinct name from
table where fenshu<=80 )
name
kecheng
fenshu
张三
张三
李四
李四
王五
王五
王五
语文
数学
语文
数学
语文
数学
英语
81
75
76
90
81
100
90
问答题(每题 10 分,共 10 分)
9. 数据库中有以下两张表,各表之间的关系请根据字面意思理解,在这里就不详细列出:
部门表 department,包括部门编号(deptId),部门名称(deptname)
员工表 employee,包括员工编号(empid),员工姓名(empname),部门编号(deptid),工资
(e_wage)
请按要求写出基于 DB2 或 Oracle 数据库的 sql 语句:
(1)列出工资大于 7000 的员工所属部门的编号
(2)列出员工表中的部门名称(要求使用左连接)
(3)列出员工数少于 3 人的部门编号
4.3. C/C++方向
选择题(每题 2 分,共 20 分)
1. 宏定义#define PI 31.14159 中,宏名 PI 代替(
)。
A. 单精度
B. 双精度
C. 常量
D. 字符串
2. 如有以下定义和语句,则对 w 数组元素的非法引用是(
)。
int w[2][3], (*pw)[3]=w;
A. *(w[0]+2)
B. *pw[2]
C. pw[0][0]
D. *(pw[1]+2)
3. 以下程序的输出结果是(
)。
main()
{ int a=4,b=5,c=0,d;
d=!a&&!b||!c;
printf("%d\n",d);
}
A. 1
B. 0
C. 非 0 的数
D. -1
4. 若执行以下程序时从键盘上输入 9,则输出结果是(
)。
main()
{ int n;
scanf ("%d",&n);
if(n++<10)
printf ("%d\n",n);
else
printf("%d\n",n--);
}
A. 11
B. 10
C. 9
D. 8
5. int i = 65536;
printf("%d\n",i);
上面程序的输出结果是(
)。
A. 65535
B. 0
C. 有语法错误,无输出结果
D. 1
6. 以下程序运行后,如果从键盘上输入 5,则输出结果是(
)。
main()
{ int x;
scanf("%d",&x);
if(x--<5) printf("%d", x);
else printf("%d", x++);
}
A. 3
B. 4
C. 5
D. 6
7. 检查 Win32 上的代码 int* x, y;下列说法正确的是(
)。
A. x 和 y 的类型都是指针
B. x 是指针,y 是 int 类型
C. 编译错误
D. 上述写法等同于 int* x; int* y;
8. 在 int a=3; int& p=a;中,&p 代表(
)。
A. 变量 a 的地址值
B. 无意义
C. 变量 a
D. 3
9. 如有以下程序:
#define
N 10
void fun(int *t, int n, int m)
{ int i,j,a;
i=n; j=m;
while(i
fun(a,3,6);
for(i=0;i
12. 以下程序的输出结果是________。
main(){
char *p="abcdefgh", *r;
long *q; /* 假设,long 数据类型是 4 字节的 */
q=(long *)p;
q++;
r=(char *)q;
printf("%s\n",r);
}
13. 下面 add 函数的功能是求两个参数的和,并将和值返回调用函数。函数中错误的部分是
__空白 1__;改正后为__空白 2__。
void add(float a,float b)
{ float c;
c=a+b;
return c; }
14. 只有当整数 x 为奇数时,写出逻辑“真”的表达式是________。
15. 以下程序中函数 scmp 的功能是返回形参指针 s1 和 s2 所指字符串中较小字符串的首地
址:
#include
#include
char *scmp(char *s1, char *s2)
{ if(strcmp(s1,s2)<0)
return(s1);
else return(s2);
}
main()
{ int i; char string[20], str[3][20];
for(i=0;i<3;i++) gets(str[i]);
strcpy(string,scmp(str[0],str[1])); /*库函数 strcpy 对字符串进行复制*/
strcpy(string,scmp(string,str[2]));