暑期實(shí)習(xí)總結(jié)與建議(真誠(chéng)版)
一、暑期過(guò)程(略啰嗦)
3.7 從美團(tuán)離職,開(kāi)始找暑期,4.18 收到唯一一個(gè) offer 和一個(gè) hr 面(接了 offer,結(jié)束暑期)。
第一場(chǎng)面試是 3.17 的字節(jié),連 HashMap 和 HashTable 的區(qū)別、B 樹(shù)和 B+ 樹(shù)的區(qū)別這些很基礎(chǔ)的東西都說(shuō)不上來(lái),后來(lái)接連面了十幾場(chǎng),也只能說(shuō)答上來(lái) 60% - 70% 左右。
四月初清明那會(huì)已經(jīng)基本上心灰意冷了,開(kāi)始投日常,沒(méi)想到剩的兩個(gè)流程都走到了最后。
二、準(zhǔn)備暑期的學(xué)習(xí)建議
2.0 要構(gòu)建自己的知識(shí)體系
具體來(lái)說(shuō)就是寫(xiě)文檔 / 博客。個(gè)人覺(jué)得這一點(diǎn)非常非常重要。
2.1 熟悉基礎(chǔ)八股
什么是基礎(chǔ)八股呢,舉例子:
HashMap 的底層原理、Redis 主從復(fù)制過(guò)程、InnoDB 為什么采用 B+ 樹(shù)的數(shù)據(jù)結(jié)構(gòu)、AQS 原理、G1 垃圾回收器、瀏覽器訪問(wèn)網(wǎng)站的全過(guò)程、IO多路復(fù)用
怎么熟悉?構(gòu)建自己的知識(shí)體系 + JavaGuide 等總結(jié)的八股 + 網(wǎng)上其他人整理的各模塊的常用八股 + 面經(jīng)補(bǔ)充
這個(gè)階段要注重理解,只有真正理解了,才能記得住,才能承受住面試官的拷打。
2.2 深入底層
現(xiàn)在的面試很多時(shí)候不會(huì)局限于基礎(chǔ)八股,會(huì)考察比較硬核的計(jì)算機(jī)基礎(chǔ)知識(shí),主要體現(xiàn)在操作系統(tǒng)上,比如說(shuō):
線程上下文切換涉及到哪些操作?為什么切換是比較重的操作?
CPU Cache 和內(nèi)存是怎么交換數(shù)據(jù)的?
從操作系統(tǒng)的角度,一次磁盤(pán) IO 的流程?
2.3 靈活運(yùn)用
這部分不太好描述,對(duì)應(yīng)的能力是在學(xué)習(xí)計(jì)算機(jī)知識(shí)的過(guò)程中自己沉淀的理解,舉幾個(gè)例子吧:
Java 在日常編碼的過(guò)程中如何保證線程安全?
實(shí)現(xiàn)一個(gè)線程安全的無(wú)鎖隊(duì)列,說(shuō)說(shuō)你的方案,元素的入隊(duì)和出隊(duì)的實(shí)現(xiàn)方式?
Redis Client 是怎么傳輸命令到 Server 的?(比較特別的是七層網(wǎng)絡(luò)模型中的表示層,也就是數(shù)據(jù)如何編碼和序列化)(面試時(shí)甚至讓我寫(xiě)對(duì)應(yīng)的 JSON)
2.4 實(shí)戰(zhàn)能力
比如:你們 MySQL 機(jī)器的配置是?一次 IO 需要多少時(shí)間?訪問(wèn)一次內(nèi)存需要多少時(shí)間?同機(jī)房的網(wǎng)絡(luò)傳輸大概多快?
2.5 系統(tǒng)設(shè)計(jì)題
個(gè)人感覺(jué)這部分可以找?guī)讉€(gè)典型場(chǎng)景吃透,推薦 http://fangfengwang8.cn/discuss/743518189807505408
2.6 算法
我自己是只刷了 hot 100,刷了 1.5 遍,大概 3.25 之后就沒(méi)刷過(guò)了
我個(gè)人的考量是 hot 100 刷透是完全夠的,再深入刷性價(jià)比不高
面試的時(shí)候也會(huì)對(duì) hot 100 拓展,比如:升序數(shù)組中重復(fù)元素的個(gè)數(shù)、非遞歸實(shí)現(xiàn)二叉樹(shù)的后序遍歷、含重復(fù)元素的數(shù)組的全排列
三、關(guān)于面試
最想說(shuō)的是:不要過(guò)于懷疑自己的能力而內(nèi)耗,很多時(shí)候是運(yùn)氣問(wèn)題!
面試問(wèn)的很難答的不好不代表不會(huì)過(guò),體現(xiàn)出自己的思考就好
面試前可以花幾個(gè)小時(shí)時(shí)間把體系過(guò)一遍,每次過(guò)的時(shí)候把不熟悉的地方重點(diǎn)標(biāo)記一下,多看兩遍
3.1 面試官對(duì)候選人的期待是什么?
我基本上每場(chǎng)面試的反問(wèn)都會(huì)問(wèn)這個(gè)問(wèn)題,總結(jié)了一下:
- 不強(qiáng)求很契合的技術(shù)棧,更多是對(duì)候選人本身特質(zhì)的考察,所以會(huì)對(duì)簡(jiǎn)歷上信息做針對(duì)性提問(wèn),準(zhǔn)備面試的時(shí)候突出你擅長(zhǎng)的領(lǐng)域即可
- 舉例:簡(jiǎn)歷上寫(xiě)了單例模式,面試官會(huì)問(wèn):項(xiàng)目中如何使用單例模式的、單例模式的實(shí)現(xiàn)有哪些、單例模式的經(jīng)典應(yīng)用場(chǎng)景
- 總結(jié)一下,就是 what(實(shí)現(xiàn)方式有哪些)、why(優(yōu)缺點(diǎn)、和其他的比較)、how(項(xiàng)目中怎么用的、經(jīng)典應(yīng)用場(chǎng)景)
- 聰明、對(duì)技術(shù)感興趣、有鉆研能力
最后祝大家都能拿到滿意的 offer??????
#實(shí)習(xí)進(jìn)度記錄#