互聯網公司後臺崗位面試經

  金三銀四季,人心躁動,或爲尋求新生,或爲追逐非凡。做爲一個技術從業者,每每容易把本身侷限在某一狹小的圈子,你很認真的作一些事情,也的確從中獲得了一些收穫,可是,假若你勇於突破圈子,去接觸瞭解外面的世界,你或許會遭受「衝擊」,獲得意想不到的收穫。從2000年前的pc時代,到互聯網,移動互聯網,再到現在的雲計算、人工智能、大數據乃至區塊鏈,你不難發現,技術的演進已經變得愈發快速,將來的世界將會怎樣,真是難以預測!但能夠預知的是,將來的5-10年,雲計算將作爲相似電信運營商這樣的基礎設施,帶動傳統行業更新升級以及包括人工智能、大數據、區塊鏈這樣的技術的發展。而咱們須要作的是,打破傳統的束縛,時刻關注技術趨勢和行業動態,適時合理作出本身的判斷和選擇。這個世界,已經不是單純靠努力就能過得體面的時代了,也已經不是一件事情能夠作一生的時代了,我想表達的就是選擇比努力可能更重要,至於怎麼選擇,就須要你保持與時俱進的態度,有足夠系統的認知和判斷力。php

  下面總結分享下最近面試互聯網公司的一些題目,主要針對後臺c/c++開發方向:python

首先先作下分類,主要能夠分爲linux基礎、網絡知識、語言基礎、數據庫、宏觀認識幾個部分,下面逐一列出,但願對求職者有幫助:mysql

1、linux基礎linux

一、linux進程間通訊方式有哪些?各有什麼特色?ios

二、linxu線程同步方式有哪些?nginx

三、進程與線程有何區別?c++

四、fork一個進程,子進程會繼承父進程哪些東西?面試

五、如何查看進程打開了哪些文件?如何查看進程使用了哪些共享內存?redis

六、gdb如何調試一個正在運行的程序?gdb命令有哪些?算法

七、gdb實現原理是怎樣的?

八、gdb調試一個core文件,bt發現堆棧信息都是????,多是什麼緣由致使?應該怎麼排查?

九、一個程序啓動運行的過程是怎樣的?

十、編譯一個程序,都通過了哪些環節?

十一、一個程序在內存中的佔用空間分佈是怎樣的?

十二、共享內存內核是怎麼實現的?

1三、怎麼查看一個程序連接了哪些動態庫?怎麼查看一個動態庫包含哪些符號?怎麼看是否未定義?

1四、磁盤有哪些調度算法?

1五、一個程序存在性能問題,如何定位它?

1六、iostat 工具展現信息中util對應值含義是什麼?

1七、如何評判一個磁盤的好壞?

1八、通常何時會使用到tcpdump,怎麼使用?

1九、epoll與select有什麼區別?epoll有哪些觸發模式?什麼場景會使用ET模式?

20、epoll在內核是怎麼實現的,使用了什麼數據結構?

2一、什麼是零拷貝?

2二、mqtt協議有哪幾種發佈服務質量?

2、網絡知識

一、tcp三次握手四次揮手過程是怎樣,請畫出來

二、tcp斷開鏈接時爲何要有time_wait狀態?

三、tcp與udp有何區別?

四、tcp/ip內核協議棧有了解嗎?

五、tcp協議如何保證數據可靠傳輸?

六、寫出創建一個tcp鏈接進行數據交互時,客戶端、服務端分別都調用了哪些接口?

七、若是tcp服務端只listen不accept,三次握手能成功嗎?

八、tcp有個問題叫「黏包」,有了解嗎?

九、recv函數返回0,-1,大於0分別表明什麼?

十、tcp滑動窗口和擁塞控制瞭解嗎?

十一、libuv內部大概是怎麼實現的?利用了什麼機制實現異步?

十二、有了解哪些服務器併發處理模型?什麼是leader-follow模型?

1三、怎麼保證一個發送數據可靠到達對端?

1四、若是一個報文發出去了,對端接收不到,要怎麼去定位排查?

1五、若是一個服務端目前支持n個併發鏈接,若是隻從服務端程序優化角度去提升支持併發數,有什麼思路?

1六、nginx和apache的區別是怎樣的?nginx怎麼處理驚羣效應?nginx負載均衡有哪幾種方式?nginx源碼有哪幾個模塊?

1七、如何經過tcp去傳輸文件?如何實現斷點續傳?

1八、若是服務器宕機或進程掛掉了,客戶端鏈接會怎樣?

1九、已經創建好的tcp鏈接,怎麼去檢測它是否存在異常?若是客戶端發現異常將鏈接斷開後,怎麼觸發從新創建鏈接?

20、訪問www.baidu.com,都通過了哪些過程?

2一、什麼是泛域名?

3、語言基礎

一、實現一個mem_cpy函數

二、用c寫出快速排序算法

三、寫一個函數判斷機器是大端仍是小端

四、volatile關鍵字做用是什麼

五、一個帶static函數有什麼特色

六、extern C是什麼意思

七、printf是怎麼支持變參輸入的?printf("%d")會輸出什麼

八、指針運算、內存對齊、聯合體

九、c和c++各有什麼特色

十、什麼是多態、重載函數?

十一、虛函數如何實現?

十二、給一個類結構,寫出其構造函數、析構函數、拷貝構造函數

1三、go語言有什麼特色?協程是怎麼實現的?相比較線程有什麼優勢?

1四、python、lua、shell、php等熟悉嗎

4、數據庫

一、sqlite、mysql、mongodb、redis、memcache各有什麼特色?

二、數據庫優化手段有哪些?

三、分析一個sql查詢語句會通過哪些步驟?

四、數據庫引擎至上而下大概是什麼樣的?

五、數據庫如何保障ACID

六、mysql和redis都有緩存,分別都是維護什麼樣的結構?

七、設計微信朋友圈對應的數據庫表結構

八、數據庫索引怎麼實現,鎖特色

5、宏觀認識

一、什麼是雲計算?

二、雲計算分爲哪幾個部分?paas是什麼、saas又是什麼,舉一個實際的例子

三、談談你對docker的認識?

四、什麼是區塊鏈?

五、若是讓你來設計一款用戶量很大的應用,你會怎麼設計框架?

六、將來三年,你的規劃是怎樣的,或者最想要的是什麼?

七、爲何想跳槽?

八、轉型互聯網,你怎麼看待這個選擇?

九、如何保障一個金融系統的可靠性?

十、分佈式系統瞭解多少?什麼是微服務?

以上大致包含了最近面試遇到的一些問題,還有一些忘記了的以及很差描述的(好比算法、邏輯題),僅供參考,但願對你們有幫助!

相關文章
相關標籤/搜索