話說一面結束後,我感覺良好。次日便收到tencent的二面通知,感到萬分慶幸的我,開始準備迎接第三天的又一次挑戰。
閒話少說,直入正題。這次面試持續大概25分鐘,內容如下:
1.自我介紹。事先沒有預料,我張口就說。從目前的研究生說起,一直到大學生涯。我的感覺是自己說的有點粗糙,也沒啥亮點。這個以後需要事先有所準備,盡量給面試官留下乙個好的印象。
2.工作地點。面試官問我工作地點意向。我一直都是堅持的深圳。然後他又要我給出乙個合理理由,我的回答也很乾脆:tencent的總部就在深圳,覺得比較好發展。
3.程式設計題:.給定乙個字串如"12345",將其轉換為整數?(此題很簡單,我的回答很一般,暴露的問題:考慮的不夠全面,如當時沒有考慮負數情形)
#includeint strconvert(char *s, int *result)測試結果:for(*result = 0; s[i] >= '0' && s[i] <= '9'; ++i)
if(s[i]) //如果s[i]沒有到達'\0'
return 1;
else }
int main()
}
wl@mars:~/usefulcode/tencent$ ./a.out
input characters:(end of ctrl-d)12345
12345--->12345
-38
-38--->-38
-12sadf
-12sadf is not all numbers!abcdabcd is not all numbers!
4.頁面置換演算法
考查範圍:作業系統-儲存器管理-頁面置換演算法
概念回憶:在程序執行過程中,若其所要訪問的頁面不在記憶體而需要把他們調入記憶體中,但記憶體已經無空閒空間時,為了保證該程序能夠正常執行,系統必須從記憶體中調出一頁程式或資料送磁碟的對換區中。通常,把選擇換出的頁面的演算法成為頁面置換演算法。置換演算法的好壞將直接影響到系統的效能。
1)最佳置換演算法:一種理想化的演算法,具有最好的效能,但實際上卻難於實現。其所選擇的被淘汰頁面,將是以後永不使用的,或許是在最長(未來)時間內不再被訪問的頁面。採用最佳置換演算法通常可以保證獲得最低的缺頁率。由於人們無法預知乙個程序在記憶體的若干頁面中,哪乙個頁面是未來最長時間不再被訪問的,因而將演算法無法實現。
2)先進先出頁面置換演算法(fifo):該演算法總是淘汰最先進入記憶體的頁面,即選擇在記憶體中駐留時間最久的頁面予以淘汰。
3)最近最久未使用置換演算法(lru):根據頁面調入記憶體後的使用情況進行決策。lru置換演算法時選擇最近最久未用的頁面予以淘汰。
可利用乙個特殊的棧來儲存當前使用的各個頁面的頁面號。每當程序訪問某頁面時,便將該頁面 的頁面號從棧中移出,將它壓入棧頂。因此,棧頂始終是最新被訪問頁面的編號,而棧底則是最近最久未使用頁面的頁面號。
4)clock置換演算法
簡單的colock置換演算法:只需為每頁設定一位訪問位,再將記憶體中的所有頁面都通過鏈結指標連線成乙個迴圈佇列。當某頁被訪問時,其訪問位被置1。置換演算法在選擇一頁淘汰時,只需檢查頁的訪問為。如果是0,就選擇該頁置換出;若為1,就重新將它置0,暫不換出,而給該頁第二次駐留記憶體的機會,再按照fifo演算法檢查下乙個頁面。當檢查到佇列中的最後乙個頁面時,若其訪問位仍為1,則再返回隊首去檢查第乙個頁面。——又稱為最近未用演算法nru。
改進型clock置換:在該演算法中,除需考慮頁面的使用情況外,還須增加乙個因素,即置換代價,這樣,選擇頁面換出時,既要是未使用過的頁面,又要是未被修改過的頁面。把同時滿足這兩個條件的頁面作為首選淘汰的頁面。
其他演算法包括最少使用置換演算法(lfu),頁面緩衝演算法(pba)。
5.tcp和udp有什麼區別?什麼時候用tcp,什麼時候用udp?
考查範圍:計算機網路-運輸層
tcp最主要的特點是:面向連線的運輸層協議,每一條tcp連線只能有兩個端點(點對點),tcp提供可靠交付的服務,tcp提供全雙工通訊,面向位元組流。
udp的主要特點是:面向無連線的,使用盡最大努力交付,面向報文的,沒有擁塞控制,支援一對
一、一對多、多對
一、多對多的互動通訊、首部開銷小(8位元組,tcp需要20位元組)
6..什麼是三次握手?
第一次握手:建立連線時,客戶端傳送syn包(seq=j)到伺服器,並進入syn_send狀態,等待伺服器確認;
第二次握手:伺服器收到syn包,必須確認客戶的syn(ack=j+1),同時自己也傳送乙個syn包(seq=k),即syn+ack包,此時伺服器進入syn_recv狀態;
第三次握手:客戶端收到伺服器的syn+ack包,向伺服器傳送確認包ack(ack=k+1,seq=j+1),此包傳送完畢,客戶端和伺服器進入established狀態,完成三次握手。
7.有1
到100
萬個數,設計一種資料結構來實現以下功能:
insert(int n);
delete(int n);
print();
要求:實現這三個功能,盡可能快。
此題待續,希望大家給出寶貴想法!
2013騰訊實習生面試經歷
4.13參加筆試,筆試題考的太寬泛,硬體,作業系統,c語言,網路,演算法,資料結構都考,但是大多數都不難,考察面試人的基礎知識。我筆試成績很高估計排名很靠前,使得後面的面試都較為輕鬆。第二天到面試現場,面試很準時,快要10的時候,小招姐就叫我的名字,我就去面試了。我的面試官是乙個年輕的哥哥,人還是挺...
華為實習生面試經歷
下午兩點二十的面試,早上七點過就起了,吃了個愉快的早餐,9點就出發了。十一點半到了華為,姐夫接了我,帶我逛了逛華為,吃了頓午飯,就去一號門排隊面試了。排隊排到了4點,終於輪到我了,等待的時候還碰到了兩位本校研究生部的學長,其中一位筆試582,沒有滿分是因為看錯了乙個需求 面試就兩場,一場是技術面,一...
金山網路實習生面試經歷
2014年4月24日星期四 今天參加了金山網路的面試自己記錄下所涉及的問題。我投的是c 崗位的實習生。question 1 平時都自己做過什麼專案,自己有什麼收穫。question 2 然後就開始問筆試的題目相關的問題,所以一定要準備筆試題目 第一題實現類似stl中的容器類,能夠實現幾個函式基本功能...