[笔试题目] 美团2015年9月后端开发工程师笔试题
由于題目是我通過草稿回顧,可能表述不清,但是內(nèi)容大致一樣。希望該博客內(nèi)容對你有所幫助,題目所有權(quán)歸美團(tuán)公司所有,我只是想分享給大家學(xué)習(xí),還望貴公司海涵~
面試職位
- 應(yīng)聘職位:后端開發(fā)工程師
- 崗位描述:
- 崗位要求:
- 面試時間:2015年9月19日
- 面試題型:90分鐘 16單選+4多選+2編程
單選題
第1題 從A->B路程中有段扶梯,某人途中需要綁鞋帶,問那種情況更快?
- A.路上綁鞋帶時間快
- B.扶梯上綁鞋帶時間快
- C.時間一樣
- D.扶梯路程和綁鞋帶時間左右
第2題 X86平臺上,int型變量內(nèi)存中從低到高地址為:0x12、0x34、0x56、0x78,當(dāng)網(wǎng)絡(luò)發(fā)送該數(shù)據(jù)時,正確的發(fā)送順序是:
- A.0x12 0x34 0x56 0x78
- B.0x78 0x56 0x34 0x12
- C.0x34 0x12 0x78 0x56
- D.0x56 0x78 0x12 0x34
補(bǔ)充知識
操作系統(tǒng):http://www.cnblogs.com/renyuan/archive/2013/05/26/3099766.html
第3題 按入棧序列式ABCDE,不可能出棧的序列式:
- DECBA
- DCEBA
- ECDBA
- ABCDE
經(jīng)典的考察出棧題目:
如果在草稿紙上畫出入棧圖就非常容易了。此時入棧ABCD
D => E
C => C
B => B
A => A
出D人E再出CBA,出DC入E再出BA,最后是如一個出一個,而E出后必須先D后C,故ECDBA錯誤。
第4題 x=9999,輸入如下函數(shù),求返回結(jié)果count值:
int func(x) {int count=0;while(x) {count++;x=x&(x-1);}return count; }- A.8
- B.9
- C.10
- D.12
該題目非常的親切,why? 答案:A
因?yàn)樽罱鰈eetcode分享過該段代碼:Number of 1 Bits - 計算二進(jìn)制1的個數(shù)。同時你需要知道如果把一個十進(jìn)制數(shù)字轉(zhuǎn)換為2進(jìn)制。
9999(十進(jìn)制) = 10011100001111(二進(jìn)制)
鏈接:[LeetCode] Number of 1 Bits & Reverse Integer - 整數(shù)問題系列
第5題 HTTP使用()來保證信息安全的。
- A.SET
- B.FPSEC
- C.SSL
- D.SSH
答案:C
HTTPS是以安全為目標(biāo)的HTTP通道,簡單講是HTTP的安全版。即HTTP下加入SSL層,HTTPS的安全基礎(chǔ)是SSL,因此加密的詳細(xì)內(nèi)容就需要SSL。
SSL(Secure Sockets Layer 安全套接層),及其繼任者傳輸層安全(Transport Layer Security,TLS)是為網(wǎng)絡(luò)通信提供安全及數(shù)據(jù)完整性的一種安全協(xié)議。TLS與SSL在傳輸層對網(wǎng)絡(luò)連接進(jìn)行加密。
第6題 下列關(guān)于競爭和死鎖正確的是:
- A.競爭一定導(dǎo)致死鎖
- B.死鎖一定由競爭引起
- C.競爭可能引起死鎖
- D.防止死鎖可以防止競爭
第7題 公司局域網(wǎng)上 ping www.meituan.com沒有涉及到的網(wǎng)絡(luò)協(xié)議是:
- A.ARP
- B.DNS
- C.TCP
- D.ICMP
ping命令和ICMP協(xié)議(Internet Control and Message Protocal,Internet控制消息協(xié)議)有著密切的關(guān)系,它是TCP/IP協(xié)議族的一個子協(xié)議,用于在IP主機(jī)、路由器之間傳遞控制消息。
使用ICMP協(xié)議中的回送請求和回答報文。ICMP在網(wǎng)路層,ping不使用高層的TCP或UDP協(xié)議。但要使用IP協(xié)議。ping命令是應(yīng)用層直接使用網(wǎng)絡(luò)層協(xié)議的例子。
如果主機(jī)A要Ping主機(jī)B,他會先檢查自己的MAC地址,如果沒有B的MAC地址,就會向外發(fā)送一個ARP廣播包。
第8題 9個球,其中一個質(zhì)量和其他不同,一個天平,最多幾次查找能夠找到?
- A.2
- B.3
- C.4
- D.5
個人感覺像二分查找問題
第9題 SQL92標(biāo)準(zhǔn)SQL,代碼執(zhí)行順序是什么?
select foo,count(foo) from pokes where foo>10 group by foo having count(*)>5 order by foo- FROM->WHERE->GROUP BY->HAVING->ORDER BY->SELECT
- FROM->GROUP BY->WHERE->HAVING->ORDER BY->SELECT
- …
- …
第10題 多個源文件組成C程序,經(jīng)過編輯、預(yù)處理、編譯、鏈接生成可執(zhí)行程序,下列哪個可以發(fā)現(xiàn)被調(diào)用的函數(shù)未定義?
- A.預(yù)處理
- B.編譯
- C.鏈接
- D.執(zhí)行
重點(diǎn)題目 正確答案:C
解析:本題考查的是程序編譯過程的基本知識。對于編譯型程序設(shè)計語言C,在程序編寫完成后執(zhí)行前,主要進(jìn)行預(yù)處理、翻譯為目標(biāo)代碼和鏈接庫函數(shù)等關(guān)鍵步驟。在這三步中,預(yù)處理分析程序中的宏定義并替換宏引用,翻譯主要針對一個編譯單元(通常對應(yīng)一個源文件)進(jìn)行,將該編譯單元翻譯為中間代碼,鏈接過程將各個編譯單元中變量和函數(shù)的引用與其定義綁定,確保程序中使用的所有變量和函數(shù)都存在對應(yīng)實(shí)體。所以,未定義的函數(shù)引用只能在鏈接過程中發(fā)現(xiàn)。
第11題 下列序列不可能是二叉樹后序遍歷的結(jié)果的是:
- A.1 2 3 4 5
- B.3 5 1 4 2
- C.1 2 5 4 3
- D.5 4 3 2 1
二叉樹后序遍歷即最后一個結(jié)點(diǎn)為root根結(jié)點(diǎn),答案中A到B對應(yīng)的5 2 3 1分別為各自的root根結(jié)點(diǎn)。
第12題 一個線性表:31、18、67、56、45、41。h(key)=key%7計算散列地址,存在A[0…6]中,采用線性探測方法解決沖突,成功概率查找的平均查找長度是多少?
- A.1.5
- B.1.7
- C.1.9
- D.2.1
- E.不同以上答案
考察:哈希表沖突解決方法和平均查找長度 答案:E
處理沖突的方法包括:開放定址法、再哈希法、鏈地址法。其中開放地址法包括線性探測再散列法、二次探測再散列法和隨機(jī)探測再散列法。
按照h(key)=key%7計算:
31%7=3——1次
18%7=4——1次
67%7=4——2次
56%7=0——1次
45%7=3——4次
41%7=6——3次
平均查找長度:ASL=(1+1+2+1+4+3)/6=2,故答案選E。
第13題 下列哪個不是進(jìn)程的基本狀態(tài)?
- A.阻塞態(tài)
- B.執(zhí)行態(tài)
- C.就緒態(tài)
- D.完成態(tài)
非常基本的操作系統(tǒng)三個狀態(tài)題目,注意三態(tài)轉(zhuǎn)換。答案:D
第14題 ip不合10.11.12.91/28同一子網(wǎng)的是:
- A.10.11.12.85/28
- B.10.11.12.88/28
- C.10.11.12.94/28
- D.10.11.12.97/28
子網(wǎng)劃分、同一子網(wǎng)是重點(diǎn)問題 答案:D
/28是子網(wǎng)掩碼的位數(shù),IP地址可以看為二進(jìn)制的32為數(shù),你把IP二進(jìn)制轉(zhuǎn)換為二進(jìn)制,如果他們的子網(wǎng)掩碼位數(shù)都是一致的,則說明他們在同一子網(wǎng)下,如果不同即在不同子網(wǎng)內(nèi)。
理論上是IP與子網(wǎng)做AND運(yùn)算,得出結(jié)果一樣就代表在同一網(wǎng)段內(nèi)。例如:(轉(zhuǎn)二進(jìn)制方法整除2)
/28轉(zhuǎn)換為二進(jìn)制: 11111111,11111111,11111111,1111000
10.11.12.91中91轉(zhuǎn)換為二進(jìn)制位0101,1011 前4位與子網(wǎng)掩碼AND為0101 0000
10.11.12.85中85 =》0101,0101 同樣前四位為0101 0000
10.11.12.88中88 =》0101,1000 同樣前四位為0101 0000
10.11.12.95中94 =》0101,1110 同樣前四位為0101 0000
10.11.12.97中97 =》 0110,0001 輸出結(jié)果為0110 0000
第15題 7個頂點(diǎn)有向圖至少有多少條邊才能成為一個強(qiáng)連通圖?
- A.6
- B.7
- C.8
- D.12
答案:B 記住以下幾點(diǎn):
1.在一個無向圖中,頂點(diǎn)的度數(shù)之和是邊數(shù)的兩倍;有向圖中,任意一條邊AB(A->B)都會給A提供一個出度,給B提供一個入度。故:
頂點(diǎn)的度之和 = 2*頂點(diǎn)入度之和 = 2頂點(diǎn)出度之和 = 頂點(diǎn)入度之和+頂點(diǎn)出度值和 = 邊數(shù)的兩倍
2.具有n個頂點(diǎn)的無向圖,至少應(yīng)該有(n-1)條邊,才能確保是一個連通圖,若采用鄰接矩陣表示,該矩陣的大小是n*n
3.具有n個頂點(diǎn)的有向圖,至少應(yīng)該有n條弧才能確保是強(qiáng)連通圖的。在有向圖G中,如果對于任何兩個不同的點(diǎn)a、b,從a到b和從b到a都存在路徑,則稱G是強(qiáng)連通圖,強(qiáng)連通圖必須從任何一點(diǎn)出發(fā)都可以回到原處,每個節(jié)點(diǎn)至少要一條出路。
第16題 0,1….500共501個數(shù)升序排列,每次去奇數(shù)序位數(shù)丟掉,剩下的數(shù)的奇數(shù)序位數(shù)丟掉,最后剩下的數(shù)是多少?
- A.249
- B.253
- C.255
- D.257
- E.499
- 不是以上答案
多選題
第17題 HTTP協(xié)議中POST和GET下列有哪些區(qū)別?
- A. 數(shù)據(jù)位置
- B. 明文密文
- C. 數(shù)據(jù)安全
- D. 長度限制
- E. 應(yīng)用場景
第18題 C++ STL常用容器和類里,下面哪些可支持下標(biāo)“[]”運(yùn)算?
第19題 C代碼開發(fā),如下類型結(jié)構(gòu)體:
typedef struct list_t {struct list_t next;struct__list_t prev;char data[0]; }list_t;最后一行 char data[0]的作用是:
- A. 方便管理內(nèi)存緩沖區(qū)
- B. 減少內(nèi)存碎片化
- C. 標(biāo)識結(jié)構(gòu)體結(jié)束
- D. 沒有作用
第20題 a^b來表示a的b次冪,下列正確的是:
- A. 2.1^3.1 > 3.1^2.1
- B. 2.1^3.1 < 3.1^2.1
- C. 2.1^4.1 > 4.1^2.1
- D. 2.1^4.1 < 4.1^2.1
答案:BC
編程題
第21題 六種面額:1、5、10、20、50和100,每種幣值數(shù)量足夠多,編寫程序求組成N元(N為0~10000的非負(fù)整數(shù))的不同組合個數(shù)。
注意規(guī)定或枚舉會出現(xiàn)RE超市 動態(tài)規(guī)劃應(yīng)該可以做
第22題 給定非負(fù)整型數(shù)組arr和整數(shù)limit,兩次從arr中隨機(jī)抽取元素(可能抽到一個同元素),獲得整數(shù)x和y,計算和s=x+y,求所有不超過limit的s值中最大數(shù)。
int function(int *arr, int length,i nt limit) {
}
也是非常簡單的一道題,需要注意的是可能抽到同一個元素,如[1],1,2 結(jié)果輸出2。
總結(jié)
個人感覺美團(tuán)的這套題目不錯,但是考得比較廣,包括:操作系統(tǒng)、數(shù)據(jù)庫、網(wǎng)絡(luò)、網(wǎng)絡(luò)安全、編程、數(shù)學(xué)等知識。如果只專注于某課比較吃虧,同時編程題目不是很難,相對阿里、騰訊題目廣度更廣,但深度要淺些。也可能和我報的部門有關(guān),最后上面答案是我自己做的,可能存在錯誤不足之處。
總之,一句話:希望對你有所幫助,能內(nèi)推的盡量內(nèi)推避免這些雜七雜八的知識~
(By:Eastmount 2015-9-20 晚上1點(diǎn) http://blog.csdn.net/eastmount/)
總結(jié)
以上是生活随笔為你收集整理的[笔试题目] 美团2015年9月后端开发工程师笔试题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [C/C++基础知识] 一篇就让你彻底搞
- 下一篇: [Python爬虫] scrapy爬虫系