不定向选择 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 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 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