一、单项选择题

1.在vs 编译环境下,以下代码的运行情况:( )
int f(int a, int b, int c)
{
return 0;
}
int main(){
return f(printf(“a”),printf(“b”),printf(“c”));
}
A. 编译不过
B. 运行错误
C.abc
D. cba
2.
var foo=”Hello”;
(function(){
var bar=”World”;
alert(foo+bar);
})();
alert(foo+bar);
A. hello world 报错
B. hello world hello world
C. hello world hello
3.文件系统管理的最小磁盘空间单位是 ( )
A. 扇区
B. 页面
C. 簇
D. 文件
4.IP 地址为 140.123.0.0 的地址是 B 类地址,若要切割为 10 个子网,而且都要连接上 Internet,请问子网掩码应设为 ( )
A. 255.0.0.0
B. 255.255.0.0
C. 255.255.128.0
D. 255.255.240.0
5.设有一个递归算法如下 :
int f(int n) {
if(n<=3) return 1;
else return f(n-2)+f(n-6)+1;
}
试问计算 f(f(9))时需要计算 ( ) 次 f 函数。
A. 10
B. 11
C. 12
D. 14
6.寝室有6 个同学打 dota,分为对立的两方,一方是天灾军团,一方是近卫军团。现请你设置赛程以及每场的对阵
(每方最少 1 人、最多 5 人),请问至少得进行多少场比赛,才能使得赛程结束后每位同学都和其他同学做过对手 ( )
A. 2
B. 3
C. 4
D. 5
7.以下代码打印的结果是(假设运行在 64 位计算机上): ( )
struct st_t {
int status;
short pdata;
char errstr[32];
};
st_t st[16];
char p=(char )(st[2].esstr+32);
printf(“%d”,(p-(char )(st)));
A. 32
B. 120
C. 114
D. 144
8.设有 2 条路由21.1.193.0/24 和21.1.194.0/24,如果进行路由汇聚,汇聚这两条路由的地址是 ( )
A. 21.1.200.0/22
B. 21.1.192.0/23
C. 21.1.192.0/21
D. 21.2.224.0/20
9.从一副标准扑克牌中抽牌,抽到黑色牌就继续抽(不取出),直至抽到红色牌,则停止。按照概率算,平均下来
每次能抽到多少张黑牌? ( )
A. 1
B. 1.2
C. 0.8
D. 0.9
10.假设就绪队列中有 10 个线程,系统将时间片设置为 200ms,CPU 进行线程切换要花费 10ms。则系统开销所占的
比例约为 ( )
A. 0.01
B. 0.05
C. 0.1
D. 0.2
11.请选择下列程序的输出结果是 ( )
#include <stdio.h>
int main()
{
const int N=10;
const int M=2;
int
a=new int[N];
for(int i=0;i<N;++i)
a[i]=(0==i%2)?(i+2):(i+0);
int (b)[N/M]=(int ()[N/M])a;
for(int i=0;i<M;++i)
for(int j=0;j<N/M;++j)
printf(“%d”,b[i][j]);
return 0;
}
A. 21436587109
B. 224466881010
C. 03254769811
D. 21436687101
12.
class Base
{
public:
virtual ~Base(){std::out<<”Base Destructor”<<std::endl;}
}
class Derived: public Base
{
public :
~Derived(){std::out<<”Derived Destructor” <<std::endl;}
}
Base
p=new Derived();
delete p;
上面代码在执行 delete p 时,控制台会输出什么内容 ( )
A. Base Destructor
B. Derived Destructor
C. Base Destructor Derived Destructor
D. Derived Destructor Base Destructor
13.下列说法错误的是 ( )
A. struct 声明的类型是值类型
B. 值类型是在堆上分配的
C. 值类型不会被垃圾回收
D. 值类型不需要指针来引用
E. 值类型不需要指针来引用
15.假设有如下这样一个类:
class X {
public:
void xoo(){}
};
请问 sizeof(X)的值为多少? ( )
A. 0
B. 1
C. 2
D. 4
E. 8
16.针对二分查找算法,假设一个有序数组有 136 个元素,那么要查找到第 10 个元素, 需要比较的元素为 ( )
A. 68,34,17,9,13,11,10
B. 68,34,17,8,12,10
C. 69,35,18,10
D. 68,34,18,9,13,11,10
17.以下代码输出的值是: ( )
A. 2642
B. 2
C. 4
D. 5
18.C 语言,设有宏定义:
#define A 4+5
#define B A
A
则表达式 B
B 的值为 ( )
A. 81
B. 69
C. 6561
D. 33
19.二叉树的节点的对称序列是 ABCDEFG,后序序列是 BDCAFGE,则该二叉树的前序序列是 ( )
A. EGFACDB
B. EACBDGF
C. EAGCFBD
D. EGACDFB
20.下面代码的执行结果是 ( )
int main(void)
{
char p[]={“TENCENT”,”CAMPUS”,”RECRUITING”};
char **pp[]={p+2,p+1,p};
char ppp=pp;
printf(“%s”,
++ppp);
printf(“%s”,
++
++ppp);
return 0;
}
A. CAMPUS RECRUITING
B. RECRUITING CAMPUS
C. CAMPUS CAMPUS

二、不定项选择题

1.具有 3 个节点的二叉树有几种形态?( )
A. 3
B. 4
C. 5
D. 6
2.已知一棵二叉树的前序遍历为 CABEFDHG,中序遍历为 BAFECHDG,那么它的后续遍历是: ( )
A. BFEACHDG
B. BFEAHGDC
C. BEFACHDG
D. BEFAHGDC
3.下列程序数据结果是多少(大 A 的 ascii 码是 65 )? ( )
#include <stdio.h>
enum etest{
eparam1,
eparam2,
eparam3=10,
eparam4,
eparam5=‘a’,
eparam6
}epr;
int main()
{
printf(“%d,%d”,eparam4,eparam6);
return 0;
}
A. 3,98
B. 11,34
C. 11,98
D. 3,34
4.哪种数据结构用于执行递归调用 ( )
A. 数组
B. 链表
C. 堆栈
D. 二叉树
5.在Linux 上,对于多进程,子进程继承了父进程的下列哪些?( )
A. 进程地址空间
B. 共享内存
C. 信号掩码
D. 已打开的文件描述符
E. 以上都不是
6.若磁头的当前位置在第 100 磁道,现在有一磁盘读写请求序列如下:23,376,205,132,19,61,190,
398,29,4,18,40。若采用最短寻道时间优先算法,则平均寻道长度是多少?( )
A. 133
B. 58.3
C. 57.7
D. 70.9
7.以下关于栈的说法错误的是: ( )
A. 在栈空的情况下,一定不能作出栈操作,否则产生溢出。
B. 栈一定是顺序存储的线性结构。
C. 空栈是所有元素都为 0 的栈。
D. 一个栈的输入序列为:A,B,C,D,可以得到输出序列:C,A,B,D。
8.下面关于 DNS 说法正确的是 ( )
A. DNS 的作用是域名和IP 地址的相互映射
B. DNS 协议大多数运行在 UDP 协议之上
C. DNS 协议端口号为 53
D. DNS 的默认缓存时间为 1 小时
9.在C++语言中,以下说法正确的是 ( )
A. 多态是通过虚表实现的
B. 构造函数可以声明为虚函数
C. 析构函数不可以声明为虚函数
D. 抽象类中至少包含一个纯虚函数
10.以下哪些属于线性结构? ( )
A. 队列
B. 栈
C. 线性表
D. 树
11.64 位机上,一个结构体有三个成员,分别是 char、int、short 类型,三个成员位于结构体中不同位置时整个结
构体的大小可能是下面哪些值? ( )
A. 12
B. 7
C. 8
D. 16

三、问答题

1.小明想自己做一个简单的网上商店,请帮他设计一个最简单的数据库系统,需要具备管理商品、管理客户及订单
等功能。
2.腾讯大厦有 39 层,你手里有两颗一抹一眼的玻璃珠。当你拿着玻璃珠在某一层往下扔的时候,一定会有两个结
果,玻璃珠碎了或者没碎。大厦有个临界楼层。低于它的楼层,往下扔玻璃珠,玻璃珠不会碎,等于或高于它的楼
层,扔下玻璃珠,玻璃珠一定会碎。玻璃珠碎了就不能再扔。现在让你设计一种方式,使得在该方式下,最坏的情
况扔的次数比其他任何方式最坏的次数都少。也就是设计一种最有效的方式。
3.给定一个正整数,编写程序计算有多少对质数的和等于输入的这个正整数,并输出结果。输入值小于 1000. 如,
输入为 10,程序应该输出结果为 2。(共有两对质数的和为 10,分别为(5,5),(3,7))
4.geohash 编码: geohash 常用于将二维的经纬度转换为字符串,分为两步:第一步是经纬度的二进制编码,第
二部是 base32 转码。
此题考察唯独的二进制编码:算法对维度 [-90,90] 通过二分法进行无限逼近(取决于所需精度,本题精度为 6 )。
注意,本题进行二分法逼近过程中只采用向下取整来进行二分,针对二分中间值属于右区间。算法举例如下:
(1) 区间 [-90,90] 进行二分为 [-90,0),[0,90] ,成为左右区间,可以确定 80 为右区间,标记为 1 ; (2) 针对上一步的右区间 [0,90] 进行二分为 [0,45),[45,90] ,可以确定 80 是右区间,标记为 1 ; (3) 针对 [45,90] 进行二分为 [45,67),[67,90] ,可以确定 80 为右区间,标记为 1 ; (4) 针对 [67,90] 进行二分为 [67,78),[78,90] ,可以确定 80 位右区间,标记为 1 ; (5) 针对 [78,90] 进行二分为 [89,84),[84,90] ,可以确定 80 位左区间,标记为 0 ; (6) 针对 [78,84) 进行二分为 [78,81),[81,84) ,可以确定 80 位左区间,标记为 0 ;
已达精度要求,编码为 111100
样本输入: 80
样本输出: 111100

求职必备刷题官网:https://github.com/bennyrhys/interview
【更多互联网公司笔试面试真题请关注“让我遇见相似的灵魂”公众号】

【求职】腾讯 2017 校招开发工程师笔试试卷(一)_虚函数