www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 公眾號精選 > 后端技術(shù)指南針
[導(dǎo)讀]一 自我介紹二 面試情況三 相關(guān)知識點匯總1 c/c++相關(guān)2 計算機網(wǎng)絡(luò)3 數(shù)據(jù)結(jié)構(gòu)相關(guān)4 數(shù)據(jù)庫相關(guān)5 操作系統(tǒng)6 Linux基礎(chǔ)知識及應(yīng)用編程(后臺必備!)7 大數(shù)問題8 手撕算法(遞歸非遞歸)9 針對項目相關(guān)10 場景題11 架構(gòu)/分布式/中間件相關(guān)12 總結(jié) 不走丟,先關(guān)注!

一 自我介紹二 面試情況三 相關(guān)知識點匯總1 c/c++相關(guān)2 計算機網(wǎng)絡(luò)3 數(shù)據(jù)結(jié)構(gòu)相關(guān)4 數(shù)據(jù)庫相關(guān)5 操作系統(tǒng)6 Linux基礎(chǔ)知識及應(yīng)用編程(后臺必備!)7 大數(shù)問題8 手撕算法(遞歸非遞歸)9 針對項目相關(guān)10 場景題11 架構(gòu)/分布式/中間件相關(guān)12 總結(jié)

不走丟,先關(guān)注!

一 自我介紹

本人小碩,秋招期間參加了不少安全類相關(guān)公司(深信服,綠盟等),另外參加了京東,小米,滴滴等互聯(lián)網(wǎng)公司面試,同時也面試了幾個研究所和一個銀行,下面總結(jié)下秋招相關(guān)情況。

二 面試情況

公司名稱 面試崗位 面試情況
小米 Linux內(nèi)核開發(fā) 三面!掛
深信服 c/c++開發(fā) 四面   拿到offer
bigo c/c++開發(fā) 四面 拿到口頭offer
滴滴 網(wǎng)絡(luò)研發(fā)工程師 三面 掛場景
人大金倉 c語言開發(fā)工程師 三面 拿offer
京東 c++研發(fā)工程師 二面!掛
綠盟科技 防火墻開發(fā)工程師 沒有去參加二面
浦發(fā) 軟件開發(fā)工程師 拿到offer
中國網(wǎng)安(30所) c防火墻開發(fā) 拿到offer
映客直播 后臺開發(fā)工程師(go) 二面掛(印象很深刻)
鼎橋(網(wǎng)上怎么變成了華為鼎橋。。) c/c++軟件開發(fā) 拿到offer

這是小藍整理的Linux后臺開發(fā)面試高頻題目(除了語言部分,其他部分差別應(yīng)該不大),并提供相關(guān)知識的書籍或視頻資源。

三 相關(guān)知識點匯總

1 c/c++相關(guān)

  • c++虛函數(shù)原理

  • 智能指針

  • c語言如何實現(xiàn)c++對象以及私有成員

  • c++多態(tài)實現(xiàn)

  • new和malloc的區(qū)別以及底層實現(xiàn)原理

  • STL中的vector怎么擴容

  • 虛函數(shù)指針的初始化過程

  • c++11原子變量介紹

  • c++11特性有哪些,說用過的

  • 怎么理解重載與重寫

  • 怎么理解c++中的static關(guān)鍵字

  • vector和list 的區(qū)別

  • c++的內(nèi)存分配

  • map與set的底層實現(xiàn)

  • 類靜態(tài)變量的初始化

  • 析構(gòu)函數(shù)可以是虛函數(shù)?為什么

  • 深拷貝與淺拷貝

  • 指針常量,常量指針的區(qū)別

c語言語法推薦書籍: 《c專家編程》《c與指針》

c++語言語言推薦書籍:《c++ primer》《effect c++》

c++語言stl底層原理:《STL源碼剖析》

2 計算機網(wǎng)絡(luò)

  • 介紹下proactor和reactor

  • reactor的組成

  • TIME_WAIT危害

  • TIME_WAIT時長,為什么?

  • IP為什么要分片

  • 項目中說用到線程池,開多大,為什么運用線程池?

  • select和epoll區(qū)別

  • select什么情況返回0

  • epoll可讀情況有哪些

  • 什么時候需要TCP四次揮手?

  • 如何設(shè)置非阻塞

  • 什么是零拷貝?

  • tcp與udp的區(qū)別以及應(yīng)用場景

  • 如何設(shè)計一個可靠的udp

  • 粘包如何解決

  • 講一下?lián)砣刂坪土髁靠刂?/span>

  • http和https區(qū)別

  • 是否了解中間人劫持原理

  • http協(xié)議格式,幾種方法,功能是什么

  • chunked塊了解?介紹下

  • 有chunked的時候contentlength是什么樣子

  • 半連接在哪個階段

  • 三次握手四次握手詳細過程,越詳細越好

  • libevent結(jié)構(gòu),內(nèi)部實現(xiàn)

  • tcp的可靠性體現(xiàn)在哪里

  • ARP協(xié)議工作流程

  • epoll中的ET和LT模式

  • 介紹下滑動窗口

  • 指針與引用的區(qū)別

  • Accept發(fā)生在三次握手哪個階段

  • Udp的接收緩沖區(qū)和發(fā)送緩沖區(qū)和tcp的區(qū)別

  • http長連接與短連接的區(qū)別

  • udp包長度

  • 一次url訪問會經(jīng)歷哪些過程

  • 數(shù)據(jù)包亂序會處理?

  • seq為1000,發(fā)送了1000個數(shù)據(jù),下一個seq是多少?

  • syn如果丟了,重傳多少次

tcp/ip相關(guān)推薦書籍:《tcp/詳解:1》

熟悉使用wireshark捕包工具,加深印象可以使用python的一個庫,scapy/dpkt.

3 數(shù)據(jù)結(jié)構(gòu)相關(guān)

  • hash處理沖突的方法

  • 二分查找及其變種

  • 數(shù)組與鏈表的區(qū)別

  • redis數(shù)據(jù)結(jié)構(gòu)用過哪些,了解跳表?

  • 紅黑樹比平衡二叉樹有哪些優(yōu)點

  • 二叉樹,b+樹,hash,二叉查找樹區(qū)別

  • 說說紅黑樹的特性

  • 各種樹,排序的時間復(fù)雜度

  • 數(shù)據(jù)庫索引,事務(wù),事務(wù)級別

  • 不考慮事務(wù)的隔離性會出現(xiàn)什么問題

  • 事務(wù)隔離級別

  • 索引的類型

  • AC自動機時間復(fù)雜度

數(shù)據(jù)結(jié)構(gòu)書籍《大話數(shù)據(jù)結(jié)構(gòu)》

極客時間王大佬/譚大佬專欄

4 數(shù)據(jù)庫相關(guān)

  • 如何提高查詢速度?

  • 加了索引就快了?

  • 數(shù)據(jù)庫索引底層結(jié)構(gòu)

  • mysql與memcache的區(qū)別

  • mysql常見三種存儲引擎的

  • MySQL B+Tree索引和Hash索引的區(qū)別?

  • B+樹索引和哈希索引的明顯區(qū)別是:

  • 非關(guān)系型數(shù)據(jù)庫和關(guān)系型數(shù)據(jù)庫區(qū)別,優(yōu)勢比較?

  • mysql常見查詢優(yōu)化方案

mysql書籍推薦:《mysql必知必會》,《高性能Mysql》,《mysql45講》

5 操作系統(tǒng)

  • 進程與線程的區(qū)別

  • 多進程與多線程區(qū)別,應(yīng)用場景

  • volatile和原子變量的區(qū)別

  • proc文件系統(tǒng)

  • 自旋鎖與普通鎖的區(qū)別

  • 虛擬內(nèi)存

  • 進程的內(nèi)存分布

  • 棧內(nèi)存為什么由系統(tǒng)自動分配和釋放

  • 守護進程如何創(chuàng)建

  • 進程間的通信方式及其區(qū)別,應(yīng)用場景

  • 死鎖條件和解除

  • 進程調(diào)度方式

  • 對編譯連接的理解

  • 共享內(nèi)存實現(xiàn)原理

  • 僵尸進程是什么,如何處理

  • 自旋鎖在單cpu與多cpu下的使用

  • 用戶態(tài)與內(nèi)核態(tài)

操作系統(tǒng)推薦書籍:《深入理解操作系統(tǒng)》,《Linux內(nèi)核設(shè)計與實現(xiàn)》

6 Linux基礎(chǔ)知識及應(yīng)用編程(后臺必備!)

  • 如何查看進程打開的文件

  • 介紹下nm與ldd命令

  • shell命令查內(nèi)存,端口 ,io訪問量,讀寫速率

  • awk grep具體應(yīng)用

  • 硬鏈接與軟連接,目錄可不可以用硬鏈接

  • 常見命令netstat iptable tcpdump top

  • makefile介紹下(cmake介紹下)

  • gdb查看堆棧中所有遍歷

  • gdb查看shared_ptr

    指向的內(nèi)容
  • gdb如何調(diào)試多進程多線程

  • g++和gcc編譯出來有什么區(qū)別

  • 死鎖怎么調(diào)試

  • core文件中是什么,gdb調(diào)試core文件

  • 如何讀取一個10G文件,cat一個10g文件會發(fā)生什么

Linux基礎(chǔ)命令推薦書籍:《Linux就該這么學(xué)》

Linux應(yīng)用編程推薦書籍:《后臺開發(fā)核心技術(shù)與應(yīng)用實踐》《Linux多線程服務(wù)端編程》《高性能Linux服務(wù)器編程》 《linux環(huán)境編程:從應(yīng)用到內(nèi)核》《unix高級環(huán)境編程》

補充資料:gdb手冊和makefile詳解

7 大數(shù)問題

  • 有200億qq,但實際只有25億用戶,找到重復(fù)的qq

  • 25億qq占用內(nèi)存多大

  • 1-100萬,計算找出所有的質(zhì)數(shù)(計算密集型任務(wù)),用單線程與多線程怎么處理

  • 1個G的文件寫程序,從A機器發(fā)送到B機器,怎么發(fā)?

  • 100G的文本,每行80k還是80字符,提示用多個機器,多進程,多線程,求出重復(fù)最多的行。一個機器內(nèi)存8G,計算每個機器大概分多少?能讀取100G的文本嗎?找重復(fù)率前十的文本

  • 三個有序的序列,查找公共的部分,第一次我說用哈希表,他說序列太大,空間復(fù)雜度要低點,我說了二分查找,他問三個序列查找的順序和時間復(fù)雜度。(時間復(fù)雜度為N*logN *logN)

  • 100WURL,如何存儲

  • 10臺服務(wù)器,100w用戶,如何進行負載均衡,如何有個服務(wù)器掛掉了咋辦

  • 10000個數(shù)據(jù)查找最小的100個?時間復(fù)雜度?

  • 場景題:QQ的服務(wù)器會保存登錄用戶的QQ號,只要有登錄,文件里面就會有記錄,現(xiàn)在需要統(tǒng)計哪些QQ號登錄過,怎么做?(先說了分治用小文件,他說除了這個了,我說bit數(shù)組,他就問需要多大內(nèi)存?)

大數(shù)問題通常的套路是hash,分治,布隆,bitmap,如果推薦的話還是上面數(shù)據(jù)結(jié)構(gòu)相關(guān)資料.當(dāng)然如果能了解下比如hdfs文件系統(tǒng),mapreduce,spark/flink流式計算最佳哈

8 手撕算法(遞歸非遞歸)

  • 鏈表有無環(huán)判斷

  • 實現(xiàn)一個單例模式

  • 給一個字符串判斷單詞數(shù)

  • 開方算法

  • 青蛙跳臺階

  • 常用排序(快排和歸并要寫吐)

  • 反轉(zhuǎn)鏈表

  • 兩個鏈表,尋找公共節(jié)點

  • 查找字符串中不重復(fù)的最長子串

  • LRU

  • 手寫求樹的深度的代碼

  • 手寫生產(chǎn)者消費者

  • 編程實現(xiàn)string類

  • 兩個數(shù)組A,B,A有的B都有,求B-A;

  • 輸入一個字符串,輸出它的全排列

  • 統(tǒng)計完全二叉樹多少個節(jié)點

  • memcpy實現(xiàn)

算法學(xué)習(xí)書籍推薦《劍指offer》,建議三遍哈。

leetcode分專欄練習(xí)幾題,不在多,在于精。

9 針對項目相關(guān)

  • 介紹一個你做的比較的項目,幾個人做的,擔(dān)任什么角色

  • 項目的技術(shù)點在哪里

  • 項目不足在哪里

  • 你在項目中學(xué)到了什么

  • 讓你優(yōu)化項目中的一點,如何做

  • 項目什么架構(gòu)

  • 測過系統(tǒng)性能嗎,掛掉怎么辦?

最好是自己做過的項目,即時不是也需要弄明白其架構(gòu),為什么這么做,有什么優(yōu)點,什么優(yōu)化方案?

10 場景題

  • 給一個場景,設(shè)計一下定時對url進行爬蟲,比如對新浪1個小時爬蟲n次,然后某些博客可能1個星期爬蟲1次。

  • 給一個場景,設(shè)計服務(wù)器實現(xiàn)爬蟲的url去重,如何讓多個服務(wù)器對一個url爬蟲指定次數(shù)

  • 好多小文件,設(shè)計一個服務(wù)器來實現(xiàn)如何存儲

  • 設(shè)計兩地高效傳文件

11 架構(gòu)/分布式/中間件相關(guān)

  • 常用負載均衡策略

  • 一致性hash原理

  • 緩存容災(zāi)中數(shù)據(jù)一致性問題

  • 了解cap理論嗎

  • 介紹下高可用,高性能,可伸縮基本概念。。

  • 了解微服務(wù)?docker?k8s?

  • Nginx了解到什么程度,nginx配置更新實現(xiàn),事件模型

推薦書籍:《redis設(shè)計與實現(xiàn)》《從0開始學(xué)架構(gòu)》《docker入門到實踐》《大型網(wǎng)站技術(shù)架構(gòu)-核心原理與案例分析》

12 總結(jié)

以上是技術(shù)面試中秋招常遇到的相關(guān)題目,希望對大家有幫助。所有書籍資料,掃描下面二維碼直接領(lǐng)取。

免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
關(guān)閉
關(guān)閉