1. 程式人生 > >騰訊模擬筆試——技術研發類——綜合(乾貨!!試題分享~~)

騰訊模擬筆試——技術研發類——綜合(乾貨!!試題分享~~)

不定向選擇 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