it笔试题库Word文档下载推荐.docx
《it笔试题库Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《it笔试题库Word文档下载推荐.docx(11页珍藏版)》请在冰点文库上搜索。
![it笔试题库Word文档下载推荐.docx](https://file1.bingdoc.com/fileroot1/2023-5/8/8f0e9982-a0c4-4a62-8c40-4dca3330f01d/8f0e9982-a0c4-4a62-8c40-4dca3330f01d1.gif)
a、有两个节点的节点一定比没有子节点的节点少一个n0=n2+1
b、根节点所在的层数为第0层,则第i层最多有2^i个节点
c、若知道二叉树的前序遍历序列和中序遍历序列,则一定可以退出后序遍历序列。
d、堆一定是一个完全二叉树
8、快速排序的平均时间复杂度和最坏时间复杂度是()
a、o(n^2),o(n^2)
b、o(n^2),o(nlgn)
c、o(nlgn),o(nlgn)
d、o(nlgn),o(n^2)
9、有一串数字6742816(),请问括号中的数字最可能是()
a、6b、7c、8d、9
10、下面哪项不是链表优于数组的特点?
1
a、方便删除b、方便插入c、长度可变d、存储空间小
11、给定声明constchar*const*pp;
下属操作或说明正确的是()
a、pp++
b、(*pp)++
c、(**pp)=c;
d、以上都不对
12、有下列代码正确的是()
[cpp]viewplaincopy1.std:
:
stringname1="
youku"
;
2.constchar*name2="
3.charname3[]={y,o,u,k,u};
4.size_tl1=name1.size();
5.size_tl2=strlen(name2);
6.size_tl3=sizeof(name2);
7.size_tl4=sizeof(name3);
8.size_tl5=strlen(name3);
a、l1=5l2=5l3=4l4=5l5=不确定
b、l1=5l2=5l3=5l4=5l5=不确定
c、l1=5l2=6l3=5l4=5l5=5
d、l1=5l2=6l3=5l4=5l5=6
13、test执行后的输出是:
[cpp]viewplaincopy1.voidtest()
2.{
3.classb
4.{
5.public:
6.b(void)
7.{
8.cout 9.}
10.~b(void)
11.{
12.cout 13.}
14.};
15.structc
16.{
17.c(void)
18.{
2
19.cout 20.}
21.~c(void)
22.{
23.cout 24.}
25.};
26.structd:
b
27.{
28.d()
29.{
30.cout 31.}32.~d()
33.{
34.cout 35.}
36.private:
37.cc;
38.};
39.dd;
40.}
a、bcd~d~c~b
b、dcb~b~c~d
c、cdb~b~d~c
d、c~cd~db~b
14、下列四种排序中(d)的空间复杂度最大
a、快速排序b、冒泡排序c、希尔排序d、堆
15、设一棵二叉树的深度为k,则该二叉树最多有(d)个节点。
a、2k-1b、2^kc、2^(k-1)d、2^k-1
16、下面函数的功能是()
[cpp]viewplaincopy
1.intfun(char*x)
3.char*y=x;
4.while(*y++);
5.return(y-x-1);
6.}
a、求字符串的长度
b、比较两个字符串的大小
c、将字符串x复制到字符串y
3
d、将字符串x连接到字符串y后面
17、k为int类型,以下while循环执行()次。
[cpp]viewplaincopy1.unsignedintk=20;
2.while(k>
=0)
3.--k;
a、20次
b、一次也不执行c、死循环d、21次
18、关于cookie和session的概念哪一个是对的
a、cookie存储在客户端,但过期时间设置在服务器上
b、session存储在客户端,但过期时间设置在服务器上
c、cookie中可以存储ascii空格,而session中不行
d、cookie可以设置生效的路径,而session则不能
19、以下关于链式存储结构的叙述中哪一条是不正确的?
a、结点除自身信息外还包括指针域,因此存储密度小于顺序存储结构
b、逻辑上相邻的结点物理上不必邻接
c、可以通过计算直接确定第i个结点的存储地址
d、插入、删除运算操作方便,不必移动结点
20、32位机器上,定义int**a[3][4],这个数组占多大的空间()
a、64b、12c、48d、128
填空题
1、设数组定义为a[60][70],每个元素占2个存储单元,数组按照列优先存储,元素a[0][0]的地址为1024,那么元素a[32][58]的地址为(8048)
2、在一个娱乐节目上,主持人提供有三扇门(假设为a、b、c),只有1扇门后面有奖品,另两扇门后面是空的,而主持人知道具体哪扇门后有奖品。
首先,当你选择了一扇门之后(假设a),主持人会把剩下两扇门中的一扇没有奖品的门打开(假设打开的空门为b),现在你有一次机会决定是否要交换重新选择,如果你坚持选择a,你中奖的概率是(1/3),如果你交换选择c,你中奖的概率是
(2/3)http:
//en.wikipedia.org/wiki/monty_hall_problem
假设你选择的1门,而主持人打开的是3门,则奖品在2门后面的概率是
3、一棵深度为h的满二叉树,其最末一层共有(2^h)个节点(根节点深度为0)
4、下面程序的运行结果为(132)
1.voidfoo(int*a,int*b)
4
3.*a=*a+*b;
4.*b=*a-*b;
5.*a=*a-*b;
7.
8.voidmain()
9.{
10.inta=1,b=2,c=3;
11.foo(
12.(it笔试题库)foo(
13.foo(
14.printf("
%d%d%d\n"
a,b,c);
15.}
5、4个结点可以构造出(14)个不同的二叉树catalan数
6、设有n个无序的记录关键字,则直接插入排序的时间复杂度为(o(n^2)),快速排序的平均时间复杂度为(o(nlgn))
7、设一组初始记录关键字序列为(20,18,22,16,30,19),则以20为中轴的一趟快速排序结果为(19,18,16,20,30,22)
8、c语言的函数参数传递方式有传递值和传递地址
9、分配在堆上和栈上的内存,哪一个需要手动进行内存释放?
堆上的内存
问答题:
一、有一个单向循环链表队列,从头开始报数,当报到m或者m的倍数的元素出列,根据出列的先后顺序重新组成单向循环链表。
函数原型:
voidreorder(node**head,intm)
二、优酷是中国第一的视频网站,每天有上亿的视频被观看,现在公司请研发人员找出最热门的视频。
该问题的输入可以简化为一个字符串文件,每一行都表示一个视频id,然后要找出出现次数最多的前100个视频id,将其输出,同时输出该视频的出现次数。
1、假设每天的视频播放次数为3亿次,被观看的视频数量为一百万个,每个视频id的长度为20个字节,限定使用的内存为1g。
请先描述做法,再写代码。
2、假设每个月的视频播放次数为100亿次,被观看的视频数量为1亿个,每个视频id的长度为20个字节,一台机器被限定使用的内存为1g。
那么想找这个月被播放次数最多的前100个视频,应该怎么做?
请描述清楚可能的办法。
解析:
海量数据的处理。
无法一次性装入内存,可先hash之分为多个文件处理,堆或者trie树统计次数,求出每个文件中的top100。
归并之求出总的top100。
对于第二问:
还可以hadoopmapReduce处理之。
首先统计每个视频被观看次数,得到键值对,其中id为视频id,cnt为视频被观看次数。
以cnt作为关键字建立最小堆。
遍历所有键值对,若堆的size小于100,则将键值对直接插入堆,否则比较键值对和堆顶元素大小,若cnt大于堆顶元素的cnt,则弹出堆顶元5
篇二:
20xxit巨头校园招聘笔试题
本文列举:
20xx年腾讯,XX,微软,阿里巴巴(北京站)校园招聘笔试题(涉及c,c++,jaVa,数据结构)
希望能帮到大家求职!
腾讯20xx年校园招聘笔试题
篇三:
数据库笔试题-答案
xxxx感谢您对本套试题的回答,首先请您填写上您的姓名(____________),本套试题将作为xxxx入职的参考,多谢您的重视。
本套试题分三部分:
填空题(10分)、选择题(20分),sql基础题(30)、简答题(20)、综合题(30)。
时间60分钟,满分110分。
一、填空题(每题2分,共10分)
1.索引字段值不唯一,应该使用的索引类型为(普通索引)
2.只有满足联接条件的记录才包含在查询结果中,这种联接为(内联接)
3.e-R模型的组成包括那些元素(实体)(属性)(关系)
4.事务所具有的特性有(原子性)(一致性)(隔离性)(持久性)
5、结构化程序设计的三种基本逻辑结构是(顺序结构),(选择结构),(循环结构)。
二、选择提(每题1分,共20分)
1、在删除整表数据,同时保留表结构时,采用(c)的效率比(a)要高;
a.deleteb.droptablec.truncatetable
2、数据库管理系统中,能实现对数据库中的数据进行插入/修改/删除的功能称为(c);
a.数据定义功能b.数据管理功能c.数据操作功能d.数据控制功能3、24、在关系模型中,实现"
关系中不允许出现相同的元组"
的约束是通过(b)。
a:
候选键b:
主键c:
外键d:
超键
4、数据库管理系统dbmss是(d);
a.信息管理的应用软件c.管理中的数据库b.数据库系统+应用程序d.管理数据的软件
5、关系数据库中,实现表与表之间的联系是通过(b)。
a、实体完整性规
b、参照完整性规则d、值域c、用户自定义的完整性
6、设有部门和职员两个实体,每个职员只能属于一个部门,一个部门可以有多名职员,则部门与职员实体之间的联系类型(b)。
a、m:
nb、1:
mc、m:
1d、1:
1
7、设有课程和学生两个实体,每个学生可以选修多个课程,一个课程可以有多名学生选修,则课程与学生实体之间的联系类型(a)。
8、如果一个班只能有一个班长,而且一个班长不能同时担任其它班的班长,班级和班长两个实体之间的关系属于(d)。
9、索引字段值不唯一,应该选择的索引类型为(b)。
主索引b:
普通索引c:
候选索引d:
唯一索引
10、如果指定参照完整性的删除规则为"
级联"
,则当删除父表中的记录时(c)。
a:
系统自动备份父表中被删除记录到一个新表中
b:
若子表中有相关记录,则禁止删除父表中记录
c:
会自动删除子表中所有相关记录
d:
不作参照完整性检查,删除父表记录与子表无关
11、设有两个数据库表,父表和子表之间是一对多的联系,为控制子表和父表的关联,可以设置"
参照完整性规则"
,为此要求这两个表(b)。
在父表连接字段上建立普通索引,在子表连接字段上建立主索引
在父表连接字段上建立主索引,在子表连接字段上建立普通索引
在父表连接字段上不需要建立任何索引,在子表连接字段上建立普通索引d:
在父表和子表的连接字段上都要建立主索引
12、把实体-联系模型转换为关系模型时,实体之间多对多联系在模型中是通过(c)_。
建立新的属性来实现
建立新的关系来实现
13、用树形结构来表示实体之间联系的模型称之为(
a.关系模型b.层次模型b)b:
建立新的关键字来实现d:
建立新的实体来实现c.网状模型d.数据模型
14、sql语句中修改表结构的命令是(c)_。
modiFytable
alteRtableb:
modiFystRuctuRed:
alteRstRuctuRe
15、用sql语句建立表时将属性定义为主关键字,应使用短语(b)。
check
FReeb:
pRimaRykeyd:
unique
16、sql实现分组查询的短语是(b)。
oRdeRbyb:
gRoupbyc:
haVingd:
asc
17、数据库系统中采用封锁技术的目的是为了保证(a)
a.数据的一致性b.数据的可靠性c.数据的完整性d.数据的安全性
18、在数据库设计中,表示用户业务流程的常用方法是(a)
a.dFdb.程序流程图c.e-R图d.数据结构图
19、为"
歌手"
表增加一个字段"
最后得分"
的sql语句是(a)。
a)alteRtable歌手add最后得分F(6,2)
b)alteRdbF歌手add最后得分F6,2
c)changetable歌手add最后得分F(6,2)
d)changetable学院inseRt最后得分
20、插入一条记录到"
评分"
表中,歌手号、分数和评委号分别是"
1001"
、9.9和"
105"
,正确的sql语句是(c)。
a)inseRtValues("
,9.9,"
)into;
评分(歌手号,分数,评委号)
b)inseRtto评分(歌手号,分数,评委号);
Values("
)
c)inseRtinto评分(歌手号,分数,评委号);
9.9,"
d)inseRtValues("
100"
9.9"
)to;
评分(歌手号,分数,评委号)
三、sql基础题(共30分)
设教学数据库education有三个关系:
学生关系s(sno,sname,age,sex,sdept);
学习关系sc(sno,cno,gRade);
课程关系c(cno,cname,cdept,tname)
查询问题:
(1)检索计算机系的全体学生的学号,姓名和性别;
3分
(2)检索学习课程号为c2的学生学号与姓名;
(3)检索选修课程名为“ds”的学生学号与姓名;
(4)检索选修课程号为c2或c4的学生学号;
(5)检索至少选修课程号为c2和c4的学生学号;
(6)检索不学c2课的学生姓名和年龄;
(7)检索学习全部课程的学生姓名;
5分5分
(8)查询所学课程包含学生s3所学课程的学生学号。
5分
selectsno,sname,sexFRomswheResdept=’cs’;
1.selectsno,snameFRomswheResnoin(selectsnoFRomscwheRecno=‘c2’)2.selects.sno,snameFRoms,scwheRes.sno=o=‘c2’;
(3)检索选修课程名为“ds”的学生学号与姓名
本查询涉及到学号、姓名和课程名三个属性,分别存放在s和c表中,但s和c表没有直接联系,必须通过sc表建立它们二者的联系。
c→sc→s
基本思路:
(1)首先在c表中找出“ds”课程的课程号cno;
(2)然后在sc表中找出cno等于第一步给出的cno集合中的某个元素cno;
果表列。
selectsno,sname
FRoms
wheResnoin(selectsnoFRomscwheRecnoin(selectcnoFRomcwheRecname=‘ds’));
selectsno
FRomsc
wheRecno=‘c2’oRcno=‘c4’;
FRomscx,scy
wheRex.sno=o=‘c2’o=‘c4’;
a.selectsnameFRomswheResnonotin(selectsnFRomscwheRecno=‘c2’);
或者
b.selectsnameFRomswheRenotexists(select*FRomscwheResc.sno=s.snoandcno=‘c2’);
(7)检索学习全部课程的学生姓名;
在表s中找学生,要求这个学生学了全部课程。
换言之,在s表中找学生,在c中不存在一门课程,这个学生没有学。
selectsname
wheRenotexists
(select*
FRomc
四、简答题(每题5分,共20分,其中1,2任选一题,其他必做题)
1.oracle的索引有几种,各有何用途
唯一索引:
索引列的所有值都只能出现一次,即必须唯一
非唯一索引:
索引列的值可以重复
函数索引:
保存了数据列基于function返回的值
反向索引:
转了索引码中的字节,是索引条目分配更均匀,用于减少索引叶的竞争。