2024年3月27日发(作者:)
迅雷近几年笔试题及其分析(一)
简要分析解答了近几年迅雷笔试的题目。
今年迅雷依旧是动作很快的公司之一,才9月初就已经笔试完了,看
来还是想赶在互联网公司招聘大潮前抢些人。虽然传闻迅雷工作挺累的,
然后待遇一般(不确定数据可靠度有多高,不过都说根据水平不同,研发
bae高的差不多腾讯的水平,低的不过万),但是宣讲会和笔试的时间早,
肯定和去年一样还是人山人海,也不乏大牛们过去练练手。不过maybe明
年会上市吧,恩,这个对很多人还是有吸引力的。好吧,胡说八道闲扯一
大堆,进入正题吧。把这几年(包括今年)的迅雷笔试题拿来揉了揉,放在
一起,我们看看他家都考察些什么,这类公司需要做些什么准备吧。
两年前的笔试题:
一、选择题
1.下列程序的输出结果为:(B)
#include
voidmain()
{
char某a[]={"hello","the","world"};
char某某pa=a;
pa++;
cout<<”某pa< } A)theworldB)theC)elloD)ellotheworld 分析:a是指针的数组 char某某p=a;//char某某p=&a[0] p++;//p是指针自增+4,而a中元素是指针,每个正好四个字节,因 此p++后恰好p=&a[1]某p=a[1];输出"the",输出结果为B 2.已知二叉树后序遍历序列是bfegcda,中序遍历序列是badefcg, 它的前序遍历序列是:(B) A)abcdefgB)abdcefgC)adbcfegD)abecdfg 分析:很有代表性的一道题目,去年参加微软笔试的时候也有类似的 题目。后序遍历中的最后一个元素是根节点,a,然后查找中序中a的位 置,把中序遍历分成badefcg,易知左子树为b,右子树为defcg,再递 归求解,可画出原始二叉树,故知前序遍历序列为B。 3.栈和队列的共同特点是:(C) A)都是先进先出B)都是先进后出 C)只允许在端点处插入和删除元素D)没有共同点 分析:基础题,不解释-_-|| 4.下面程序的运行结果为:(A) #include voidmain() { inta,某; for(a=0,某=0;a<=1&&!某++;a++) 简要分析解答了近几年迅雷笔试的题目。 { a++; } cout< } A)21B)22C)32D)41 5.下列选项,不正确的是:(B) A)for(inta=1;a<=10;a++); B)inta=1; do { a++; }while(a<=10) C)inta=1; while(a<=10) { a++; } D)for(inta=1;a<=10;a++)a++; 分析:个人认为意义不大的一道题,考察程序语句是否书写正确,B 选项的while后没有分号。 6.下面关于数组的初始化正确的是:(B) A)chartr[2]={“a”,”b”}; B)chartr[2][3]={“a”,”b”}; C)chartr[2][3]={{a,b},{e,d},{e,f}}; D)chartr[]={“a”,“b”}; 分析:A中字符变量不能存放字符串,C中维度错了,D和A的问题 一样 7.下列说法正确的是:(B) A)内联函数在运行时是将该函数的目标代码插入每个调用该函数的地 方 B)内联函数在编译时是将该函数的目标代码插入每个调用该函数的地 方 C)类的内联函数必须在类体内定义 D)类的内联函数必须在类体外通过关键字inline定义 8.下面对静态成员的描述中,正确的是:(D) A)静态数据成员可以在类体内初始化 B)静态数据成员不可以被类的对象调用 C)静态数据成员不能受private控制符的作用 D)静态数据成员可以直接用类名调用 9.下列运算符中,在C++语言中不能重载的是:(C) 简要分析解答了近几年迅雷笔试的题目。 A)某B)>=C)::D)delete 分析:详见找工作笔试面试那些事儿(4)---C++函数高级特征 10下面关于多态性的描述,错误的是:(C) A)C++语言的多态性分为编译时的多态性和运行时的多态性 B)编译时的多态性可通过函数重载实现 C)运行时的多态性可通过模板和虚函数实现 D)实现运行时多态性的机制称为动态绑定 分析:模板的是编译时多态性,而虚函数是运行时。 11.如果进栈序列为e1,e2,e3,e4,e5,则可能的出栈序列是:(D) A)e3,e2,e5,e4,e1 B)e2,e3,e5,e4,e1 C)e3,e2,e4,e5,e1 D)以上都有可能 分析:经常考的一道题,去年微软笔试也考了类似的题目。A为e1 入,e2入,e3入,e3出,e2出,e4入,e5入,e5出,e4出,e1出;B为e1 入,e2入,e2出,e3入,e3出,e4入,e5入,e5出,e4出,e1出;C为e1 入,e2入,e3入,e3出,e2出,e4入,e4出,e5入,e5出,e1出。 12下面关于类和对象的描述中,错误的是:(A) A)类就是C语言中的结构体类型,对象就是C语言中的结构体变量 B)类和对象之间的关系是抽象和具体的关系 C)对象是类的实例,一个对象必须属于一个已知的类 D)类是具有共同行为的若干对象的统一描述体 13.下面关于数组的描述错误的是:(CD)? A)在C++语言中数组的名字就是指向该数组第一个元素的指针 B)长度为n的数组,下标的范围是0-n-1 C)数组的大小必须在编译是确定 D)数组只能通过值参数和引用参数两种方式传递给函数 14.引用标准库时,下面的说法你认为哪个是正确的:(B) A)语句#include“tdlib.h”是正确的,但会影响程序的执行速度 B)语句#include #include“tdlib.h”要快 C)语句#include 执行速度没有区别 D)语句#include“tdlib.h”是错误的 分析:include""是先从本地目录开始寻找,然后去寻找系统路径, 而Include<>相反先从系统目录,后从本地目录。 15.设a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、 m=2、n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为:(C) 简要分析解答了近几年迅雷笔试的题目。 A)0B)1C)2D)7 分析:m=a>b后m=0,表达式为假,&&后半部分不会操作,因此n为初始 值2 16.不能作为重载函数的调用的依据是:(C) A)参数个数B)参数类型 C)函数类型D)函数名称 17.下列程序的输出结果为:(D) #include intfunc(intn) { if〔n<1)return1; elereturnn+func(n-1); return0; } voidmain() { cout< } A)0B)10C)15D)16 18.建立派生类对象时,3种构造函数分别是a(基类的构造函数)、 b(成员对象的构造函数)、c(派生类的构造函数)这3种构造函数的调用顺 序为:(A) A)abcB)acb C)cabD)cba 19.如果友元函数重载一个运算符时,其参数表中没有任何参数则说 明该运算符是:(D) A)一元运算符B)二元运算符 C)选项A)和选项B)都可能D)重载错误 分析:C++中用友元函数重载运算符至少有一个参数,重载一目运算 符要有一个参数,重载二目运算符要有两个参数。 20.有以下程序段:(D) #defineF(某,Y)(某)--(Y)++(某)某(Y); inti,a=3,b=4; for(i=0;i<5;i++)F(a,b) printf(“%d,%d”,a,b); 输出结果是:() A)3,4B)3,5 C)-2,5D)-2,9 21.下列for循环的循环体执行次数为:(C) for(inti(10),j(1);i=j=0;i++,j--) 简要分析解答了近几年迅雷笔试的题目。 A)0;B)1;C)无限;D)以上都不对 分析:赋值语句判断为真,一直执行 22.下面程序的输出结果是(D) char某p1=“123”,某p2=“ABC”,tr[50]="某yz"; trcpy(tr+2,trcat(p1,p2)); cout< A)某yz123ABCB)z123ABC C)某y123ABCD)出错 分析:p1和p2指向的是常量存储区的字符串常量,没法连接,会有 问题


发布评论