第二次面試
其實(shí)是屬于霸面去的,為了基類面試經(jīng)驗(yàn)嘛
1.什么是TCP協(xié)議?怎么建立TCP連接?釋放?怎么保證收到的包的順序?
*這個(gè)問題讓我有點(diǎn)不知道怎么回答,我就照搬概念了,我說這是一種面向連接的,可靠的,提供字節(jié)流服務(wù)的協(xié)議,通過三次握手來建立連接,四次揮手來釋放連接,我說為了保證有序性,我會(huì)在每個(gè)包上標(biāo)記一個(gè)序號(hào),接收端進(jìn)行簡單排列就行,接著又問道:如果接收端接收到了之后要不要給確認(rèn)?我說當(dāng)然需要的。。。沒有什么往深里問,個(gè)人感覺挺水的
2.說一下你是怎么實(shí)現(xiàn)堆的?
*也就是簡單講了一下堆的實(shí)現(xiàn),用什么實(shí)現(xiàn),堆的特性等等,怎么使用堆排序。。。
3.說一下你是怎么實(shí)現(xiàn)大數(shù)據(jù)乘法的計(jì)算的?
*答:乘法我是復(fù)用的加法,原理很簡單,兩個(gè)數(shù)相乘就是將一個(gè)數(shù)累加另一個(gè)數(shù)那么多次。但是兩個(gè)大數(shù)進(jìn)行累加這樣的時(shí)間復(fù)雜度太大,所以我使用數(shù)學(xué)知識(shí)進(jìn)行優(yōu)化,就是從另一個(gè)數(shù)的最高位開始,每次累加這個(gè)最高位數(shù)字次,結(jié)果后面補(bǔ)一個(gè)0,這樣時(shí)間復(fù)雜度就得到大大的優(yōu)化。
4.說一下一個(gè)程序在運(yùn)行是的內(nèi)存分配問題?
*我不知道要怎么回答,但是我一想,程序運(yùn)行起來不就是進(jìn)程嗎?所以我就把進(jìn)程地址空間原封不動(dòng)的搬了過來,說這是分為幾個(gè)段的怎么分的,分別存儲(chǔ)的什么數(shù)據(jù),然后又問我:這個(gè)堆空間是連續(xù)的嗎?我覺得應(yīng)該不是,因?yàn)閯?dòng)態(tài)分配比較靈活,還有就是系統(tǒng)使用鏈表來存儲(chǔ)空閑內(nèi)存空間的,所以應(yīng)該是不連續(xù)的。
5.說一下什么是守護(hù)進(jìn)程?
*我回答的不好,因?yàn)楦拍钣洸磺辶?。?!?/p>
守護(hù)進(jìn)程(Daemon)是一種運(yùn)行在后臺(tái)的特殊進(jìn)程,它獨(dú)立于控制終端并且周期性的執(zhí)行某種任務(wù)或等待處理某些發(fā)生的事件
6.接著就是所謂的hr面
*問的是薪資還有一些什么都不記得了。。。。