騰訊客戶端開(kāi)發(fā)(投的后端開(kāi)發(fā)。。)記錄
一面(3.9)
- 講講了解到c++11新特性。
- std::string缺陷(不了解)。
- 智能指針與原生指針開(kāi)銷一樣嗎?(答智能指針是一個(gè)類,有默認(rèn)的拷貝、構(gòu)造函數(shù)等,shared_ptr還多了一個(gè)引用計(jì)數(shù)),說(shuō)這是基于類層面的,讓我基于對(duì)象回答。不是很了解再次詢問(wèn),說(shuō)單看10000個(gè)智能指針和原生指針開(kāi)銷一樣嗎?有點(diǎn)懵了說(shuō)一樣。
- 浮點(diǎn)數(shù)存儲(chǔ)方式。
- MD5,Base64。
- http1.0/1 2 3做了哪些優(yōu)化。
- utf8 utf16區(qū)別(不知道), c++用的哪個(gè)。
- cookie。
- 服務(wù)器項(xiàng)目實(shí)現(xiàn)了哪些功能,get\post兩者語(yǔ)義上有啥區(qū)別,如何保證安全性。你的服務(wù)器如何保證安全(答參考https)。
- https如何保證安全(tsl握手),追問(wèn)如何握手(憑記憶瞎掰了一下。)。
- sql注入,危害, 如何解決。
- 市面上出現(xiàn)了很多信息泄露的安全問(wèn)題如何解決(好像是這個(gè)意思)。不知道。
- \r 和 \n有什么區(qū)別。
- 講講虛函數(shù)如何實(shí)現(xiàn)動(dòng)態(tài)分發(fā)?每個(gè)類都有虛函數(shù)表嗎?
- 關(guān)注現(xiàn)代c++嗎?哪些?一開(kāi)始就學(xué)的c++11嗎?平時(shí)怎么學(xué)習(xí)?如何積累技術(shù)實(shí)力?突然有了靈感會(huì)怎么做?除了博客?
- 算法:
- 點(diǎn)分十進(jìn)制轉(zhuǎn)無(wú)符號(hào)整型。沒(méi)發(fā)現(xiàn)面試官留的坑(樣例給了192.0.0.1 127.0.0.1,但是輸出相近,證明輸入是逆須的。。雖然題面是正序的,沒(méi)發(fā)現(xiàn),后面經(jīng)提示才寫(xiě)出)。
- 小q第一天可以挖11個(gè)比特幣,后面每天減少一個(gè)。但是可以選擇當(dāng)天不挖休息,第二天就又能挖11個(gè)。問(wèn)N天最多挖多少個(gè)。(狀態(tài)轉(zhuǎn)移方程沒(méi)推出來(lái),干巴巴的想了半天)。
- 騰訊的面試確實(shí)和網(wǎng)上說(shuō)的一樣很讓人舒適,即使是我這個(gè)菜雞,代碼沒(méi)寫(xiě)出來(lái)也沒(méi)嘲諷我哈哈哈,不過(guò)就是有點(diǎn)寄了,估計(jì)沒(méi)得二面了哈哈。
二面(3.16)
沒(méi)想到代碼沒(méi)撕出來(lái)也進(jìn)了二面,二面全程只問(wèn)項(xiàng)目,被殺爆了。
主要針對(duì)我的兩個(gè)項(xiàng)目來(lái)問(wèn),一個(gè)是cs144,一個(gè)是爛大街的webserver。
- 問(wèn)了一些項(xiàng)目相關(guān)的東西,然后問(wèn)我底層數(shù)據(jù)會(huì)經(jīng)過(guò)多少次拷貝,如何證明拷貝多少次是正確的。因?yàn)轫?xiàng)目是自帶性能測(cè)試的,說(shuō)用的都是別人現(xiàn)成的工具,問(wèn)我自己如何去定位。后面又說(shuō)咋優(yōu)化,我就說(shuō)了下用gprof打印函數(shù)損耗。
- 后面又問(wèn)了第二個(gè)爛大街的項(xiàng)目的線程池的東西,問(wèn)線程在請(qǐng)求到來(lái)之前在做什么,回不做什么,阻塞。我一直沒(méi)理解他的意思,他問(wèn)我pthread_create的函數(shù)指針傳的什么,如何把c++的類啥的傳給這樣一個(gè)c風(fēng)格的指針。我說(shuō)參數(shù)是函數(shù)指針,要傳一個(gè)函數(shù)啥啥的,其實(shí)我一直沒(méi)理解他的意思,而且我確實(shí)這部分看的不夠細(xì)致。其實(shí)面試官想問(wèn)的就是這個(gè)函數(shù)接受的實(shí)參是什么,就這個(gè)問(wèn)題說(shuō)了好久,中途我理解的越跑越偏,后面面試官就說(shuō)你創(chuàng)建線程的時(shí)候傳的什么參數(shù),恰好我每次看這里都沒(méi)注意,總是看大致的流程,實(shí)際并沒(méi)有完全理解線程池的運(yùn)作方式。其實(shí)就是寫(xiě)了一個(gè)靜態(tài)函數(shù),讓每一個(gè)線程創(chuàng)建時(shí)傳入這個(gè)靜態(tài)函數(shù),和this,這個(gè)靜態(tài)函數(shù)去調(diào)用run函數(shù),每個(gè)線程都死循環(huán)爭(zhēng)搶??,面試管想問(wèn)的就是這個(gè)地方,一個(gè)很簡(jiǎn)單的東西但是我不知道,面試官后面直接叫我打開(kāi)代碼看人家怎么實(shí)現(xiàn)的,說(shuō)為啥你答不出來(lái)就幾行代碼,因?yàn)槟銢](méi)有自己實(shí)地寫(xiě)過(guò),只是看了別人的開(kāi)源項(xiàng)目感覺(jué)懂了,u1s1確實(shí)。后面接著又問(wèn)了項(xiàng)目其他的,讓定位代碼某一行,后面又不讓看代碼了。還問(wèn)了我為啥要修改人家的定時(shí)器,作用啥的,但是只是提了一下。中途問(wèn)如何喚醒,我跟他說(shuō)了信號(hào)量的機(jī)制,面試官說(shuō)你覺(jué)得我不知道這個(gè)嗎哈哈。
- 面了一個(gè)小時(shí)多點(diǎn),總的感覺(jué)面試官水平很高,問(wèn)的比較細(xì)節(jié),每次像敷衍過(guò)去都被逮住哈哈,而且全程語(yǔ)氣都很好,沒(méi)有兇人,可能文字打出來(lái)有點(diǎn)兇。只能說(shuō)確實(shí)如他所說(shuō),沒(méi)有摸透,還是得自己寫(xiě)寫(xiě)才行。