迅雷 2021 技术类面试题

小编:管理员 675阅读 2021.10.09

第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 ;请问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题:

请问函数调用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 *pa = new A ;

  delete pa;

  则类A的构造函数和析构函数分别执行了几次()

  A、1 1 B、10 10 C、1 10 D、10 1



第10题:

文件长度是一个大于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



第11题:

整数int i = 0xFE78DA45; int k = 0xAC3189B2;则i^k的值为()

  A、0x524953f7 B、0xAC308800 C、0xFE79DBF7 D、0X0000001



第12题:

函数的局部变量所需存储空间,是在哪里分配的()

  A、进程的数据段 B、进程的栈上 C、进程的堆上 D、以上都可以



第13题:

以下STL的容器存放的数据,哪个肯定是排好序的()

  A、vector B、deque C、list D、map



第14题:

int a  ={{1},{3,2},{6,7,8},{9}};中a  的值是()

  A、3 B、6 C、2 D、7



第15题:

以下关于头文件,说法正确的是()

  A、#include,编译器寻找头文件时,会从当前编译的源文件所在的目录去找

  B、#include“filename.h”,编译器寻找头文件时,会从通过编译选项指定的目录去找

  C、多个源文件同时用到的全局整数变量,它的声明和定义都放在头文件中,是好的编程习惯

  D、在大型项目开发中,把所有自定义的数据类型、全局变量、函数声明都放在一个头文件中,各个源文件都只需要包含这个头文件即可,省去了要写很多#include语句的麻烦,是好的编程习惯。



第16题:

某棵完全二叉树上有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



第17题:

在一个指向字符串的指针char *p_str,要把字符串中第4个字符的值改为'a',正确的做法是()

  A、p_str ='a' B、*(ptr+3)='a' C、p_str ='a' D、*(ptr+4)='a'



第18题:

多选题(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这个字符的哈夫曼编码值位数应该最长



第19题:

主观题:

1、(40分)用户启动迅雷时,服务器会以uid,login_time,logout_time的形式记录用户的在线时间;用户在使用迅雷下载时,服务器会以taskid,start_time,finish_time的形式记录任务的开始时间和结束时间。有效下载时间是指用户在开始时间和结束时间之间的在线时间,由于用户可能在下载的时候退出迅雷,因此有效下载时间并非finish_time 和 start_time之差。假设登录记录保存在login.txt中,每一行代表用户的上下线记录;下载记录保存在task.txt中,每一行代表一个任务记录,记录的字段之间以空格分开。计算每个用户的有效下载时间和总在线时间的比例。注意:请尽量使用STL的数据结构和算法



第20题:

2、(60分)在8X8的棋盘上分布着n个骑士,他们想约在某一个格中聚会。骑士每天可以像国际象棋中的马那样移动一次,可以从中间像8个方向移动(当然不能走出棋盘),请计算n个骑士的最早聚会地点和要走多少天。要求尽早聚会,且n个人走的总步数最少,先到聚会地点的骑士可以不再移动等待其他的骑士。



第21题:

12个工厂分布在一条东西向高速公路的两侧,工厂距离公路最西端的距离分别是0、4、5、10、12、18、27、30、31、38、39、47.在这12个工厂中选取3个原料供应厂,使得剩余工厂到最近的原料供应厂距离之和最短,问应该选哪三个厂?



第22题:

hash冲突时候的解决方法?

1)、开放地址法

2)、再哈希法

3)、链地址法

4)、建立一个公共溢出区


关联标签: