三年半經(jīng)驗(yàn)虏肾,三面鵝廠,被虐的體無完膚....

文中的我欢搜,不是 chenssy 封豪,而是作者本人。很多我都想進(jìn)大廠炒瘟,也都知道進(jìn)大廠很難很難吹埠,而且面試周期也長(筆試、初試疮装、復(fù)試缘琅、終試)。今天給大家?guī)碜髡叩娜纟Z廠的經(jīng)歷廓推,希望對(duì)大家有所幫助刷袍,有所借鑒!樊展!

經(jīng)過半年的沉淀呻纹,加上對(duì)MySQL,redis和分布式這塊的補(bǔ)齊专缠,終于重拾面試信心雷酪,再次出征。

鵝廠

面試職位:go后端開發(fā)工程師涝婉,接受從Java轉(zhuǎn)語言

都知道鵝廠是cpp的主戰(zhàn)場哥力,而以cpp為背景的工程師大都對(duì)os,network這塊要求特別高墩弯,不像是Java這種偏重業(yè)務(wù)層的語言.

之前面試Java的公司側(cè)重還是在數(shù)據(jù)結(jié)構(gòu)吩跋、網(wǎng)絡(luò)、框架渔工、數(shù)據(jù)庫和分布式钞澳。所以O(shè)S這塊吃的虧比較大

一面:基礎(chǔ)技術(shù)面

電話面試,隨便問了些技術(shù)問題涨缚,最后還問了個(gè)LeetCode里面medium級(jí)別的算法題轧粟,偏簡單。大概整理回憶了一下:

redis有沒有用過脓魏,常用的數(shù)據(jù)結(jié)構(gòu)以及在業(yè)務(wù)中使用的場景兰吟。

redis的hash怎么實(shí)現(xiàn)的?

rehash過程講一下和JavaHashMap的rehash有什么區(qū)別茂翔?

redis cluster有沒有了解過混蔼,怎么做到高可用的?

說說redis的持久化機(jī)制珊燎,為啥不能用redis做專門的持久化數(shù)據(jù)庫存儲(chǔ)惭嚣?

了不了解tcp/udp遵湖,說下兩者的定義,tcp為什么要三次握手和四次揮手晚吞?

tcp怎么保證有序傳輸?shù)难泳桑v下tcp的快速重傳和擁塞機(jī)制

知不知道time_wait狀態(tài),這個(gè)狀態(tài)出現(xiàn)在什么地方槽地,有什么用迁沫?

udp是不可靠的傳輸,如果你來設(shè)計(jì)一個(gè)基于udp差不多可靠的算法捌蚊,怎么設(shè)計(jì)集畅?

http與https有啥區(qū)別?說下https解決了什么問題缅糟,怎么解決的挺智?說下https的握手過程。

看你項(xiàng)目里面用了etcd窗宦,講解下etcd干什么用的赦颇,怎么保證高可用和一致性?

既然你提到了raft算法迫摔,講下raft算法的基本流程?raft算法里面如果出現(xiàn)腦裂怎么處理泥从?

有沒有了解過paxos和zookeeper的zab算法句占,他們之前有啥區(qū)別?

你們后端用什么數(shù)據(jù)庫做持久化的躯嫉?有沒有用到分庫分表纱烘,怎么做的?

索引的常見實(shí)現(xiàn)方式有哪些祈餐,有哪些區(qū)別?

MySQL的存儲(chǔ)引擎有哪些擂啥,有哪些區(qū)別?

InnoDB使用的是什么方式實(shí)現(xiàn)索引帆阳,怎么實(shí)現(xiàn)的哺壶?說下聚簇索引和非聚簇索引的區(qū)別?

有沒有了解過協(xié)程?說下協(xié)程和線程的區(qū)別蜒谤?

算法題一個(gè)山宾,劍指offer第51題,數(shù)組中的重復(fù)數(shù)字鳍徽?

從上面的情況來看资锰,面試大廠redis/MySQL都是比較重要的,大概說下我自己的回答情況阶祭,redis這塊沒啥問題绷杜,具體rehash有印象是漸進(jìn)式的直秆,但是具體原理可能答的有點(diǎn)出入。

tcp的 time_wait 這塊答的不是很好鞭盟,之前沒有了解過quic機(jī)制的實(shí)現(xiàn)圾结,所以問可靠性u(píng)dp的時(shí)候,基本上腦子里就照著tcp的實(shí)現(xiàn)在說懊缺。

https這塊沒啥說的疫稿,之前項(xiàng)目里面有用到類似的東西,研究的比較清楚了鹃两。

raft算法這個(gè)因?yàn)閯偤迷谒?.824(才刷到lab2遗座。。俊扳。)途蒋,答的也湊合,不過paxos和zab算法確實(shí)不熟悉馋记,直接說不會(huì)号坡。

MySQL這塊很熟了,包括索引梯醒,鎖宽堆,事務(wù)機(jī)制以及mvcc等等,沒啥說的茸习,都已經(jīng)補(bǔ)齊了畜隶。

協(xié)程和線程,主要說了go程和Java線程的區(qū)別以及go程的調(diào)度模型号胚。面試官提示沒有提到線程的有內(nèi)核態(tài)的切換籽慢,go程只在用戶態(tài)調(diào)度。

最后一個(gè)算法題猫胁,首先說使用HashMap來做箱亿,說空間復(fù)雜度能不能降到O(1),后面想了大概5min才想出來原地置換的思路弃秆。

總得來說届惋,答的還行,一面就這么過了菠赚。

二面:項(xiàng)目技術(shù)面

二面從基礎(chǔ)技術(shù)考察轉(zhuǎn)移到了項(xiàng)目盼樟,主要問了我下面一些問題:

針對(duì)自己最熟悉的項(xiàng)目,畫出項(xiàng)目的架構(gòu)圖锈至,項(xiàng)目主要的數(shù)據(jù)表結(jié)構(gòu)晨缴。

說說項(xiàng)目中使用到的技術(shù)點(diǎn),項(xiàng)目的總峰值qps峡捡,時(shí)延击碗。

有沒有分析過時(shí)延出現(xiàn)的耗時(shí)分別出現(xiàn)在什么地方筑悴,項(xiàng)目有啥改進(jìn)的地方?jīng)]有?

如果請求出現(xiàn)問題沒有響應(yīng)稍途,如何定位問題阁吝,說下思路?

tcp 粘包問題怎么處理械拍?

然后還問了下緩存更新的模式突勇,以及會(huì)出現(xiàn)的問題和應(yīng)對(duì)思路?

除了公司項(xiàng)目之外坷虑,業(yè)余時(shí)間有沒有研究過知名項(xiàng)目或做出過貢獻(xiàn)甲馋?

這一面答的也比較順利,因?yàn)槎际菄@項(xiàng)目迄损,自己很熟悉定躏,基本都沒有啥問題,除了面試官說項(xiàng)目經(jīng)驗(yàn)稍弱之外芹敌,其余還不錯(cuò)痊远。

三面:綜合技術(shù)面

這面面的是陣腳大亂,面試官采用刨根問底的方式提問氏捞,終究是面試經(jīng)驗(yàn)不夠碧聪,導(dǎo)致面試的節(jié)奏有點(diǎn)亂。舉個(gè)例子:

其中有個(gè)題:go程和線程有什么區(qū)別液茎?

:起一個(gè)go程大概只需要4kb的內(nèi)存逞姿,起一個(gè)Java線程需要1.5MB的內(nèi)存;go程的調(diào)度在用戶態(tài)非常輕量豁护,Java線程的切換成本比較高哼凯。

接著問為啥成本比較高欲间?因?yàn)镴ava線程的調(diào)度需要在用戶態(tài)和內(nèi)核態(tài)切換所以成本高楚里?為啥在用戶態(tài)和內(nèi)核態(tài)之間切換調(diào)度成本比較高?我簡單說了下內(nèi)核態(tài)和用戶態(tài)的定義猎贴。

接著問班缎,還是沒有明白為啥成本高?心里瞬間崩潰她渴,沒完沒了了呀达址,OS這塊依舊是痛呀,支支吾吾半天放棄了趁耗。

后面所有的提問都是這種模式沉唠,結(jié)果回答的節(jié)奏全無,感覺被套路了苛败。大多度都能回答個(gè)一二甚至是一二三满葛,但是再往后或者再深入的OS層面就GG了径簿。

后面問了下項(xiàng)目過程中遇到的最大的挑戰(zhàn),以及怎么解決的嘀韧?

還問了一個(gè)問題定位的問題篇亭,服務(wù)器CPU 100%怎么定位?

可能是由于平時(shí)定位業(yè)務(wù)問題的思維定勢锄贷,加之處于蒙蔽狀態(tài)译蒂,隨口就是:

先查看監(jiān)控面板看有無突發(fā)流量異常

接著查看業(yè)務(wù)日志是否有異常,針對(duì)CPU100%那個(gè)時(shí)間段谊却,取一個(gè)典型業(yè)務(wù)流程的日志查看

最后才提到使用top命令來監(jiān)控看是哪個(gè)進(jìn)程占用到100%

果然陣腳大亂柔昼,張口就來,捂臉因惭。岳锁。。?

對(duì)這個(gè)問題蹦魔,本來正確的思路應(yīng)該是先用top定位出問題的進(jìn)程激率,再用top定位到出問題的線程,再打印線程堆棧查看運(yùn)行情況

這個(gè)流程換平時(shí)肯定能答出來勿决,但是乒躺,但是沒有但是。還是得好好總結(jié)低缩。

最后問了一個(gè)系統(tǒng)設(shè)計(jì)題目(朋友圈的設(shè)計(jì))嘉冒,白板上面畫出系統(tǒng)的架構(gòu)圖,主要的表結(jié)構(gòu)和講解主要的業(yè)務(wù)流程咆繁,如果用戶變多流量變大讳推,架構(gòu)將怎么擴(kuò)展,怎樣應(yīng)對(duì)玩般?

這個(gè)答的也有點(diǎn)亂银觅,直接上來自顧自的用了一個(gè)通用的架構(gòu),感覺毫無亮點(diǎn)坏为。

后面反思應(yīng)該先定位業(yè)務(wù)的特點(diǎn)究驴,這個(gè)業(yè)務(wù)明顯是讀多寫少。然后和面試官溝通一期剛開始的方案的用戶量匀伏,性能要求洒忧,單機(jī)目標(biāo)qps是什么等等?

在明確系統(tǒng)的特點(diǎn)和約束之后再來設(shè)計(jì)够颠,而不是一開始就是用典型互聯(lián)網(wǎng)的那種通用架構(gòu)自顧自己搞自己的方案熙侍。

面試結(jié)果:3天后收到短信,被拒

總結(jié):

tcp/udp,http和https還有網(wǎng)絡(luò)這塊(各種網(wǎng)絡(luò)模型蛉抓,已經(jīng)select牢硅,poll和epoll)一定要非常熟悉「大廠對(duì)基礎(chǔ)的要求還是非常高的,所以基礎(chǔ)很重要」芝雪。

一定要有拿的出手的項(xiàng)目經(jīng)驗(yàn)减余,而且要能夠講清楚,講清楚項(xiàng)目中取舍惩系,設(shè)計(jì)模型和數(shù)據(jù)表「說明項(xiàng)目經(jīng)驗(yàn)很重要」位岔。

分布式要非常熟悉「進(jìn)大廠必備的技能啊」。

常見問題定位一定要有思路「思路決定一切」堡牡。

操作系統(tǒng)抒抬,還是操作系統(tǒng),重要的事情說三遍「底層的重要性」晤柄。

系統(tǒng)設(shè)計(jì)擦剑,思路,思路芥颈,思路惠勒,一定要思路清晰,一定要總結(jié)下系統(tǒng)設(shè)計(jì)的流程「說明一定要有自己的獨(dú)特的見解與想法」爬坑。

一點(diǎn)心得纠屋,平時(shí)blog和專欄看的再多,如果沒有自己的思考不過是過眼云煙盾计,根本不會(huì)成為自己的東西售担,就像內(nèi)核態(tài)和用戶態(tài),平常也看過署辉,但是沒細(xì)想族铆,突然要自己說,還真說不出來哭尝,這就很尷尬了哥攘。勿以浮沙筑高臺(tái),基礎(chǔ)這種東西還是需要時(shí)間去慢慢打牢刚夺,多去思考和總結(jié)「知識(shí)源于自已的思考與總結(jié)」献丑。

作者:codegoose

https://segmentfault.com/a/1190000017864721

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末末捣,一起剝皮案震驚了整個(gè)濱河市侠姑,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌箩做,老刑警劉巖莽红,帶你破解...
    沈念sama閱讀 217,277評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡安吁,警方通過查閱死者的電腦和手機(jī)醉蚁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來鬼店,“玉大人网棍,你說我怎么就攤上這事「局牵” “怎么了滥玷?”我有些...
    開封第一講書人閱讀 163,624評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長巍棱。 經(jīng)常有香客問我惑畴,道長,這世上最難降的妖魔是什么航徙? 我笑而不...
    開封第一講書人閱讀 58,356評(píng)論 1 293
  • 正文 為了忘掉前任如贷,我火速辦了婚禮,結(jié)果婚禮上到踏,老公的妹妹穿的比我還像新娘杠袱。我一直安慰自己,他們只是感情好窝稿,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評(píng)論 6 392
  • 文/花漫 我一把揭開白布霞掺。 她就那樣靜靜地躺著,像睡著了一般讹躯。 火紅的嫁衣襯著肌膚如雪菩彬。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,292評(píng)論 1 301
  • 那天潮梯,我揣著相機(jī)與錄音骗灶,去河邊找鬼。 笑死秉馏,一個(gè)胖子當(dāng)著我的面吹牛耙旦,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播萝究,決...
    沈念sama閱讀 40,135評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼免都,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了帆竹?” 一聲冷哼從身側(cè)響起绕娘,我...
    開封第一講書人閱讀 38,992評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎栽连,沒想到半個(gè)月后险领,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體侨舆,經(jīng)...
    沈念sama閱讀 45,429評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評(píng)論 3 334
  • 正文 我和宋清朗相戀三年绢陌,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了挨下。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,785評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡脐湾,死狀恐怖臭笆,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情秤掌,我是刑警寧澤耗啦,帶...
    沈念sama閱讀 35,492評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站机杜,受9級(jí)特大地震影響帜讲,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜椒拗,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評(píng)論 3 328
  • 文/蒙蒙 一似将、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧蚀苛,春花似錦在验、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至渗蟹,卻和暖如春块饺,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背雌芽。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評(píng)論 1 269
  • 我被黑心中介騙來泰國打工授艰, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人世落。 一個(gè)月前我還...
    沈念sama閱讀 47,891評(píng)論 2 370
  • 正文 我出身青樓淮腾,卻偏偏與公主長得像,于是被迫代替她去往敵國和親屉佳。 傳聞我的和親對(duì)象是個(gè)殘疾皇子谷朝,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容