腾讯模拟笔试——技术研发类——综合(干货!!试题分享~~)

不定向选择 14       编程 1           时长 1h  时间:2018.8.31  20:30——21:30

 

1.提升网络后台系统性能()

A.数据库单独部署

B.负载均衡部署

C.增加缓存

D.增加备份设备

 

2.提高系统对请求的并发处理能力()

A. 使用select/epoll等IO复用技术处理网络请求

B. 对下行消息或者请求的回复消息进行包合并处理

C. 发送请求之前对网络数据进行压缩

D. 在系统和Mysql之间增加dbproxy,把发往mqsql的同步请求转为异步处理

 

 

3.若11,12,13,7,8,9,23,4,5是采用下列排序方法之一得到的第二趟排序后的结果。则该排序算法为()

A.冒泡排序  B.插入排序  C.选择排序  D.归并排序

 

4.表user

字段 name,age,sex

索引1:age

索引1:age,sex

查询:20—30岁的用户

以下正确的是()

A.Select count(1) as cnt from user where age>=20 and age <=30

B.Select count(age) from user where age between 20 and 30

C.Select count(1) from user where age>=20 and age <=30 and sex is not null

D.Select sun(age) from user where age>=20 and age <=30

 

5.在C++中,有类型Foo声明如下

class Foo{

public:

virtual void func1(){}

void func2(){}

int data1;

static int data2;

};

int Foo::data2=1;

现有如下代码:

Foo*p_foo = (Foo*)malloc(sizeof(Foo));

不考虑内存分配失败的情况,以下哪些语句会引起程序异常()

A.P_foo->func1();

B.P_foo->func2();

C.P_foo->data1 = 1;

D.P_foo-> data2 = 1;

 

6.在32位或者64位系统中,代码输出可能是哪些?()

Void Test(int Array[],int size){

int Num = sizeof(Array)/sizeof(int);

for(int i=0;i<Num &&i<size;i++){

printf(“%d”,Array[i]);

}

int main(){

int Array[]={1,2,3,4};

Test(Array, sizeof(Array)/sizeof(int));

return 0;

}

}

A.1 2

B.1 2 3

C.1 2 3 4

D.不记得了

 

7.以下关于二叉树的描述错误的是:()

A.二叉树可以用数组进行存储,此时节点索引为i的父节点(如果存在)的索引可以用i/2向下取整获得

B.二叉树的前序序列和中序序列存在相同的可能性

C.在二叉树的非递归深度优先便利中,我们需要几下每一个待访问的点,而非递归的广度优先遍历则不需要

D.二叉查找树的最差查找时间为o(n),但通常可以达到o(logn)

 

8.两种常见的稀疏矩阵压缩存储方式是()

A.三元组和散组

B.二维数组和三维数组

C.散列和十字链表

D.三元体和十字链表

 

9.设栈s和队列Q的初始状态均为空,元素abcdefg依次进入栈S。若每个元素出站后立即进入队列Q,切7个元素出队的顺序是bdcfeag,则栈S的容量可能是(  )

A.1   B.2   C.3   D.4

 

10.假设有四台机器,他们之间的网络延迟小于1毫秒,机器之间的带宽是每秒10MB,现在其中一台机器上有数据大小为1GB的数据库,如果想把这台机器上的数据备份到其他三台机器上(是的每台机都有完整的备份数据),最快大概需要多长时间(不考虑数据压缩的情况)?()

A.300秒  B.200秒   C.150秒  D.100秒

 

11.Union  U{

         char *a;

         char b;

}

Strut S{

char *a;

         char b;

}

Union  U2{

         S s;

         V v;

};

printf(“%zu”,sizeof(U));

printf(“%zu”,sizeof(S));

printf(“%zu”,sizeof(U2));

printf(“%zu”,sizeof(std::array<char,2>));

printf(“%zu”,sizeof(char[2]));

printf(“%zu”,sizeof(char*));

输出为:()

A.4 5 5 8 2 4

B.4 8 8 8 2 4

C. 4 5 5 2 3 4

D.8 16 16 2 2 8

 

12.在X86-64下面代码打印什么()

char *string1=”tencent2018”;

int size1=sizeof(string1);

int size2=sizeof(*string1);

char string2[100]= ”tencent2018”;

int size3=sizeof(string2);

printf(“%d%d%d”,size1,size2,size3);

A.8 1 100

B.8 12 100

C.12 1 12

D.12 12 12

 

13.传入参数2018,返回()

int func(int n){

         if(n>0)

         return n+func(n-1);

         else

         return 0;

}

没有记答案,我算的2037171

 

14.var a=1;

function funcA(){

         alert(a);

         var a =2;

         alert(this.a);

}

funcA()

A. undefined  1

B. undefined  2

C.1  1

D.1  2

 

编程:

小Q有X首长度为A的不同的歌和Y首长度为B的不同的歌,现在小Q想用这些歌组成一个总长度正好为K的歌单,每首歌最多只能在歌单中出现一次,在不考虑歌单内歌曲的先后顺序的情况下,请问有多少种组成歌单的方法。

输入描述:

每个输入包含一个测试用例。

每个测试用例的第一行包含一个整数,表示歌单的总长度K(1<=K<=1000)。

接下来的一行包含四个正整数,分别表示歌的第一种长度A(A<=10)和数量X(X<=100)以及歌的第二种长度B(B<=10)和数量Y(Y<=100)。保证A不等于B。

输出描述:

输出一个整数,表示组成歌单的方法取模。因为答案可能会很大,输出对1000000007取模的结果。

示例1

输入

5

2 3 3 3

输出

9

 

 

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值