程序汪985碩士粉秋招拿下快手44萬offer,面試學(xué)習(xí)經(jīng)驗(yàn)分享
本文章來自程序汪秋招粉絲的親身經(jīng)歷,秋招準(zhǔn)備及互聯(lián)網(wǎng)面試找工作經(jīng)歷,又是一個(gè)需要程序汪分析offer的粉絲,感謝他的走心分享
老規(guī)矩面經(jīng)和學(xué)習(xí)經(jīng)驗(yàn)分享,剩下的就是程序汪微信回復(fù)他
17號(hào)分享
學(xué)習(xí)經(jīng)歷
先說自己的經(jīng)歷吧,我是本科某 211 機(jī)械跨考計(jì)算機(jī)的,運(yùn)氣好進(jìn)了某 985 高校
本科只接觸過 C 語言和數(shù)據(jù)庫(kù)概論,學(xué)習(xí) java 是從去年的 8 月 24 號(hào)開始的,在 B 站找了清華大學(xué)老師的 java 課程,也算是啟蒙課程
后面就按部就班的學(xué),每天除了上課,吃飯,睡覺,就是去圖書館狂補(bǔ)本科落下的知識(shí),好在宿舍有大佬在,不會(huì)的晚上回去一起交流
看過的書(完全按照時(shí)間順序排序)
java 基礎(chǔ)方面(以黑書和核心技術(shù)卷一為主,先核心技術(shù)再黑書,github 也有大佬參與翻譯 java 8 那本書,同樣可以去看看)
數(shù)據(jù)結(jié)構(gòu)(推薦使用紅算法那本書,java 語言寫的,很適合看)
計(jì)算機(jī)基礎(chǔ)知識(shí)(看了一個(gè) CSAPP,其中涉及網(wǎng)絡(luò)的可以不看)
設(shè)計(jì)模式(用的 head first,不全但是適合入門)
MySQL 方面(InnoDB 存儲(chǔ)引擎那本書,比較晦澀,需要多看多翻)
jvm(深入理解 jvm 那本書,寫的很棒)
java 并發(fā)(并發(fā)編程的藝術(shù)那本書,前三章比較晦澀,需要先看 jvm 再看這本書,leetcode 有并發(fā)編程題,可以練手)
計(jì)算機(jī)網(wǎng)絡(luò)(推薦圖解 http 和圖解 tcp/ip 這兩本,前者完全夠用,后者看時(shí)間可能需要看黑書補(bǔ)充)
Linux(私房菜 + 練習(xí),反正虛擬機(jī)搞壞了大不了快照處理)
Redis(之所以不和 MySQL 放在一起,在于 MySQL 才是重中之重,先學(xué)好 MySQL,再學(xué)其他的。看的就是那本 Redis 設(shè)計(jì)與實(shí)現(xiàn),看的很快,從基本結(jié)構(gòu)出發(fā),能很清楚看到具體的實(shí)現(xiàn)細(xì)節(jié))
java web(筆者是寒假在家學(xué)的,由于疫情原因,延長(zhǎng)假期,得以將 網(wǎng)絡(luò)編程 -> java web -> ssm -> spring boot 這個(gè)學(xué)了一遍,也看了一部分源碼)
Kafka ZK Dubbo(這三者放在一起,是因?yàn)楣P者發(fā)現(xiàn)面試越來越喜歡問分布式知識(shí)了,這種東西你可以直接八股文背誦,但是事后還是需要系統(tǒng)學(xué)習(xí),視頻(博客) + 官方文檔 + 書 + 源碼)
快手一面
項(xiàng)目相關(guān)
kafka 的消息的順序一致性如何保證,kafka 的消息可靠性如何保證,kafka 的 controller 選舉和 leader 選舉
讓 A 線程等待 B 線程有哪些措施
ReetrantLock 和 sychronized 關(guān)鍵字區(qū)別
如果我有一個(gè) http 的 api 方法,這個(gè)方法突然執(zhí)行耗時(shí)較平時(shí)長(zhǎng),可能存在的問題,如何進(jìn)行排查
gc 中新生代有兩個(gè) survivor 區(qū),這兩個(gè) survivor 起到什么作用,為什么需要兩個(gè) survivor 區(qū),如何調(diào)整大小
CMS 和 G1 之間的區(qū)別
輸入 發(fā)生了什么,瀏覽器如何展示 html 頁(yè)面
Bean 的循環(huán)依賴如何解決
Spring 在哪些地方用了什么設(shè)計(jì)模式
享元模式、代理模式、模板方法
算法題:設(shè)計(jì)適用于手機(jī) 9 鍵輸入法的數(shù)據(jù)結(jié)構(gòu)和算法
具體要求:鍵入一個(gè) 4,應(yīng)該返回所有以 g/h/i 開頭的字符串;鍵入 43,應(yīng)該返回以 g/h/i d/e/f 兩兩組合開頭的字符串
快手二面
項(xiàng)目相關(guān)
線程的狀態(tài)以及其對(duì)應(yīng)的調(diào)用方法
java 中的鎖有哪些及其底層實(shí)現(xiàn)原理
網(wǎng)卡中的數(shù)據(jù)如何被加載到內(nèi)存中
BIO / NIO 的區(qū)別,如果 NIO 的 channel 一直為空,cpu 是否會(huì)飆高
redis 作為內(nèi)存數(shù)據(jù)庫(kù)有哪些優(yōu)點(diǎn)
redis 的 cluster 模式如何進(jìn)行通信,redis 中新增節(jié)點(diǎn)時(shí)的 slot 重新分配
100G 的數(shù)據(jù)文件存有字符串,找出出現(xiàn)次數(shù)最多的字符串,限制內(nèi)存使用量為 4G
算法題:設(shè)計(jì)一個(gè)能產(chǎn)生隨機(jī)數(shù)的算法,并且產(chǎn)生的隨機(jī)數(shù)必須是之前并沒有出現(xiàn)的
關(guān)于面試
從 8 月開始面試一直持續(xù)到 10 月,兩個(gè)月拿的 offer 確實(shí)對(duì)得起自己去年一整年的努力,但由于時(shí)間關(guān)系,分布式和具體的項(xiàng)目經(jīng)驗(yàn)尤為欠缺。面試中同樣會(huì)問及場(chǎng)景題,這個(gè)就需要自己平時(shí)多看多想,比如看視頻的時(shí)候,老師也會(huì)提到這種東西有什么好處,可以干啥干啥,這個(gè)你同樣需要留心,在面試時(shí)候說不定也能臨時(shí)救場(chǎng)。
分布式這種東西,面試基礎(chǔ)不會(huì)出現(xiàn)太難的問題,大多都是皮毛問題,但是這些問題你不看,你就完全不懂,但是你只要花個(gè)幾天的時(shí)間去看,你就可以速成分布式的面試問題。這個(gè)筆者在面試時(shí)經(jīng)常吃虧,后面只好逼著自己學(xué)。
項(xiàng)目經(jīng)驗(yàn)這個(gè)確實(shí)是跨考生的痛苦,但是面試不在于你的項(xiàng)目多酷炫,在于你對(duì)項(xiàng)目的理解程度,這些不僅僅是各知識(shí)點(diǎn)的堆積組合,更要說明你為什么要用這個(gè)東西。如果實(shí)在說不出來,你完全可以說為了用而用,學(xué)習(xí)練手的項(xiàng)目并不會(huì)要求多合理。
面試更多要求專業(yè)的基礎(chǔ)知識(shí),如果連 java 的 char 能不能存儲(chǔ)漢字都不知道,你卻搞一些分布式雜七雜八的,面試官只會(huì)覺得你過于浮躁。數(shù)據(jù)結(jié)構(gòu) + tcp/ip 協(xié)議簇 + 操作系統(tǒng) 必須重點(diǎn)掌握,java 基礎(chǔ) + 設(shè)計(jì)模式 + MySQL + Linux + 并發(fā) + jvm + web 同樣也是重點(diǎn),分布式雖說是加分項(xiàng),但是計(jì)算機(jī)專業(yè)的學(xué)生內(nèi)卷極其嚴(yán)重,分布式他會(huì)你不會(huì),怎么可能要你。
希望用這些最真實(shí)案例給想學(xué)編程的萌新一些參考,學(xué)習(xí)的路上不再迷茫。
往期資源 需要請(qǐng)自取
真香警告!Alibaba珍藏版mybatis手寫文檔,刷起來
計(jì)算機(jī)專業(yè)幾本必看的書!
字節(jié)跳動(dòng)總結(jié)的設(shè)計(jì)模式 PDF 火了,完整版開放下載!
別辛苦找學(xué)習(xí)視頻拉,請(qǐng)收下程序汪整理的50個(gè)Java項(xiàng)目實(shí)戰(zhàn)視頻
10k+點(diǎn)贊的Spring Boot后臺(tái)管理系統(tǒng)竟然出了詳細(xì)教程!
文章轉(zhuǎn)載自微信公眾號(hào)我是程序汪
聲明:本站所有文章資源內(nèi)容,如無特殊說明或標(biāo)注,均為采集網(wǎng)絡(luò)資源。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系本站刪除。