阿里:
??投遞部門:阿里云智能事業(yè)群
??投遞崗位:Java開發(fā)專家
??面試結(jié)果: 二面掛
??一面(電面):
主要是問以往的項目經(jīng)歷
(1) 自我介紹
(2) 介紹xxx的項目框架(不方便透露項目名稱桩撮,怕侵權(quán))
(3) 你在項目中主要承擔(dān)了什么工作?
-- (沒介紹清楚)
(4) 介紹cgroup的機(jī)制
(5) PG的慢日志解析上報怎么實現(xiàn)的你慌核?
(6) PG增備原理距境?
(7) 介紹流式備份大致實現(xiàn),上傳完后怎么做校驗(checksum)?
(8) 所有實例并發(fā)做增備的情況下怎樣分散kafka的壓力垮卓?
(9) 上傳備份的時候怎么做流量控制垫桂?
(10) 監(jiān)控指標(biāo)上報鏈路?
(11) HA倒換怎么實現(xiàn)的粟按?會不會有誤判诬滩?
(12) 最近有什么學(xué)習(xí)計劃?怎么學(xué)習(xí)的灭将?
??面試官因為是我同事的朋友疼鸟,他說那就給你一點建議:
(1) 面試和面試官闡述的時候一定要說清楚自己在項目中承擔(dān)了什么者說自己的工作有什么亮點,這樣面試官一看就能抓住重點針對性提問?
(2) 要去學(xué)什么新的技術(shù)的時候庙曙,要從自己的實際工作出發(fā)空镜,想清楚具體在哪里要用到這個技術(shù),針對性去學(xué)捌朴?
(3) 云計算也有很多領(lǐng)域吴攒,也要再具體選擇一個領(lǐng)域?qū)Q小?/p>
??二面(電面CTO面):
(1) 自我介紹
(2) 介紹項目
(3) 自己平時有沒有針對性的在專研一些技術(shù)?
(4) 主備倒換的流程
(5) 自己做的過程中有意思或者覺得出彩的地方
(6) 為什么離職?
(大致這些砂蔽,其它回憶不起來了)
字節(jié):
?? 投遞崗位1:云數(shù)據(jù)RDS for MySQL研發(fā)
?? 面試結(jié)果:一面掛
??一面(視頻面)
(1) 自我介紹
(2) 項目介紹
(3) 介紹下cgroup, 告訴我具體哪一層做了什么(深挖)洼怔?
--- 看得出面試官比較厲害,具體原理我答不上來
(4) 運維問題:假如mysql 錯誤日志中報了 too many open files的錯誤左驾,如何trace錯誤的來源?
--- 只知道/proc下面哪個pid打開了那個文件句柄有記錄镣隶,其它不知道了极谊。
(5) 高可用問題:給你三臺機(jī)器,怎么做一個高可用系統(tǒng)安岂?
--- 答不上來
(6) 算法題: 一個數(shù)組轻猖,k個一組進(jìn)行反轉(zhuǎn)
--- 這題其實leetcode上有一題是k個一組反轉(zhuǎn)鏈表,當(dāng)時想都沒想就實現(xiàn)代碼了嗜闻,后來發(fā)現(xiàn)面試官給的題是反轉(zhuǎn)數(shù)組蜕依,其實很簡單桅锄。
(7) 算法題: 一萬億個IP琉雳, 怎么去重?
--- 只知道用字典樹思想友瘤,但是不知道具體怎么剪枝?
后面問了面試官對我有什么建議翠肘, 面試官的建議是:對于一些東西要去深挖。
??投遞崗位2:離線大數(shù)據(jù)開發(fā)工程師
?? 面試結(jié)果: 一面掛
??一面(視頻面)
(1) 自我介紹
(2) 介紹一下kafka的架構(gòu)辫秧?知不知道consumer group?
(3) 找出在a中束倍,不在b中的id(寫sql)
(4) 一個文件, file.txt, 每行一個單詞盟戏, 可能重復(fù)绪妹,求每個單詞出現(xiàn)的次數(shù)(shell腳本)
(5) k個數(shù)組,每個n個元素,升序排列,合并成一個大的升序排列的數(shù)組柿究。
--- 這題其實是k路歸并排序邮旷,時間復(fù)雜度用分治法是O(nlogk),和面試官討論過程中發(fā)現(xiàn)面試官自己都沒搞清楚蝇摸,最后被他帶溝里了婶肩。
拼多多
?? 投遞崗位:數(shù)據(jù)庫工程師(偏運維)
?? 面試結(jié)果: 2輪技術(shù)面過(總體較水),HR談薪資掛了貌夕。
?? 一面(視頻面)
(1) 自我介紹
(2) 介紹你們項目的框架
(3) PG有沒有解析log的工具律歼?
(4) mysql有哪些監(jiān)控指標(biāo)?
(5) mysql你知道哪些重要的參數(shù)啡专?
(6) 你們是怎么做高可用的主備倒換的险毁?
(7) 舉一些python的常用模塊?
(8) 會其它語言嗎们童?
(9) 你哪個代碼寫的熟練畔况?不指定了自己寫一個吧?
--- 寫了LRU算法
??二面(視頻面)
(1) 自我介紹
(2) 介紹一下你們的框架病附?
(3) 這個框架是你參與寫的嗎问窃?
(4) 會不會其它前端框架什么的?
(5) 寫一些python常用模塊
(6) 寫個簡單程序:輸入一個dict完沪,按value排序輸出域庇。
最后是和HR溝通薪資嵌戈,因為翻了脈脈看到拼多多的一些薪資情況和不好的傳聞,給了一個心理預(yù)估比其它公司稍高一點的價格(其實在拼多多算很低)听皿,開始和HR談妥了熟呛,最后當(dāng)天下午我信息都要填完后微信發(fā)來一個“要不然算了?” --- 納尼尉姨?還有這種操作庵朝,火大,卒又厉!
滴滴:
?? 投遞崗位:高級后端研發(fā)工程師
?? 面試結(jié)果:3面技術(shù)主管面掛
?? 面試感受:3面技術(shù)官態(tài)度囂張九府,體驗極差
?? 一面(視頻面)
(1) 自我介紹
(2) mysql中有哪些鎖?
(3) mysql的隔離級別?怎么實現(xiàn)的覆致?為什么需要使用這些隔離級別?
(4) mysql中有哪些監(jiān)控指標(biāo)侄旬?關(guān)于內(nèi)存的指標(biāo)有哪些?
(5) mysql buffer pool是用來干嘛的煌妈?change buffer的作用儡羔?
(6) mysql 版本之間差異
(7) mysql IO線程是單線程還是多線程璧诵?
(8) mysql怎么搭建主備機(jī)族操?
(9) 介紹下kafka的架構(gòu)姐赡?
(10) select, poll, epoll知不知道依沮?
(11) DFS怎么實現(xiàn)?
(12) BFS怎么實現(xiàn)?
(13) 算法題:求一個二叉樹的左視圖?
??二面(視頻面)
(1) 自我介紹
(2) 寫一個timer裝飾器
(3) mysql怎么搭建主備?
(4) 什么情況下會出現(xiàn)主備不一致?
(5) 算法:求兩個列表的交集钉寝?
(6) 算法進(jìn)階:兩個存了Int64個數(shù)的文件稿黍,怎么求交集邓嘹?
(7) 你們監(jiān)控指標(biāo)整個上報的鏈路是怎么樣的棚贾?
(8) 多進(jìn)程同時訪問一個文件會怎么樣?怎么解決琳轿?
??三面(視頻面)
(1) 先自我介紹
(2) 為什么離職?知道我們部門是干嘛的嗎耿芹?未來有什么技術(shù)規(guī)劃崭篡?
(我回答說前面了解到貴組是做中臺的,我盡量希望在云領(lǐng)域深耕吧秕,做基礎(chǔ)架構(gòu)琉闪,滴滴是有高并發(fā)的業(yè)務(wù)量,同時也做基礎(chǔ)架構(gòu)砸彬,我比較傾向來滴滴颠毙。然后這個人就開始莫名奇妙扯犢子疗涉,首先給我說一堆中臺的概念,然后說我們做的和你的預(yù)期不一樣吟秩,建議我繼續(xù)去做基礎(chǔ)架構(gòu)咱扣,此時前面我只是簡單做了個自我介紹,前兩面也蠻順利的涵防,他這時候已經(jīng)完全透露出拒絕我的意向闹伪,等他說完意思是面試可以結(jié)束了,我和他解釋我并沒有說我不想做后臺壮池,我個人只是表明一個自己的職業(yè)期望偏瓤。然后他感覺故意一邊自吹自擂,一邊拋出一堆難題問我椰憋?)
-- 你說說高可用架構(gòu)怎么實現(xiàn)的厅克?主庫down掉怎么保證數(shù)據(jù)同步過去?我先講了主從的高可用架構(gòu)原理橙依,他說你們用的都是幾十年前的技術(shù)证舟,堅持說業(yè)界早就有更好的架構(gòu)解決這個一致性問題?實在是不知道自己沒get到他的點還是他自己在扯淡窗骑,總之他已經(jīng)表現(xiàn)出極大的不耐煩女责。
-- 事物的隔離級別你說說?(我回答上事物的四個隔離級別创译,他說你說的都是十幾年前的技術(shù)了抵知,現(xiàn)在都是快照隔離級別,我搞了兩年數(shù)據(jù)庫软族,難道在這里知識有盲區(qū)刷喜?)
-- 那你知道幻讀是什么?和不可重復(fù)讀區(qū)別是什么立砸?
-- 你給我講講raft算法掖疮?這個我聽說過確實沒深入了解過,他說你搞了兩年數(shù)據(jù)庫你就應(yīng)該知道這些東西仰禽,我和他解釋我并不是搞內(nèi)核的氮墨,也并不精于某一款數(shù)據(jù)庫,對Mysql引擎等體系架構(gòu)和備份恢復(fù)原理比較了解吐葵,也介紹了以前自己做的是類似于運維開發(fā)规揪,也要同時維護(hù)很多引擎,自己目前的經(jīng)驗也就兩年温峭,然后他就說兩年在互聯(lián)網(wǎng)是相當(dāng)長的一個時間猛铅,他說自己都是從機(jī)械轉(zhuǎn)過來的。
????總之和這個面試官的交流體驗極差凤藏,全程一副居高臨下的姿態(tài)奸忽,我自己在簡歷上已經(jīng)明確寫明我精通/熟悉/了解哪些堕伪,你清楚自己要招什么級別的人進(jìn)來,自己在簡歷篩選的時候就把把關(guān)栗菜,實在是不想再有這么不愉快的面試體驗欠雌!
面試總結(jié)
??一些人事方面的因素不再作過多討論,總之我們要努力提升自己疙筹,這里我覺得有必要結(jié)合這幾次面試做個總結(jié)富俄。
技術(shù)方面的:
??(1) 自己寫在簡歷上的東西要貨真價實,但也可適當(dāng)模糊處理而咆,總之自己要把握度霍比,確保自己清楚自己簡歷上的項目和技術(shù)怎么實現(xiàn)的。
??(2) 如果你項目用了某個具體的框架/技術(shù)暴备,盡量自己挖深點悠瞬,了解的多一點。
??(3) 從這幾次面試中來看面試官更看重一個人的學(xué)習(xí)能力和熱情涯捻,所以注意自己平時可以多寫寫技術(shù)博客浅妆,選擇一個方向多深入專研一下,看看相關(guān)的書, 算法能力一定要熟練汰瘫,這已經(jīng)是判斷一個程序員是否聰明的標(biāo)準(zhǔn)狂打,某些時候你項目經(jīng)驗不足能以強(qiáng)大的算法能力來彌補(bǔ)。結(jié)合這幾次的面試題來看混弥,一般都會在一個問題上層層推進(jìn),最后很可能都會有一道海量數(shù)據(jù)處理的題目对省。
溝通方面:
??程序員也要注意練習(xí)溝通表達(dá)蝗拿,這也是一個很重要的能力
心態(tài)方面:
?? (1) 放平心態(tài),有時候面試官問的問題深入你不會不是你的問題蒿涎,而是他們要確定作為面試者的你有多少貨哀托,你會的越多他們自然給你定的級就越高。
?? (2) 不管面掛還是通過劳秋,總之把每一次的經(jīng)驗自己做總結(jié)當(dāng)自己查漏補(bǔ)缺和提升的機(jī)會仓手,很多人不知道在實戰(zhàn)中學(xué)習(xí)才是學(xué)的最快的。去大公司還是小公司也罷玻淑,都不是我們職業(yè)生涯的終點嗽冒。