【面试题】 迅雷2014校园招聘笔试题
温馨提示:客观题和主观题得分都要超过一定标准,才能获得面试资格,如果一项得分很高,而另外一项得分很低,可能无法获得面试资格。
答案仅供参考,不保证完全正确
一、单选题(20题,每题2分)
1、有变量int i = 0; int a = i++; int b=++a; int c = a+b; 请问表达式 a?b:c 的值是()
A、0 B、1 C、2 D、3
2、32位环境下,int *p=new int[10];请问sizeof(p)的值为()
A、4 B、10 C、40 D、8
3、有语句char str[] = "abcde";请问表达式sizeof(str)的值是() 后面还有\0
A、1 B、4 C、5 D、6
4、有函数int func(int i)的实现为()
int func(int i)
{if(i > 1)return i*func(i-1);elsereturn 1;
}
请问函数调用f(5)的返回值是多少()阶乘计算
A、5 B、15 C、20 D、120
5、请问以下说法,哪个是正确的()
A、每个类都有一个无参数的构造函数
B、每个类都有一个拷贝构造函数
C、每个类能有多个构造函数
D、每个类能有多个析构函数
6、用class关键字定义的类,其成员默认的访问属性为()
A、private B、protected C、public D、无定义
7、类的成员有三种访问属性,分别是public、protected、private,子类能够访问的成员是()
A、都能访问
B、public和protected
C、public和private
D、protected和private
8、请问对一个排好序的数组进行查找,时间复杂度为()
A、O(n) B、O(lgn) C、O(nlgn) D、O(1)
9、以下二叉树:
后序遍历的结果是()
A、丙乙丁甲戊己 B、甲乙丙丁戊己 C、丙丁乙己戊甲 D、丙丁己乙戊甲
10、看以下代码:
A *pa = new A[10];
delete pa;
则类A的构造函数和析构函数分别执行了几次()
A、1 1 B、10 10 C、1 10 D、10 1
11、看以下代码:
class A
{
public:~A();
};
A::~A()
{printf("delete A ");
}class B : public A
{
public:~B();
};
B::~B()
{printf("delete B ");
}
请问执行以下代码
A *pa = new B();
delete pa;
输出的串是()A
A、delete A B、delete B C、delete B delete A D、delete A delete B
12、文件长度是一个大于0的整数,用变量unsigned file_length; 来表示,把文件分成块,每块的长度也是一个大于0的整数,用变量unsigned block_length; 来表示,则文件被分成的块数为()
A、file_length/block_length B、file_length/block_length+1
C、(file_length+block_length-1)/block_length D、((file_length-1)/block_length+1
13、整数int i = 0xFE78DA45; int k = 0xAC3189B2;则i^k的值为()
A、0x524953f7 B、0xAC308800 C、0xFE79DBF7 D、0X0000001
14、看以下代码:
class parent
{
public:virtual void output();
};
void parent::output()
{printf("parent!");
}class son : public parent
{
public:virtual void output();
};
void son::output()
{printf("son!");
}
则以下程序段:
son s;
::memset(&s , 0 , sizeof(s));
parent& p = s;
p.output();
执行结果是()
A、parent! B、son! C、son!parent! D、没有输出结果,程序运行出错
15、函数的局部变量所需存储空间,是在哪里分配的()
A、进程的数据段 B、进程的栈上 C、进程的堆上 D、以上都可以
16、以下STL的容器存放的数据,哪个肯定是排好序的()
A、vector B、deque C、list D、map
17、int a[][3]={{1},{3,2},{6,7,8},{9}};中a[2][1]的值是()
A、3 B、6 C、2 D、7
18、以下关于头文件,说法正确的是()
A、#include<filename.h>,编译器寻找头文件时,会从当前编译的源文件所在的目录去找
B、#include“filename.h”,编译器寻找头文件时,会从通过编译选项指定的目录去找
C、多个源文件同时用到的全局整数变量,它的声明和定义都放在头文件中,是好的编程习惯
D、在大型项目开发中,把所有自定义的数据类型、全局变量、函数声明都放在一个头文件中,各个源文件都只需要包含这个头文件即可,省去了要写很多#include语句的麻烦,是好的编程习惯。
19、某棵完全二叉树上有699个节点,则该二叉树的叶子节点数为()
A、349 B、350 C、188 D、187
n0=n2+1;
n=n0+n1+n2=n0+n1+n0-1=699
由于完全二叉树中度为1的节点只有0个或1个两种情况,所以,将0或1带入上面公式,整理后得: n0=(n+1)/2或者n0=n/2; 看看n是否能被2整除,能则用n0=n/2。否则用n0=(n+1)/2 既叶子节点为n0=(n+1)/2=350
20、在一个指向字符串的指针char *p_str,要把字符串中第4个字符的值改为'a',正确的做法是()
A、p_str[3]='a' B、*(ptr+3)='a' C、p_str[4]='a' D、*(ptr+4)='a'
二、多选题(10题,每题3分,错选漏选都不得分)
1、已知一段文本有1382个字符,使用了1382个字节进行存储,这段文本全部是由a、b、c、d、e这5个字符组成,a出现了354次,b出现了483次,c出现了227次,d出现了96次,e出现了232次,对这5个字符使用哈夫曼(Huffman)算法进行编码,则以下哪些说法正确()
A、使用哈夫曼算法编码后,用编码值来存储这段文本将花费最少的存储空间
B、使用哈夫曼算法进行编码,a、b、c、d、e这5个字符对应的编码值是唯一确定的
C、使用哈夫曼算法进行编码,a、b、c、d、e这5个字符对应的编码值可以有多套,但每个字符编码的位(bit)数是确定的
D、b这个字符的哈夫曼编码值位数应该最短,d这个字符的哈夫曼编码值位数应该最长
2、下列表达式中,不合法的是()
已知:double d = 3.2; int n = 3;
A、d<<2;
B、d/n
C、!d && (n-3)
D、(d-0.2)|n
3、下面描述正确的是()
A、while循环语句的循环体至少执行1次
B、do-while循环可以写成while循环的格式
C、continue语句可以出现在各种循环体中
D、break语句不可以出现在循环体内
4、关于内联函数正确的是()
A、类的私有成员函数不能作为内联函数
B、在所有类说明中内部定义的成员函数都是内联函数
C、类的保护成员函数不能作为内联函数
D、使用内联函数的地方会在运行阶段用内联函数体替换掉
5、下面模板声明中,哪些是非法的()
A、template<class Type>class C1;
B、template<class T,U , class V>class C2;
C、template<class C1 , typename C2>class C3{};
D、template<typename myT , class myT>class C4{};
6、在使用浏览器打开一个网页的过程中,浏览器会使用的网络协议包括()
A、DNS B、TCP C、HTTP D、Telnet
7、下面属于构造散列函数的方法是()
A、直接定址法
B、数字分析法
C、乘余取整法
D、平方取中法
8、拷贝构造函数的特点是()
A、该函数名同类名,也是一种构造函数,该函数返回自身引用
B、该函数只有一个参数,必须是对某个对象的引用
C、每个类都必须有一个拷贝初始化构造函数,如果类中没有说明拷贝构造函数,则编译器系统会自动生成一个缺省拷贝构造函数,作为该类的保护成员
D、拷贝初始化构造函数的作用是将一个已知对象的数据成员值拷贝给正在创建的另一个同类的对象
9、下列关于虚函数的说法正确的是()
A、在构造函数中调用类自己的虚函数,虚函数的动态绑定机制还会生效。
B、在析构函数中调用类自己的虚函数,虚函数的动态绑定机制还会生效。
C、静态函数不可以是虚函数
因为静态成员函数没有this,也就没有存放vptr的地方,同时其函数的指针存放也不同于一般的成员函数,其无法成为一个对象的虚函数的指针以实现由此带来的动态机制。静态是编译时期就必须确定的,虚函数是运行时期确定的。
D、虚函数可以声明为inline
inline函数和virtual函数有着本质的区别,inline函数是在程序被编译时就展开,在函数调用处用整个函数体去替换,而virtual函数是在运行期才能够确定如何去调用的,因而inline函数体现的是一种编译期机制,virtual函数体现的是一种运行期机制。
因此,内联函数是个静态行为,而虚函数是个动态行为,他们之间是有矛盾的。
函数的inline属性是在编译时确定的, 然而,virtual的性质则是在运行时确定的,这两个不能同时存在,只能有一个选择,文件中声明inline关键字只是对编译器的建议,编译器是否采纳是编译器的事情。
我并不否认虚函数也同样可以用inline来修饰,但你必须使用对象来调用,因为对象是没有所谓多态的,多态只面向行为或者方法,但是C++编译器,无法保证一个内联的虚函数只会被对象调用,所以一般来说,编译器将会忽略掉所有的虚函数的内联属性。
相关知识点: 什么函数不能声明为虚函数?
一个类中将所有的成员函数都尽可能地设置为虚函数总是有益的。
设置虚函数须注意:
1: 只有类的成员函数才能说明为虚函数;
2:静态成员函数不能是虚函数;
3:内联函数不能为虚函数;
4:构造函数不能是虚函数;
5:析构函数可以是虚函数,而且通常声明为虚函数。
10、下列对函数double add(int a , int b)进行重载,正确的是()
A、int add(int a ,int b ,int c)
B、int add(double a , double b)
C、double add(double a , double b)
D、int add(int a , int b)
三、填空题(15空,每空2分)
1、以下代码是用来计算100以内的素数的个数,请把相应的空填上。
struct prime_number_node
{int prime_number;prime_number_node* next;
};int calc_prime_number()
{prime_number_node* list_head = new prime_number_node();list_head->next = NULL;list_head->prime_number = 2;prime_number_node* list_tail = list_head;for(int number = 3 ; number < 100 ; number++){int remainder;prime_number_node* cur_node_ptr = list_head;while(cur_node_ptr != NULL){remainder = number%cur_node_ptr->prime_number;if(remainder == 0){//1}else{//2}}if(remainder != 0){prime_number_node* new_node_ptr = new prime_number_node(); new_node_ptr->prime_number = number;new_node_ptr->next = NULL;list_tail->next = new_node_ptr;//3}}int result = 0;while(list_head != NULL){result++;prime_number_node* temp_ptr = list_head;list_head = list_head->next;//4}return result;
}
1、2、3、4四行代码依次为:break;
cur_node_ptr = cur_node_ptr->next;
list_tail = list_tail->next;
delete temp_ptr;
2、已知集合A和B的元素分别用不含头结点的单链表存储,函数difference()用于求解集合A与B的差集,并将结果保存在集合A的单链表中。例如,若集合A={5,10,20,15,25,30},集合B={5,15,35,25},完成计算后A={10,20,30}。
链表结点的结构类型定义如下:
struct node
{int elem;node* next;
};void difference(node** LA , node* LB)
{node *pa , *pb , *pre , *q;pre = NULL;//1while(pa){pb = LB;while( ) //2pb = pb->next;if( ) //3{if(!pre)*LA = ; //4else= pa->next; //5q = pa;pa = pa->next;free(q);}else{; //6pa = pa->next;}}
}
1、2、3、4、5、6六行代码依次为
pa = *LA;
pb && pa->elem != pb->elem
pb
pa->next
pre->next
pre = pa;
代码中的指针pa用于指向集合A的元素;pb指向集合B的元素;临时指针q指向需要被删除的元素;pre用于实现删除时结点的链接,与pa保持所指结点的前后继关系。
【面试题】 迅雷2014校园招聘笔试题相关推荐
- 迅雷linux面试题,迅雷2014校园招聘笔试题
10.看以下代码: A *pa = new A[10]; delete pa; 则类A的构造函数和析构函数分别执行了几次() A.1 1 B.10 10 C.1 10 D.10 1 11.看以下代码: ...
- 迅雷2014校园招聘笔试题
转载请标明出处,原文地址:http://blog.csdn.net/hackbuteer1/article/details/11482103 温馨提示:客观题和主观题得分都要超过一定标准,才能获得面试 ...
- 阿里巴巴集团2014校园招聘笔试题(9月22北京)
阿里巴巴集团2014校园招聘笔试题 (9月22北京) (答案仅是个人见解,欢迎补充更正,谢谢) 第一部分 单选题(前10题,每题2分:后10题,每题3分.选对得满分,选错倒扣1分,不选得0分) 1.一 ...
- 阿里巴巴集团2014校园招聘笔试题------9-22北京 研发工程师
转自 http://blog.sina.com.cn/s/blog_6f83fdb40101eyzw.html 阿里巴巴集团2014校园招聘笔试题---研发工程师 (9月22北京) (答案仅是个人 ...
- 锐捷c语言笔试题,锐捷校园招聘笔试题
题不多,全是c语言题,下面只是一些不太确定答案的.题, 1. int x=3,y=4,z=5; printf("%d\n",~((x^y)&&!z)); 正确答案: ...
- 人人网 2014校园招聘笔试题
技术笔试题(一) #include <iostream>using namespace std;int hash_table[100];bool judge(int *a, int len ...
- 2014校园招聘笔试题
首先非常感谢Hack0nAir的2013阿里巴巴安全工程师实习生招聘笔试小结,昨天才回到学校,今天花了半上午加一下午的时间好好看了下,就去参加笔试了,心虚啊. 废话不多说,上题.首先五个名词解释,XS ...
- 百度2014校园招聘笔试题(成都站,软件研发岗)——2014.09.21
一.简答题(本题共30分) 1. 当前计算机系统一般会采用层次结构来存储数据,请介绍下典型的计算机存储系统一般分为哪几个层次,为什么采用分层存储数据能有效提高程序的执行效率?(10分) 2. Unix ...
- 迅雷2012校园招聘笔试题
1.微机中1K字节表示的二进制位数是() A.1000 B.0X1000 C.1024 D.0X1024 2.设C语言中,一个int型数据在内存中占2个字节,则unsigned i ...
最新文章
- 华人一作获最佳论文奖,第四大视觉顶会BMVC大奖出炉!
- python软件界面-用Python写一个语音播放软件
- C# HttpHelper帮助类,真正的Httprequest请求时无视编码,无视证书,无视Cookie,网页抓取...
- centos mysql-5.5.20_centos 下安装mysql5.5.20出现的问题
- Adobe Reader 文档无法签名_手把手教你如何利用PDF阅读器压缩PDF文档
- iOS小技巧:用runtime 解决UIButton 重复点击问题
- 【译】Persistent reverse (NAT bypassing) SSH tunnel access with autossh
- Java中的继承和接口
- 11.10金山面试内容
- 网站后台发通知页面效果图
- Framework4.0 IIS7下urlrewriter设置问题
- flex读取bolg的代码
- Ubuntu搭建DNS主从服务器
- Javascript第六章世上最全常用RegExp正则表达式及表单验证源码第七课
- 【ModBus】基础使用:【01】MThings国产调试工具
- python生成自己想要的KML文件
- 单片机c语言最容易上手的教程,最好的单片机C语言快速入门教程.doc
- 浙江大学吴朝晖:脑机融合系统综述
- Linux学习笔记——Linux基本命令篇
- 计算机报录比多少算高,报录比多少合适?怎么算好考?我来告诉你答案
热门文章
- ASP.NET MVC Training Kit发布了
- ajax常见问题汇总(一)
- c语言 sdk,适用于 C 语言的 Azure IoT 设备 SDK
- mysql selectprovider_使用Mybatis的@SelectProvide会不会导致注入攻击?
- python 迭代详解_详解python中的迭代
- python日志_python日志处理
- 小白重装系统教程_重装系统教程,小编教你怎么重装win10系统
- uni中动态加载class_SpringBoot中使用LoadTimeWeaving技术实现AOP功能
- 课程设计---图书登记管理系统
- MySQL 查询表中某字段值重复的数据