天天看點

美團點評2016研發工程師筆試題(三)

1.25匹馬賽跑,每次隻能跑5匹馬,最快能賽幾次找出跑得最快的3匹馬?賽跑不能計時,并假設每匹馬的速度是恒定不變的。請給出答案并描述比賽過程。

2.有一個函數“int f(int n)”,請編寫一段程式調試函數f(n)是否總是傳回0,并添加必要的注視和說明。

3.有ABCD四個人要在夜裡過一座橋,他們通過這座橋分别需要耗時1、2、5、10分鐘,現在隻有一支手電,過橋時必須帶有手電,并且同時最多隻能兩個人一起過橋。請問如何安排能夠讓四個人盡快都過橋。

4.在有團購之前,大家都是現場買門票,公園的門票是5元,某天售票處開門時沒有準備零錢。假設一天來購票的依次有2N個人,其中有N個人有5元零錢,其他N個人隻有10元面值的錢;假設每人隻買一張票。請問任何人都不必為找零而等待的機率是多少?

5.在網站推薦區域内,會循環播出五個商家出售的五種商品,五種商品的代号為(A,B,C,D,E)

一.B比它前一個商品貴12元

二.E比它後一個商品貴5元

三.C比它前一個商品貴14元

四.D比它前一個商品便宜5元

五.其中D的價格是16元,B的價格是40元

六.5個商品的價格按照價格從低到高是D,E,A,C,B

七.5個商品之和是135元

請問E的下一個是:( )

a. A     b. B       c. C     d. D

6.浏覽器和伺服器在基于https進行請求連結到資料傳輸過程中,用到了如下哪些技術:( )

a.非對稱加密技術  b.對稱加密技術   c.散列(哈希)算法   d.數字證書

7.java關于異常處理機制的叙述哪些正确( )

a. catch部分捕捉到異常情況時,才會執行finally部分

b. 當try區段的程式發生異常時,才會執行catch區段的程式

c. 在try區段不論程式是否發生異常及捕獲到異常,都會執行finally部分

d. 以上都是

8.單連結清單實作的棧,棧頂指針為Top(僅僅是一個指針),入棧一個P節點時,其操作步驟為:( )

a.  Top->next=p;

b. p->next=Top->next;Top->next=p;

c. p->next=Top;Top=p->next;

d. p->next=Top;Top=Top->next;

9.有以下程式:

main()
{
     int a=1;
     int b=3;
     int c=5;
     int *p1=&a;
     int *p2=&b;
     int *p=&c;
     *p=*p1*(*p2);
     printf(""%d\n"",c);
}
           

執行後的輸出結果是( )

a.1   b.2  c.3   d.4

10.下面哪些不是連結清單的特征( )

a.資料在記憶體中一定是連續的

b.插入或删除時,無需移動其它元素

c.可以随機通路表内的元素

d.需要事先估計存儲空間

11.下面哪一個選項是應用層的協定( )

a. TCP  b. FTP  c. UDP  d. ARP

12.同一程序的各個線程可以共享哪些内容?( )

a.寄存器内容   b.堆    c.棧    d.線程私有資料

13. k連結清單翻轉。給出一個連結清單和一個數k,比如連結清單1→2→3→4→5→6,k=2,則翻轉後2→1→4→3→6→5,若k=3,翻轉後3→2→1→6→5→4,若k=4,翻轉後4→3→2→1→5→6,用程式實作。

14. 從1到1000000的所有自然數,數字“1”一共出現了多少次?例:自然數101中,數字“1”出現了2次,自然數1011中,數字“1”出現了3次,請寫明計算過程及結果。

15. 有一個随機數發生器,以機率P産生0,機率(1-P)産生1,請問能否利用這個随機數發生器,構造出新的發生器,以1/2的機率産生0和1。請寫明結論及推理過程。

16. 請找出下面代碼中的所有錯誤

 說明:以下代碼是把一個字元串倒序,如“abcd”倒序後變為“dcba” #include""string.h""

main()
  {
   char*src=""hello,world"";
   char* dest=NULL;
   int len=strlen(src);
   dest=(char*)malloc(len);
    char* d=dest;
   char* s=src[len];
   while(len--!=0)
       d++=s--;
   printf(""%s"",dest);
   return 0;
 }
           

17.一個汽車公司的産品,甲廠占40%,乙廠占60%,甲的次品率是1%,乙的次品率是2%,現在抽出一件汽車時次品,問是甲生産的可能性?

18.一堆硬币,一個機器人,如果是反的就翻正,如果是正的就抛擲一次,無窮多次後,求正反的比例。

19.用兩個棧模拟隊列先進先出,模拟其add和romve功能,給出思路和代碼。

20.以下哪個ip不和10.11.12.91/28處于同一個子網( )

a.10.11.12.85/28   b.10.11.12.88/28   c.10.11.12.94/28    d.10.11.12.97/28

21.以下哪個屬于在預編譯階段執行____,以下哪些指令屬于操作符___ 

 a:malloc; b:++;c:#pragma;d:sizeof; e:#define( )

a.預編譯c,e 操作符a,b

b.預編譯c,d 操作符b,e

c.預編譯c,e 操作符b,d

d.預編譯a,d 操作符b,d

22.上網的時候發現網頁不能通路,QQ使用正常,出現此問題最可能的原因是( )

a.網線問題 b.DNS問題  c.IP位址沖突   d.網關錯誤

23.以下哪些jvm的垃圾回收方式采用的是複制算法回收( )

a.新生代串行收集器  b.老年代串行收集器  c.并行收集器    d.新生代并行回收收集器

24.在網絡7層協定中,如果想使用UDP協定達到TCP協定的效果,可以在哪層做文章?( )

a.應用層    b.表示層     c.會話層   d.傳輸層

25.具有7個頂點的有向圖至少應有多少條邊才可能成為一個強連通圖?( )

a.6     b.7    c.8     d.12

26.以下關于linux作業系統中硬連結和軟連結的描述,正确的是?( )

a.硬連結和軟連結指向的inode的編号是一樣的

b可以建立一個空檔案的軟連結

c.linux作業系統可以對目錄進行硬連結

d.硬連結指向inode節點

27.假設在x86平台上,有一個int型變量,在記憶體中的内部由低到高分别是:0x12,0x34,0x56,0x78當通過網絡發送該資料時,正确的發送順序是( )

a. 0x12,0x34,0x56,0x78

b. 0x78,0x56,0x34,0x12

c. 0x34,0x12,0x78,0x56

d. 0x56,0x78,0x12,0x34

28.HTTPS是使用( )來保證資訊安全的.

a. SET  b. IPSEC  c. SSL  d. SSH

29.我們用一個等臂天平來稱物體的品質,如果我們要稱的物體品質範圍在1到40克(整數),請問我們最少需要幾塊砝碼可以完成這項物體品質的稱量?( )

a.3     b.4      c.5    d.6      e.7

30. 兩個線程并發執行以下代碼,假設a是全局變量,那麼以下輸出( )哪個是可能的?

  int a=1;
void foo(){
    ++a;
    printf(""%d"",a);
}
           

a.3 2       b.2 3       c.3 3          d.2 2

31.開發C代碼時,經常見到如下類型的結構體定義:

typedef struct list_t{
struct list_t *next;
struct list_t *prev;
char data[0];
}list_t;
           

最後一行char data[0];的作用是?( )

a.友善管理記憶體緩沖區 b.減少記憶體碎片化      c.辨別結構體結束 d.沒有作用

32.請問在32位系統中,sizeof(list_t)的值為?( )

a. 4byte     b. 8byte      c. 5byte    d. 9byte

33.具有相同類型的指針類型變量p與數組a,不能進行的操作是:( )

a. p=a;    b. *p=a[0];      c. p=&a[0];     d. p=&a;

34.HTTP中的POST和GET在下列哪些方面有差別?( )

a.資料位置    b.明文密文    c.資料安全     d.長度限度    e.應用場景

35.在linux系統中,有一個檔案夾裡面有若幹檔案,通常用哪個指令可以擷取這個檔案夾的大小:( )

a. ls -h     b. du -sh      c.  df -h       d. fdish -h

36.一棵非空的二叉樹的先序周遊序列與後序周遊序列正好相反,則該二叉樹一定滿足?( )

a.所有的結點均無左孩子    b.所有的結點均無右孩子    c.隻有一個葉子結點       d.是一棵滿二叉樹

37.C++中構造函數和析構函數可以抛出異常嗎?( )

a.都不行    b. 都可以    c. 隻有構造函數可以    d.隻有析構函數可以

38.給字母重新進行二進制編碼,以使得"MT-TECH-TEAM"(包含連字元,不包含引号)的長度最小.并能夠根據編碼,解碼回原來的字元串.請問最優編碼情況下該字串的長度是多少bit?( )

a. 12       b. 33       c. 36      d. 84       e. 96

39.開發C代碼時,經常見到如下類型的結構體定義:

typedef struct list_t{
struct list_t *next;
struct list_t *prev;
char data[0];
}list_t;
           

最後一行char data[0];的作用是?( )

a.友善管理記憶體緩沖區   b.減少記憶體碎片化    c.辨別結構體結束   d.沒有作用

40.以下序列中不可能是一棵二叉查找樹的後序周遊結構的是:( )

a. 1,2,3,4,5     b. 3,5,1,4,2     c. 1,2,5,4,3     d. 5,4,3,2,1

41.由A地到B地,中間有一段扶梯,總路程和扶梯長度是固定的,為趕時間全程都在行走(包含扶梯上),中途發現鞋帶松了,需要停下來綁鞋帶.請問在扶梯上綁鞋帶和在路上綁鞋帶兩種方式比較( )

a.路上綁鞋帶,全程用時短

b.扶梯上綁鞋帶,全程用時短

c.用時一樣

d.和扶梯長度,綁鞋帶具體用時有關

42.mysql資料庫中一張user表中,其中包含字段A,B,C,字段類型如下:A:int,B:int,C:int根據字段A,B,C按照ABC順序建立複合索引idx_A_B_C,以下查詢語句中使用到索引idx_A_B_C的語句有哪些?( )

a. select *from user where A=1 and B=1

b. select *from user where 1=1 and A=1 and B=1

c.select *from user where B=1 and C=1

d. select *from user where A=1 and C=1

43.以下代碼輸出什麼? ( )

int a =1,b =32 ;

printf(""%d,%d"",a<<b,1<<32);

a.1,1    b. 1,0      c. 0,0     d. 取決于編譯器

44.将7723810的各位數字打亂排序,可組成的不同的7位自然數的個數是?( )

a. 1080    b. 2160    c. 3240     d. 4320     e. 5040

45.在x86系統下,sizeof如下結構體的值是多少? ( )

struct{ 
char a[10];
int b;
shortc[3];
}
           

a.20     b. 22       c. 24       d. 26

46.對于滿足SQL92标準的SQL語句:

select foo,count(foo)from pokes where foo>10group by foo

having count (*)>5 order by foo  

其執行順序應該是?( )

a.FROM->WHERE->GROUP BY->HAVING->SELECT->ORDER BY

b.FROM->GROUP BY->WHERE->HAVING->SELECT->ORDER BY

c.FROM->WHERE->GROUP BY->HAVING->ORDER BY->SELECT 

d.FROM->WHERE->ORDER BY->GROUP BY->HAVING->SELECT

47.下列關于線程排程的叙述中,錯誤的是( )

a.調用線程的sleep()方法,可以使比目前線程優先級低的線程獲得運作機會

b.調用線程的yeild()方法,隻會使與目前線程相同優先級的線程獲得運作機會

c.具有相同優先級的多個線程的排程一定是分時的

d.分時排程模型是讓所有線程輪流獲得CPU使用權

48.有9個球,其中一個的品質與其他的不同,有一個天平,通過最多幾次可以找出那個品質不一樣的球?( )

a. 2    b. 3    c. 4    d. 5

49.對程序和線程的描述,以下正确的是( )

a.父程序裡的所有線程共享相同的位址空間,父程序的所有子程序共享相同的位址空間

b.改變程序裡面主線程的狀态會影響到其他線程的行為,改變父程序的狀态不會影響到其他子程序

c.多線程會引起死鎖,而多程序不會

d.以上選項都不正确

參考答案:https://download.csdn.net/download/weixin_39813541/11166360

繼續閱讀