CVTEC/C++研發(fā)實(shí)習(xí)面試(涼)-創(chuàng)新互聯(lián)

在線筆試

在線測試的主要內(nèi)容就是20道選擇題和兩道編程題。

專注于為中小企業(yè)提供成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)長興免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了上1000+企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

選擇題就是一些八股文,具體記不清了。反正對(duì)面試影響不大。

兩道編程題是:

  1. 求給定一個(gè)數(shù)組經(jīng)過降序排序之后,前30%中最小的數(shù)。
  2. 給一組IP vector ips,求子網(wǎng)掩碼的大長度。
面試

面試官是一個(gè)小哥,聽聲音比較溫和,

注:開面之前假裝調(diào)攝像頭,先把iwatch錄音開啟來。

  1. 自我介紹

    答:我叫xxx,來自xxx,在德國克萊登大學(xué)計(jì)算機(jī)專業(yè)讀研二。我自己目標(biāo)的方向是CC++Linux后臺(tái)開發(fā)方向,我對(duì)這個(gè)方向所需要用到的理論知識(shí)有一定的了解。 比如數(shù)據(jù)結(jié)構(gòu),如隊(duì)列、棧鏈表、還有一些別的算法,比如回溯、動(dòng)態(tài)規(guī)劃等。還有IO多路復(fù)用的知識(shí),比如select、poll、epoll以及在它們之上進(jìn)行封裝的Reactor和Proactor?這里C/C++說自己只是了解(有點(diǎn)不夠自信),學(xué)習(xí)的時(shí)候習(xí)慣將學(xué)到的重要知識(shí)點(diǎn)總結(jié)成筆記,然后業(yè)余愛好的話,我每天堅(jiān)持跑步5km,然后平時(shí)喜歡讀一些書?,F(xiàn)在在學(xué)RPC這方面的內(nèi)容,想把之前的項(xiàng)目擴(kuò)充 ,把httpserver擴(kuò)充用到數(shù)據(jù)庫之類的中間件。

    reactor是對(duì)epoll的一層封裝 ,epoll是對(duì)io進(jìn)行管理,reactor將對(duì)io的管理轉(zhuǎn)化為對(duì)事件的管理。

    應(yīng)該要說能夠熟練掌握C/C++基本語法與應(yīng)用,放介紹的前面說比較合適,

  2. 看你簡歷上說你有一次實(shí)習(xí)經(jīng)歷,你的收獲是什么?

    答:做的事情相對(duì)比較簡單,因?yàn)樗闶堑谝淮螌?shí)習(xí),之前也有實(shí)習(xí)過,但是是測試,這次實(shí)習(xí)至少能看到一些軟件開發(fā)流程,導(dǎo)師有分配一些解bug的任務(wù)。然后這次實(shí)習(xí)主要是與QT相關(guān)。主要是能夠接觸到它們的代碼的語法風(fēng)格。有些問題看起來很簡單,但是做的時(shí)候沒法下手,然后導(dǎo)師指導(dǎo)后,也就是用到常用的封裝的方法,不應(yīng)該這么說應(yīng)該具體是說面向?qū)ο蟮姆椒?,比如說繼承。。。

    打日志很重要。(中間又是一大堆嘶嘶嘶嘶嘶嘶)。

  3. 在實(shí)習(xí)中你有了解過軟件開發(fā)的生命周期是怎么樣的呢?

    答:忘記了,答的支支吾吾

  4. 你在實(shí)習(xí)的時(shí)候有解決過什么bug嗎,有沒有學(xué)到或者是有沒有一些解決問題的心得方法?

    答:這里已經(jīng)慌了。語無倫次了,

    先找到出現(xiàn)問題的大概位置,閱讀上下文代碼,了解類的封裝情況,代碼的執(zhí)行情況,根據(jù)這個(gè)來修改,增添新類不是很敢做。

  5. 有學(xué)過一些設(shè)計(jì)模式嗎?

    答:這個(gè)只記起來單例模式,別的一時(shí)間腦子一片空白。

  6. 類的封裝或設(shè)計(jì)上你有沒有什么設(shè)計(jì)思想或者是一些指導(dǎo)思想?

    答了一些屏蔽屬性,只提供給用戶有限的使用接口,反正也是答的不好

  7. 我看你寫了一個(gè)web服務(wù)器項(xiàng)目,有用到哪些開源組件嗎

    回答:目前沒有,只用到了epoll

  8. 你能介紹一下你的這個(gè)項(xiàng)目整體設(shè)計(jì)是什么樣的?分了幾個(gè)線程或者是線程,每個(gè)線程職責(zé)是什么?或者說從類的分工上分了幾個(gè)層次或者框架,你能簡單介紹一下你的這個(gè)程序的設(shè)計(jì)嗎?

    答:開始不知道為什么笑起來了???說的亂七八糟???

    搞的面試官再次提問,你這個(gè)項(xiàng)目的工作流程是什么樣子的呢?先給我介紹一下大概的結(jié)構(gòu)是什么樣子,然后再介紹進(jìn)程和線程都是做什么用的,這樣我比較好的了解你這個(gè)項(xiàng)目的全貌。

    明明這方面項(xiàng)目看了好多

  9. 你這個(gè)項(xiàng)目用的是get方法來獲取資源 ,你這個(gè)程序是只能下載不能上傳的嗎?

    答:目前沒有做這個(gè)功能

  10. 那么如果下載的是一個(gè)大文件,有沒有支持?jǐn)帱c(diǎn)續(xù)傳功能呢?

    答:這個(gè)不了解,沒做過。

  11. 你這里用到了get請(qǐng)求,有沒有了解過http請(qǐng)求的一個(gè)效率問題呢?get請(qǐng)求和post請(qǐng)求數(shù)據(jù)量一致的情況下哪一個(gè)效率會(huì)更高一點(diǎn)呢,為什么?

    答:不知道,答不上來,我說沒差別。。

  12. 你這里epoll選擇的是ET、還是LT為什么?

    答:ET、因?yàn)槲艺?qǐng)求的都是小文件,基本幾次數(shù)據(jù)就到了,所以只要緩沖區(qū)第一次有數(shù)據(jù)到來才觸發(fā)就夠了。

  13. 都說epoll比select和poll高效,那么高效的原因是什么?

    答:說了一下區(qū)別,select和poll每次都要設(shè)置監(jiān)聽fd的集合,而epoll不需要,而且epoll事件是存在一個(gè)紅黑樹。所以效率更高。感覺不行

  14. 你這個(gè)程序的話,是一個(gè)web服務(wù)器,那現(xiàn)在我們發(fā)散一下,改成一個(gè)CDN服務(wù)器,就像我們現(xiàn)在用的視頻會(huì)議工具有個(gè)視頻流傳輸,要做到實(shí)時(shí)級(jí)別視頻級(jí)別的服務(wù)器的話,底層就傳輸層協(xié)議可能不用TCP實(shí)現(xiàn),而是用UDP實(shí)現(xiàn),因?yàn)槲覀兌贾繳DP實(shí)時(shí)性能要高一點(diǎn)?,F(xiàn)在場景是傳輸層我用UDP實(shí)現(xiàn),但應(yīng)用層協(xié)議我還沒敲定,我的要求是能夠有一個(gè)更好的可靠性,如果既要保證實(shí)時(shí)性又要保證可靠性的話,你會(huì)怎么去實(shí)現(xiàn)呢?

    答:TCP是依靠序號(hào)機(jī)制和三次握手來實(shí)現(xiàn)數(shù)據(jù)包不丟失不亂序,那么傳輸層UDP時(shí)在應(yīng)用層發(fā)送數(shù)據(jù)時(shí)加上序號(hào)。

  15. 你是否有了解過滿足我剛剛說的要求的應(yīng)用層協(xié)議呢?

    答:QUIC,具體細(xì)節(jié)忘記了

  16. 你剛剛提到有用到線程池,那么你有了解過線程池的線程數(shù)初始值根據(jù)什么來決定。

    答:(不會(huì))根據(jù)并發(fā)數(shù)來確定初始值。

  17. 那你有測過你的webserver的并發(fā)數(shù)嗎?

    答:瞎扯之前百萬并發(fā)的實(shí)驗(yàn),就說通過調(diào)大內(nèi)存和大文件描述符打開數(shù)量,調(diào)小讀寫緩沖區(qū),能到80w連接。

    面試官說那就是要好好系統(tǒng)性的梳理一下原因

  18. 在STL你會(huì)用到哪些容器呢?

    答:vector、set、map詳細(xì)講一下

  19. 你剛剛說到vector中動(dòng)態(tài)擴(kuò)容,那為什么是1.5倍或者是2倍?

? 答:不知道。。。。

  1. map查找上是什么樣的復(fù)雜度?

    答:Olog2N

  2. 你在做算法題或者項(xiàng)目功能時(shí),有什么調(diào)試方法保證運(yùn)行邏輯和你預(yù)期是一致的?

    答:主要是打輸出,gdb中打斷點(diǎn)。

  3. 你有了解過程序崩潰的時(shí)候,應(yīng)該怎么去排查呢?

    答:我回答內(nèi)存泄漏、邊界問題,在資源分配和數(shù)據(jù)流動(dòng)代碼附件加斷點(diǎn)或打輸出。

  4. 你剛剛提到內(nèi)存泄漏,那C++上有提供了一些好用的方法來解決這個(gè)問題,比如智能指針,你有了解過或用過嗎?

    答:介紹了unique、shared、weak類型的shared_pointer,循環(huán)引用問題。

  5. 你對(duì)自己學(xué)習(xí)規(guī)劃有什么想法嗎?

    答:剛剛面試完發(fā)現(xiàn)自己網(wǎng)絡(luò)部分薄弱,還要加強(qiáng)。把前面的知識(shí)復(fù)習(xí)到位,然后要多動(dòng)手,并發(fā)編程這一塊也要加強(qiáng)學(xué)習(xí)一下,同時(shí)redis mysql也想應(yīng)用于自己的項(xiàng)目中。

反問
  • 如果有機(jī)會(huì)到貴公司實(shí)習(xí),主要工作是什么呢?

    我們這是一個(gè)集團(tuán),旗下有很多子公司,有很多業(yè)務(wù),像C++應(yīng)用場景基本都覆蓋了,像客戶端開發(fā),嵌入式開發(fā),后臺(tái)服務(wù),比如這款通信會(huì)議軟件后臺(tái)就是用C++來實(shí)現(xiàn)的。還有就是研究院的一些算法工程落地,具體可以到官網(wǎng)看有哪些領(lǐng)域

  • 我想走后端開發(fā)應(yīng)該要注重哪些方面學(xué)習(xí),或者說剛剛面試下來我有哪些不足呢?

    從C++這邊看,你剛剛這邊也掌握的不是很清楚。就從一個(gè)研發(fā)人員的氣質(zhì)上來講,刨根問底這方面還不夠,應(yīng)該有一些追求,思維方式上要有一些轉(zhuǎn)變,對(duì)知識(shí)應(yīng)該要有更深入的了解。

    第二,就是要有系統(tǒng)的思維方式,你做的事情都是點(diǎn)狀的方式,像你想要做一個(gè)服務(wù)器,你都是從點(diǎn)上去發(fā)散,比如你想做個(gè)一個(gè)epoll,有一個(gè)線程池。沒有能夠從系統(tǒng)上去思考項(xiàng)目體現(xiàn)什么,使功能更豐富,比如你剛剛說的加入數(shù)據(jù)庫這些。
    至于基礎(chǔ)的話努力都是可以補(bǔ)回來的,問題不大。

心得體會(huì):
  • 講話有點(diǎn)慌張,總好像一直在笑,應(yīng)該還是要穩(wěn)一點(diǎn),偶爾微笑可以;

  • 語氣呼吸優(yōu)點(diǎn)不流暢,不要思思思思;

  • 不夠自信,總是想收回自己的話;

  • 理論知識(shí)和實(shí)踐都需要提高,對(duì)于項(xiàng)目介紹的準(zhǔn)備還不夠充分;

  • 面試官人還是很好的,會(huì)一步一步循序漸進(jìn)的提問,并且比較有耐心,最后也給出了比較中肯的評(píng)價(jià),雖然這次面試掛了,但是收獲上來說還是比較大的,比較換位思考,如果我是面試官,我也會(huì)把自己給掛了。~~

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購,新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧

網(wǎng)頁標(biāo)題:CVTEC/C++研發(fā)實(shí)習(xí)面試(涼)-創(chuàng)新互聯(lián)
網(wǎng)站鏈接:http://www.muchs.cn/article16/shdgg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、網(wǎng)站內(nèi)鏈、自適應(yīng)網(wǎng)站、商城網(wǎng)站Google、全網(wǎng)營銷推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司