一份来自一月寒冬互联网一线的面经(附面试题)
1.背景:
因?yàn)楣咀儎?dòng),lz不得不出來看看機(jī)會(huì), 面試的崗位主要是后端,歷經(jīng)三周,面了北京大大小小的幾家公司,最后收獲了滿意的offer。
自己也成長(zhǎng)收獲了不少, 謹(jǐn)以筆記,自己可以日后回憶,也希望能幫助到最近寒冬下需要找工作的同學(xué),在文章的后面會(huì)附上一點(diǎn)小心得和建議。
?
2.level
我是16年本科畢業(yè), 算上實(shí)習(xí)接近2年半-3年的工作經(jīng)歷吧,一直做java后端。? 自己定位大概能到p6+的水平。有大廠經(jīng)驗(yàn),本科211, 所以面試機(jī)會(huì)總體來說還是挺多的。
?
3.過程
大概是從元旦過后開始寫簡(jiǎn)歷,投簡(jiǎn)歷,從7號(hào)開始陸陸續(xù)續(xù)面了若干公司, 有好有壞,以表格形式記錄如下,以我面試的時(shí)間排序。
聲明:雖然博客沒有什么人看,但是如果您認(rèn)為記錄有不實(shí)或者傷害到下述公司名譽(yù)啥的, 直接聯(lián)系我刪除即可。
有朋友建議我省掉公司名,我就用某代替吧。
| 公司 | 部門 | ?渠道 | ?結(jié)果 | ?感受(辦公環(huán)境,面試難度,感受) |
| ? 某信銀行 | ? DevOps | Boss | ?4+0,拿到offer. (4技術(shù)面 0hr面,下同) | ?某信的位置和辦公環(huán)境都很不錯(cuò),位于安貞門。 面試官人很nice,沒有多余的操作, 并且友好地幫我倒了一杯水。 主要針對(duì)簡(jiǎn)歷中的項(xiàng)目,以及java基礎(chǔ)進(jìn)行面試。 難度也是循序漸進(jìn), 說實(shí)話因?yàn)槭堑谝患颐嬖?#xff0c; 我確實(shí)很多地方?jīng)]有準(zhǔn)備好,但是還是感謝面試官給我機(jī)會(huì)。 感受:之前感覺銀行可能比較水, 但是感覺各方面都挺與時(shí)俱進(jìn)的, 待遇和人文也很有競(jìng)爭(zhēng)力。 某信應(yīng)該有大幾百人的研發(fā)團(tuán)隊(duì),各方面應(yīng)該都不輸于D輪的互聯(lián)網(wǎng)公司。 總體是比較贊的。 |
| ?某動(dòng) | ? | ?Boss | ?線上筆試 | ?3道Codility,英文,大概3h限時(shí), 我應(yīng)該1h就寫完了,用例跑通我就提交了,但是只有一道題ac。(很奇怪,也沒有錯(cuò)誤用例的提示,和LeetCode有些不一樣) ?然后hr還是讓我去面試, 我拒絕了,可能是我當(dāng)時(shí)已經(jīng)對(duì)這家公司沒有太大興趣了。 |
| 某見科技 | ? | ?Boss | 筆試+面試 | 一家AI創(chuàng)業(yè)公司, 看jd介紹不錯(cuò)就去了。 最后發(fā)現(xiàn)是在一個(gè)很偏,有點(diǎn)破的創(chuàng)業(yè)園,里面環(huán)境有點(diǎn)像家鄉(xiāng)的網(wǎng)吧。 筆試3道很簡(jiǎn)單的題, 面試也沒什么深度,面試官說實(shí)話感覺水平比較一般。 總體技術(shù)和互聯(lián)網(wǎng)差別很大, 我當(dāng)時(shí)也是抱著練手的態(tài)度過去。 所以也沒下文了。 |
| ?某vo | ?金融 | Boss? | ?視頻面試 | ?1面視頻面,難度循序漸進(jìn),兩位面試官提問。 面試官說第二天hr聯(lián)系我,結(jié)果也沒聯(lián)系。我也沒問了。 主要是因?yàn)槟硋o在深圳,我在北京,可能我也不是很想換城市,后面投的都是在北京了。 |
| ?某團(tuán) | ?-- | ?Boss | 3+0 拿到offer? | 某團(tuán)的環(huán)境感覺就是標(biāo)準(zhǔn)的互聯(lián)網(wǎng)風(fēng)格, 面試官也很務(wù)實(shí)友好, 難度循序漸進(jìn),二面會(huì)問一些底層,并發(fā)的理解。 某團(tuán)無論是從技術(shù)沉淀還是我面試團(tuán)隊(duì)的潛力, 都是我很心儀的。 很幸運(yùn)也給了我一個(gè)不錯(cuò)的定級(jí)和待遇。 |
| ?某米 | ?某品 | ?Boss | 2面撤了 | ?說實(shí)話,我開始是不想投某米的,但是考慮到我是湖北人,可能回武漢。 但是!!!我面試之前應(yīng)該在脈脈上搜一搜這個(gè)部門的。 這個(gè)部門位于清河一個(gè)挺偏的地方, 周圍仿佛回到了18縣小鄉(xiāng)鎮(zhèn)。 面試官也是low爆炸了,一面面試官穿了一個(gè)脫鞋,讓我在樓下等了20min,前臺(tái)態(tài)度也不好。 然后竟然去了一個(gè)茶吧臺(tái)面試。不過一面面試官總體態(tài)度還行。(某米不提供飲水,面試官帶我去飲料機(jī)買了瓶汽水,當(dāng)然是我自費(fèi),從某米出來我就有了帶水的習(xí)慣了。) 二面簡(jiǎn)直是個(gè)活寶,上來站著問,你懂hashmap嗎, 我簡(jiǎn)單答了一下數(shù)組+鏈表,然后按理應(yīng)該往碰撞,或者并發(fā)的方向繼續(xù)問, 結(jié)果坐下,抖腿,問什么抓包的原理,然后扯的亂七八糟的。 最后憋了一分鐘吧,出了一個(gè)很無聊的題(LeetCode第十題)。 我實(shí)在不想浪費(fèi)彼此時(shí)間,就直接走了。 某米本身在我心中還是個(gè)挺有態(tài)度的公司,和雷某總也是老鄉(xiāng)。? 哎,真是刷新了我的三觀。 |
| ?某脈 | ?效能 | ?Boss | ?2+1 | ?某脈我覺得公司和產(chǎn)品一樣nice, 位于768,環(huán)境很安靜。 hr笑的很開心,面試官也很有禮節(jié)。 他們主后端是用python, java主要做一些離線和效能的工作。 因?yàn)榈谝惶?面面試官不在, hr讓我第二天過去, 但是由于面試過程中了解到是去做效能平臺(tái),財(cái)務(wù)平臺(tái)。 秉著發(fā)展的考慮,我還是拒絕了。? 但是我還是推薦某脈, 小而美。 |
| ?某某跳動(dòng) | ?某告 | ?獵頭 | ?3+1,拿到offer | ?面完某米之后,我覺得我不能在小公司上面浪費(fèi)時(shí)間,同時(shí)也有了某團(tuán)的offer。 于是我把其余的面試都取消了,只剩下了某條和某里。 某條辦公環(huán)境,位置都很好。 每層都有食堂(請(qǐng)我吃了一頓,很好吃) 同學(xué)們給我最大的感受是 年輕,有活力,友好。 還有就是真的忙。 我身邊已經(jīng)有陸陸續(xù)續(xù)不少同事選擇了某條了。 面試難度其實(shí)沒有傳說中的那么難, 不至于手寫紅黑樹,但是基本的數(shù)據(jù)結(jié)構(gòu)和算法要熟悉,每一面都會(huì)寫算法。 hr感覺也很盡心盡責(zé)。 |
| 某某巴巴 | 某學(xué) | Boss | 3+1 | 某巴巴的面試總體有點(diǎn)失望,首先hr沒預(yù)約會(huì)議室,導(dǎo)致在休息區(qū)面試。 也沒有茶水,雖然我自帶了。 然后是辦公區(qū)到處都是屏幕,循環(huán)著某云的創(chuàng)業(yè)視頻。 三面面試中規(guī)中矩。 某學(xué)本來就不是我投的部門(我投的u某c,不知道咋流過去了,然后讓我面試,我也想試一試吧,然后hr說我某蟻簡(jiǎn)歷沒過,可我壓根沒投過) 某里最難的是hr面,? 一個(gè)hr非要充當(dāng)心里學(xué)家,問你人生高潮是啥, 非常沒有禮貌,說話直接打斷,也沒什么信用,感覺這群hr把某里搞得烏煙瘴氣。? ?特別是hr套路很多, 面完了說沒有hc,hc要審批(那你喊我來干嘛) ,然后我有很優(yōu)秀的同事面過了 (其實(shí)也一直拖著沒給offer),我說有人拿offer了 ,hr又說人家面的早。讓我感覺她就是在刷kpi啥的。 反正這個(gè)部門我是不建議去了, 周圍拿到某學(xué)offer的同事也打算拒了再看看。 |
| 某馬遜 | 物流倉(cāng)儲(chǔ) | Boss | 還沒面 | ? |
?
4.總結(jié)及建議
1.一定要提前準(zhǔn)備好,刷一定量的題,特別是現(xiàn)在各大公司都有自己的招聘系統(tǒng),如果一面就掛了,可能直接就拉黑,后續(xù)面試就更難了。
2.關(guān)于刷題,大概刷完劍指offer上面的經(jīng)典題, 或者leetcode前100道應(yīng)該就夠了,我建議有選擇的刷,主攻排序,鏈表,大文件處理這些面試高頻的,也有意義的。
3.關(guān)于練手,我覺得不要有太大的心里負(fù)擔(dān), 你去一般公司面試,對(duì)于公司可能是一種匹配,但是對(duì)個(gè)人可是一次很好的自我認(rèn)知反省的機(jī)會(huì),甚至?xí)淖兒罄m(xù)的很多結(jié)果。
我們結(jié)合對(duì)行業(yè)的了解,如下公司可以說小而美(其實(shí)也是大獨(dú)角獸了),本身就值得加入,面試也有很多收獲: 某輔導(dǎo),某脈,某探,瓜某,某vo互聯(lián)網(wǎng)。
當(dāng)然拿大廠的邊緣部門練手也未嘗不可,就是有風(fēng)險(xiǎn)有記錄。
當(dāng)然也有一些黑名單,面試官迷之自信,態(tài)度傲慢,技術(shù)淺顯, 建議大家面試前脈脈一下。。
最后一棒子打死,感覺位于清河的公司,可能都不太利于個(gè)人生活和發(fā)展。
4.關(guān)于基礎(chǔ),我在下面附上一些前輩整理好的url。一定要夯實(shí)打撈。
5.關(guān)于面試禮儀,我覺得面試禮儀是衡量雙方的重要標(biāo)準(zhǔn), 面試者要注重自己的儀表整潔,談吐禮貌自然。 可以從公司面試官的行為判斷出公司的大體人員素質(zhì),我個(gè)人比較看重公司行政或者面試官是否能給瓶礦泉水或者倒杯水,我認(rèn)為這是尊重一個(gè)面試者的基本表現(xiàn),雖然后來我都是自己帶水。 我面試中就某米和某里沒有提供(并且某里某學(xué)是飯點(diǎn)約去面試,也不管飯,餓著肚子從5點(diǎn)面到9點(diǎn)多),然后就是雙方是否守時(shí),我一般提前20分鐘到,提前10分鐘給hr打個(gè)電話。?
6.關(guān)于面試難度,我覺得正常應(yīng)該是圍繞簡(jiǎn)歷和基礎(chǔ)循序漸進(jìn),一上來手撕紅黑樹,給個(gè)hard基本要dp的,或許不是真心想招人的。?
當(dāng)然,即使難點(diǎn)也不要慌, 表達(dá)好自己的思考過程,展現(xiàn)自己一個(gè)綜合的素質(zhì) ,即使錯(cuò)了也不會(huì)被一票否定。
7.關(guān)于面試技巧, 之前看了有的前輩說盡量把面試官往自己熟悉的領(lǐng)域帶,有一點(diǎn)道理, 但是我沒有刻意這樣操作過, 不會(huì)的一般思考一下,直接說不確定/沒研究過/不會(huì),然后說一個(gè)可能的原理,如果合理我認(rèn)為也能體現(xiàn)一種技術(shù)功底和應(yīng)變能力。
其他的想到在整理吧。
?
?
5.面試題+基礎(chǔ)
各家的面試題其實(shí)都大同小異, 掌握基礎(chǔ)和原理,走到哪都不怕。
?基礎(chǔ)
leetcode上有一些總結(jié),star數(shù)非常高了。貼上url
https://github.com/CyC2018/CS-Notes
https://github.com/Snailclimb/JavaGuide
這兩個(gè)大概只是個(gè)提綱,如果是高級(jí)職位,深度可能不夠,具體的還得看書。
另外強(qiáng)烈推薦?http://www.iocoder.cn/ 芋道,我的面試題很多都是從上面找的。平時(shí)對(duì)提高也有幫助。
?
?reids
redis的話,我推薦《Redis深度歷險(xiǎn):核心原理和應(yīng)用實(shí)踐》 和《redis設(shè)計(jì)與實(shí)現(xiàn)》
?
- 知道redis嗎,redis是如何做持久化的
- 介紹下redis的特點(diǎn),redis的基本數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)持久化方式,主從之間如何同步;
- 導(dǎo)致redis性能瓶頸的操作
- redis有哪些接口
- Redis的實(shí)現(xiàn)模式;
- redis為什么這么快?
?
?
java-core
基礎(chǔ)的話主要看源碼吧, collection和juc里面的。 然后就是《java編程思想》和《java核心技術(shù) 卷1.2》(有很多過時(shí)的章節(jié)直接跳過即可)?
- 1、List 和 Set 的區(qū)別
- 2、HashSet 是如何保證不重復(fù)的
- 3、HashMap 是線程安全的嗎,為什么不是線程安全的(最好畫圖說明多線程環(huán)境下不安全)?
- 4、HashMap 的擴(kuò)容過程
- 5、HashMap 1.7 與 1.8 的 區(qū)別,說明 1.8 做了哪些優(yōu)化,如何優(yōu)化的?
- 6、final finally finalize
- 7、強(qiáng)引用 、軟引用、 弱引用、虛引用
- 8、Java反射
- 9、Arrays.sort 實(shí)現(xiàn)原理和 Collection 實(shí)現(xiàn)原理
- 10、LinkedHashMap的應(yīng)用11、cloneable接口實(shí)現(xiàn)原理
- 12、異常分類以及處理機(jī)制
- 13、wait和sleep的區(qū)別
- 14、數(shù)組在內(nèi)存中如何分配
?
?
java-并發(fā)
我推薦《java并發(fā)編程藝術(shù)》 我覺得比 《java并發(fā)編程實(shí)戰(zhàn)》更好理解一點(diǎn)。
?
- 1、synchronized 的實(shí)現(xiàn)原理以及鎖優(yōu)化?
- 2、volatile 的實(shí)現(xiàn)原理?
- 3、Java 的信號(hào)燈?
- 4、synchronized 在靜態(tài)方法和普通方法的區(qū)別?
- 5、怎么實(shí)現(xiàn)所有線程在等待某個(gè)事件的發(fā)生才會(huì)去執(zhí)行?
- 6、CAS?CAS 有什么缺陷,如何解決?
- 7、synchronized 和 lock 有什么區(qū)別?
- 8、Hashtable 是怎么加鎖的 ?
- 9、HashMap 的并發(fā)問題?
- 10、ConcurrenHashMap 介紹?1.8 中為什么要用紅黑樹?
- 11、AQS
- 12、如何檢測(cè)死鎖?怎么預(yù)防死鎖?
- 13、Java 內(nèi)存模型?
- 14、如何保證多線程下 i++ 結(jié)果正確?
- 15、線程池的種類,區(qū)別和使用場(chǎng)景?
- 16、分析線程池的實(shí)現(xiàn)原理和線程的調(diào)度過程?
- 17、線程池如何調(diào)優(yōu),最大數(shù)目如何確認(rèn)?
- 18、ThreadLocal原理,用的時(shí)候需要注意什么?
- 19、CountDownLatch 和 CyclicBarrier 的用法,以及相互之間的差別?
- 20、LockSupport工具
- 21、Condition接口及其實(shí)現(xiàn)原理
- 22、Fork/Join框架的理解
- 23、分段鎖的原理,鎖力度減小的思考
- 24、八種阻塞隊(duì)列以及各個(gè)阻塞隊(duì)列的特性
- 單機(jī)上一個(gè)線程池正在處理服務(wù),如果忽然斷電了怎么辦(正在處理和阻塞隊(duì)列里的請(qǐng)求怎么處理)?
- 為什么要使用線程池?
- 線程池有什么作用?
- 說說幾種常見的線程池及使用場(chǎng)景。
- 線程池都有哪幾種工作隊(duì)列?
- 怎么理解無界隊(duì)列和有界隊(duì)列?
- 線程池中的幾種重要的參數(shù)及流程說明。
?
JVM
JVM應(yīng)該就一本《深入理解JVM虛擬機(jī)》 就夠了, 但是我買的版本比較老,1.8以后內(nèi)存區(qū)域做了一些改動(dòng),自己的得知道。
?
- 1、詳細(xì)jvm內(nèi)存模型
- 2、講講什么情況下回出現(xiàn)內(nèi)存溢出,內(nèi)存泄漏?
- 3、說說Java線程棧
- 4、JVM 年輕代到年老代的晉升過程的判斷條件是什么呢?
- 5、JVM 出現(xiàn) fullGC 很頻繁,怎么去線上排查問題?
- 6、類加載為什么要使用雙親委派模式,有沒有什么場(chǎng)景是打破了這個(gè)模式?
- 7、類的實(shí)例化順序
- 8、JVM垃圾回收機(jī)制,何時(shí)觸發(fā)MinorGC等操作
- 9、JVM 中一次完整的 GC 流程(從 ygc 到 fgc)是怎樣的
- 10、各種回收器,各自優(yōu)缺點(diǎn),重點(diǎn)CMS、G1
- 11、各種回收算法
- 12、OOM錯(cuò)誤,stackoverflow錯(cuò)誤,permgen space錯(cuò)誤
- 說一下對(duì)jvm的理解,jvm的組成部分,各個(gè)部分的存儲(chǔ)內(nèi)容以及常見的jvm的問題排查步驟。
- 對(duì)JVM熟不熟悉?簡(jiǎn)單說說類加載過程,里面執(zhí)行的那些操作?
- JVM方法區(qū)存儲(chǔ)內(nèi)容 是否會(huì)動(dòng)態(tài)擴(kuò)展 是否會(huì)出現(xiàn)內(nèi)存溢出 出現(xiàn)的原因有哪些。
- 介紹介紹CMS。
- 介紹介紹G1。
- 為什么jdk8用metaspace數(shù)據(jù)結(jié)構(gòu)用來替代perm?
- 簡(jiǎn)單談?wù)劧淹鈨?nèi)存以及你的理解和認(rèn)識(shí)。
- JVM的內(nèi)存模型的理解,threadlocal使用場(chǎng)景及注意事項(xiàng)?
- JVM老年代和新生代的比例?
- jstack,jmap,jutil分別的意義?如何線上排查JVM的相關(guān)問題?
- Java虛擬機(jī)中,數(shù)據(jù)類型可以分為哪幾類?
- 怎么理解棧、堆?堆中存什么?棧中存什么?
- 為什么要把堆和棧區(qū)分出來呢?棧中不是也可以存儲(chǔ)數(shù)據(jù)嗎?
- 在Java中,什么是是棧的起始點(diǎn),同是也是程序的起始點(diǎn)?
- 為什么不把基本類型放堆中呢?
- Java中的參數(shù)傳遞時(shí)傳值呢?還是傳引用?
- Java中有沒有指針的概念?
- Java中,棧的大小通過什么參數(shù)來設(shè)置?
- 一個(gè)空Object對(duì)象的占多大空間?
- 對(duì)象引用類型分為哪幾類?
- 講一講垃圾回收算法。
- 如何解決內(nèi)存碎片的問題?
- 如何解決同時(shí)存在的對(duì)象創(chuàng)建和對(duì)象回收問題?
- 講一講內(nèi)存分代及生命周期。
- 什么情況下觸發(fā)垃圾回收?
- 如何選擇合適的垃圾收集算法?
- JVM中最大堆大小有沒有限制?
- 堆大小通過什么參數(shù)設(shè)置?
- JVM有哪三種垃圾回收器?
- 吞吐量?jī)?yōu)先選擇什么垃圾回收器?響應(yīng)時(shí)間優(yōu)先呢?
- 如何進(jìn)行JVM調(diào)優(yōu)?有哪些方法?
- 如何理解內(nèi)存泄漏問題?有哪些情況會(huì)導(dǎo)致內(nèi)存泄露?如何解決?
?
?
Spring
spring的話,感覺現(xiàn)在問的少了, spring cloud會(huì)問的比較多, 應(yīng)該算在微服務(wù)/分布式的知識(shí)點(diǎn)里面。
- 1、BeanFactory 和 FactoryBean?
- 2、Spring IOC 的理解,其初始化過程?
- 3、BeanFactory 和 ApplicationContext?
- 4、Spring Bean 的生命周期,如何被管理的?
- 5、Spring Bean 的加載過程是怎樣的?
- 6、如果要你實(shí)現(xiàn)Spring AOP,請(qǐng)問怎么實(shí)現(xiàn)?
- 7、如果要你實(shí)現(xiàn)Spring IOC,你會(huì)注意哪些問題?
- 8、Spring 是如何管理事務(wù)的,事務(wù)管理機(jī)制?
- 9、Spring 的不同事務(wù)傳播行為有哪些,干什么用的?
- 10、Spring 中用到了那些設(shè)計(jì)模式?
- 11、Spring MVC 的工作原理?
- 12、Spring 循環(huán)注入的原理?
- 13、Spring AOP的理解,各個(gè)術(shù)語,他們是怎么相互工作的?
- 14、Spring 如何保證 Controller 并發(fā)的安全?
?
Netty
?我不會(huì)
?
分布式相關(guān)
主要考察對(duì)cap和base的理解吧, 我沒有系統(tǒng)學(xué)習(xí)過,主要靠平時(shí)的積累。
- 1、Dubbo的底層實(shí)現(xiàn)原理和機(jī)制
- 2、描述一個(gè)服務(wù)從發(fā)布到被消費(fèi)的詳細(xì)過程
- 3、分布式系統(tǒng)怎么做服務(wù)治理
- 4、接口的冪等性的概念
- 5、消息中間件如何解決消息丟失問題
- 6、Dubbo的服務(wù)請(qǐng)求失敗怎么處理
- 7、重連機(jī)制會(huì)不會(huì)造成錯(cuò)誤
- 8、對(duì)分布式事務(wù)的理解
- 9、如何實(shí)現(xiàn)負(fù)載均衡,有哪些算法可以實(shí)現(xiàn)?
- 10、Zookeeper的用途,選舉的原理是什么?
- 11、數(shù)據(jù)的垂直拆分水平拆分。
- 12、zookeeper原理和適用場(chǎng)景
- 13、zookeeper watch機(jī)制
- 14、redis/zk節(jié)點(diǎn)宕機(jī)如何處理
- 15、分布式集群下如何做到唯一序列號(hào)
- 16、如何做一個(gè)分布式鎖
- 17、用過哪些MQ,怎么用的,和其他mq比較有什么優(yōu)缺點(diǎn),MQ的連接是線程安全的嗎
- 18、MQ系統(tǒng)的數(shù)據(jù)如何保證不丟失
- 19、列舉出你能想到的數(shù)據(jù)庫(kù)分庫(kù)分表策略;分庫(kù)分表后,如何解決全表查詢的問題
- 20、zookeeper的選舉策略
- 21、全局ID
?
?
mysql:
《Mysql技術(shù)內(nèi)幕-innodb存儲(chǔ)引擎》就夠了。
- mysql索引的實(shí)現(xiàn)原理
- Innodb中,什么是聚集索引,非聚集索引,他們是什么關(guān)系
- 插入一條記錄時(shí),聚集索引和非聚集索引是如何修改的
- 建立索引的標(biāo)準(zhǔn)是什么
- 查看 SQL 是不是使用了索引?(有什么工具)
- SQL 索引的順序,字段的順序
- MySQL 分頁查詢語句,mysql分頁有什么優(yōu)化
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/novaCN/p/10328380.html
總結(jié)
以上是生活随笔為你收集整理的一份来自一月寒冬互联网一线的面经(附面试题)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 爬虫-windows下安装Scrapy及
- 下一篇: Java基础学习-Collection体