电竞比分网-中国电竞赛事及体育赛事平台

分享

從三本院校到斬獲字節(jié)跳動(dòng)后端研發(fā)Offer-講述我的故事

 心本心123 2021-12-09

友情提示本文內(nèi)容較長,都是干貨,希望小伙伴能夠耐心食用~文末有個(gè)人學(xué)習(xí)路線記錄和筆記

前言

大家好,我是 陌溪。

我做寫公眾號(hào)之前,一直在寫開源博客系統(tǒng)( 蘑菇博客 ) 和 開源學(xué)習(xí)筆記( LearningNotes ),內(nèi)容大多數(shù)是學(xué)習(xí)或者做項(xiàng)目遇到的問題為主,這次打算寫了一篇關(guān)于我的 Java自學(xué) 經(jīng)歷,希望對(duì)小伙伴有所收獲。

因?yàn)槲冶究凭妥x于北方某三本院校,和別人交談的時(shí)候也不太愿意過多介紹關(guān)于自己本科的情況,想著英雄不問出處。不過后面想想,通過將自己的一些生活和學(xué)習(xí)經(jīng)歷分享出來,如果在某個(gè)階段開始迷茫的小伙伴,也可以通過閱讀我的經(jīng)歷,避免一些我走過的彎路,從而找到適合自己的路。

圖片
我的Gitee主頁

關(guān)于我

我本科就讀于三本的獨(dú)立學(xué)院,那會(huì)因?yàn)楦呖伎嫉貌缓?,說白了就是初中和高中階段不愛學(xué)習(xí)導(dǎo)致的。

比如初中的時(shí)候,那會(huì)班級(jí)里流行用 MP4,我就用壓歲錢給自己買了一個(gè) MP4 ,天天晚上蒙在被子里用它來看小說,有的時(shí)候看到小說高潮部分,基本上能看到凌晨四五點(diǎn),掀開被子一看,都天亮了~。

20137 月的某一天,老爸打電話給我,他通過電話查詢到了我的高考分?jǐn)?shù),其實(shí)和我當(dāng)初高考估分的差不多,沒有到二本線,還差 10 多分,所以如果想去讀的話,只能選擇一個(gè)三本院校了或者去再努力復(fù)讀一年。

最后錄取通知書出來了,我被挑選的一所三本院校錄取了。不過專業(yè)都不是自己報(bào)考的電氣工程及自動(dòng)化、工程造價(jià)、能源與動(dòng)力之類的,而是令我意想不到的計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)。后面我也才了解到,我是被調(diào)劑到我們學(xué)院的計(jì)算機(jī)專業(yè)的,計(jì)算機(jī)專業(yè)在我們?cè)簩儆诒容^墊底的專業(yè),因?yàn)槟菚?huì)來計(jì)算機(jī)院的都是調(diào)劑生。

“選擇拿著錄取通知書去上學(xué),還是再復(fù)讀一年,你自己好好考慮一下” 這是老爸給我說的話,我琢磨了好久想想還是直接拿著通知書去了北方,那會(huì)可能想著去離家遠(yuǎn)的地方,越遠(yuǎn)越好。

初出茅廬

九月份,帶著行李箱就開始了學(xué)校了,因?yàn)橹型拘枰诒本┺D(zhuǎn)車,所以就在北京玩了兩天。從北京西站下來后,我是第一次感受到了大城市的繁華,也默默想著畢業(yè)后能夠留在這里工作 。

圖片
北京西站-來源網(wǎng)絡(luò)

在北京,我和老爸去了北京天安門、故宮和長城,也第一次坐上了地鐵。

最后輾轉(zhuǎn)來到了我們的學(xué)校,老爸去參加學(xué)校組織的家長見面會(huì)后和我說:“我了解到你們學(xué)??梢赞D(zhuǎn)專業(yè),你大一就好好學(xué)習(xí),達(dá)到轉(zhuǎn)專業(yè)要求后,申請(qǐng)轉(zhuǎn)到電氣專業(yè)”,我那會(huì)其實(shí)對(duì)所學(xué)專業(yè)是啥,沒有太大的感覺,所以就答應(yīng)了老爸。

后面就進(jìn)入了大學(xué)生活了,大學(xué)的生活比高中生活更加輕松,不過我也沒有放松自己。大一的時(shí)候還不能帶電腦,所以老爸也沒有給我配電腦,平時(shí)老師代碼都是給我們?cè)?strong>PPT上演示,那會(huì)也對(duì)編程產(chǎn)生了濃厚的興趣,經(jīng)常老師上課講完的代碼,會(huì)用小本子記錄下來,然后跑去圖書館在一行一行的敲上去,那會(huì)樂此不疲。

圖片
大一學(xué)習(xí)C語言時(shí)必學(xué)的求圓柱的體積,哈哈

那會(huì)對(duì)于代碼完全是不知所以然,不知道為什么要這么寫,然后很多程序的API 和一些算法(冒泡排序,選擇排序)基本上都是用小本本記起來,然后每天都看看。就這樣的狀態(tài),很快大一的時(shí)間就過完了。

大二開始,我們開設(shè)了 Java 課程,通過學(xué)習(xí) Java,我發(fā)現(xiàn)了原來編程不僅僅只是做出黑框框的,在命令行上運(yùn)行的東西,它還能制作出 計(jì)算器,甚至是游戲(JavaGui)。

這里其實(shí)特別感謝畢向東老師講解的 Java 基礎(chǔ) ,那會(huì)視頻資源特別匱乏,我有幸接觸到了畢老師的視頻教程,最后花費(fèi)了大二的一個(gè)學(xué)期才把 Java 基礎(chǔ)視頻學(xué)完(那會(huì)基本上一行一行的手敲),后面又跟著另外一門視頻教程《 Java 貪吃蛇游戲》學(xué)習(xí),我也是整整花費(fèi)了 1 個(gè)月的時(shí)間,每一行代碼都是跟著視頻敲出來的。到最后游戲能運(yùn)行的那一刻,我突然對(duì)編程有了更加濃厚的學(xué)習(xí)興趣。

圖片
大二在寫貪吃蛇小游戲的時(shí)候

對(duì)了,為啥我沒有去轉(zhuǎn)專業(yè)去電氣呢?因?yàn)榇笠坏臅r(shí)候體測(cè)沒有過,所以導(dǎo)致體育掛科了,最后無法滿足學(xué)校轉(zhuǎn)專業(yè)的要求,轉(zhuǎn)專業(yè)要求必須滿足成績(jī)?cè)谇?5 %,并且沒有掛科。所以就被迫留在了計(jì)算機(jī)專業(yè),然后就有了后面的故事,不然,陌溪可能畢業(yè)后就在爬電線桿了。

漸入佳境

大三的時(shí)候,我們開始了分班,就是選拔出一些人到卓越工程師班 ( 專注于編程實(shí)踐 ),我和家里人商量了一下,說我準(zhǔn)備去參加這個(gè)班級(jí),因?yàn)槲矣X得在里面我能夠?qū)W習(xí)到很多東西。。

當(dāng)然去的條件也很苛刻,需要先通過編程考試,如果通過了初試,還需要進(jìn)行復(fù)試,復(fù)試是自主選題,我做的就是跟著某馬做的貪吃蛇小游戲。最后通過一系列的排名下來,我最終的成績(jī)是2/29,組成了新的29人小班級(jí)。

圖片
卓工班上課的時(shí)候

在新的班級(jí)里,老師的要求比原來更嚴(yán)格了,在保證正常本科教學(xué)工作的基礎(chǔ)上,同時(shí)增加了更多的實(shí)踐性的課程,例如:Java編程、HTML+CSS+JavaScript、C#編程、.NET編程、Android編程、嵌入式開發(fā)

圖片
電腦特別卡,自己動(dòng)手拆機(jī)裝固態(tài)

那會(huì)學(xué)習(xí)了很多不一樣技術(shù),我也很感謝老師那段時(shí)間的付出,因?yàn)槊块T課最后完成了,都需要制作一個(gè)案例,采取的是小組的形式,然后需要進(jìn)行答辯講解(從這個(gè)時(shí)候,我就明白了團(tuán)隊(duì)協(xié)作的重要性..)

  • Java 課程:做的是一個(gè)超市采購系統(tǒng)( Java GUI 界面,整個(gè)國慶七天都在寫它,沒有出門)

  • 前端課程:寫的是一個(gè)播放器界面

  • C# 課程:做的是一個(gè)高校報(bào)修管理系統(tǒng),和兩個(gè)小伙伴組隊(duì)完成的(有現(xiàn)成的拖拽控件,那會(huì)發(fā)現(xiàn)新大陸.)

  • Linux 課程:制作了一個(gè)基于 QT 的飛行棋游戲(需要定義通信協(xié)議啥的)

  • .NET 課程:和三個(gè)小伙伴制作的蘑菇音樂(那會(huì)就是以蘑菇來命名的,我主要負(fù)責(zé)前端頁面編寫)

  • Android 課程:做的是一個(gè) 蘑菇閱讀APP(那會(huì)還拿去參加一個(gè)比賽,還獲獎(jiǎng)了)

圖片
和三個(gè)小伙伴完成的蘑菇音樂,答辯的時(shí)候界面驚艷了大家

當(dāng)初做的蘑菇閱讀 APP,那個(gè)時(shí)候加入了一些新的功能,比如聽書功能(調(diào)用科大訊飛 API )還有 機(jī)器人聊天功能(調(diào)用圖靈機(jī)器人 API )

圖片
蘑菇閱讀

在卓工班里,我們每個(gè)人雖然每天很辛苦,但是我覺得是過的最有意思的一段時(shí)光了,因?yàn)樵谶@里我體驗(yàn)到了團(tuán)隊(duì)協(xié)作,每個(gè)人分工明確,大家都是奔著一個(gè)目標(biāo)前進(jìn),就是讓自己的作品能夠更加出色。

經(jīng)過了大三一年的學(xué)習(xí),雖然現(xiàn)在感覺那個(gè)時(shí)候我們學(xué)的課程很多,就是什么都會(huì)學(xué)習(xí),不像培訓(xùn)機(jī)構(gòu)那樣專注于某一門課程?,F(xiàn)在想想也正是因?yàn)楫?dāng)初學(xué)的內(nèi)容多,才讓以后我們的就業(yè)不在局限于某一個(gè)方向,讓對(duì)前端感興趣的同學(xué)最后從事了前端相關(guān)的工作,對(duì) Java 剛興趣的同學(xué)從事了 Java 相關(guān)的工作,對(duì) C#.NET 感興趣的也有自己的選擇。

不過如果小伙伴一開始就有明確的目標(biāo)的話,比如像從事Java開發(fā),那么我推薦直接學(xué)習(xí)Java相關(guān)的技能即可。

波光粼粼

轉(zhuǎn)眼就來到了大三的暑假了,那會(huì)我是覺得直接參加工作去賺錢也不錯(cuò),不過家里人希望我能參加考研,等讀完研之后再參加工作。

我最終還是被家里說服了,然后開始著手考研的復(fù)習(xí),但是心里還想著工作的事情。也正因?yàn)檫@個(gè)導(dǎo)致我后面摔跟頭了。希望小伙伴能以此為戒,在面對(duì)考研和工作的抉擇時(shí),需要了解到自己喜歡什么,并且能夠堅(jiān)定自己的目標(biāo),而不是隨波逐流、人云亦云。

圖片
那會(huì)為了準(zhǔn)備考研,特意報(bào)名了一個(gè)輔導(dǎo)班

但是那會(huì)考研也沒有很專注,當(dāng)看到其它同學(xué)在找工作的時(shí)候,又跟著一起湊熱鬧,一塊參加面試(當(dāng)初面試實(shí)習(xí)崗位,面了兩家還都被錄取了)。那會(huì)對(duì)考研的事情又產(chǎn)生了動(dòng)搖心理,最后在家里人的勸告下,我又繼續(xù)回到了考研課程的學(xué)習(xí)中去,但那會(huì)考研也不是專心致志一心一意的,那會(huì)每天晚上八點(diǎn)鐘就回到了寢室,然后開始玩游戲。

圖片
夢(mèng)幻西游手游

就這樣一邊復(fù)習(xí)考研,一邊晚上八點(diǎn)就早早回來繼續(xù)打夢(mèng)幻西游的狀態(tài),一直持續(xù)到考研結(jié)束。最后考研分?jǐn)?shù)出來了,結(jié)果也正如大家所預(yù)料的那樣,嗯,完蛋了。

跋山涉水

考研成績(jī)出來的那會(huì),還處于大四的寒假,在得知自己無法讀研的時(shí)候,毅然決定自己需要好好準(zhǔn)備復(fù)習(xí)專業(yè)知識(shí),然后去參加校園招聘。因?yàn)槲覀儗W(xué)院電氣是王牌專業(yè),所以基本上來的都是一些電力相關(guān)的,很少有計(jì)算機(jī)專業(yè)的招聘過來( 現(xiàn)在的話,推薦小伙伴們能夠多多關(guān)注網(wǎng)站上的校園招聘平臺(tái),比如 ??途W(wǎng)等)。

后面我決定和發(fā)小一塊,去他的學(xué)校等待校園招聘 (發(fā)小在我們那邊的一所 211 學(xué)校 )。然后在等待的過程中,也不斷的學(xué)習(xí)相關(guān)的知識(shí),因?yàn)橹暗谋究茖W(xué)習(xí)階段,只了解了技術(shù)的廣度,對(duì)某些技術(shù)不是很深入,而現(xiàn)在我可能專注于找 Java相關(guān)工作,所以我需要繼續(xù)系統(tǒng)學(xué)習(xí) JavaEE 相關(guān)的內(nèi)容,所以后面就來到了發(fā)小的學(xué)校,和他一塊準(zhǔn)備通過校招來找工作。

圖片
在發(fā)小的宿舍進(jìn)行學(xué)習(xí)

在發(fā)小那邊大概呆了半個(gè)月,但是一直沒有等到他們學(xué)校校招的消息。這個(gè)時(shí)候因?yàn)榻?jīng)過半個(gè)月的學(xué)習(xí),基本上對(duì) Java 開發(fā)有一定的了解(現(xiàn)在想想,其實(shí)就是一些皮毛,只學(xué)了 JSPServlet ,做了兩個(gè) JSP 相關(guān)的項(xiàng)目,想想那會(huì)也是太年輕 ),所以就打算直接去深圳尋找公司實(shí)習(xí)。

因?yàn)槲沂悄戏饺耍胫院缶驮谏钲诠ぷ髁?,所以就先試著看能不能找到深圳的?shí)習(xí)先做著,但事與愿違,后面并沒有按照我理想的那樣來…

圖片
邊投簡(jiǎn)歷邊學(xué)習(xí)

找到落腳點(diǎn)后,就開始了工作的投遞,那會(huì)真是饑不擇食,只要寫的招收實(shí)習(xí)生的公司,基本上都投遞,但是也遇到了很多坑:要么面試一家就發(fā)現(xiàn)是培訓(xùn)機(jī)構(gòu),要求你先繳納培訓(xùn)費(fèi),實(shí)訓(xùn)完成后給你安排工作;要么就是職場(chǎng) PUA,首先給你特別難的面試題,來摧毀你的面試信心。最后再告訴你,即使不會(huì)這些也沒關(guān)系,有專業(yè)的項(xiàng)目經(jīng)理給你崗前實(shí)訓(xùn),有些說沒錢也沒關(guān)系,可以給你安排先培訓(xùn),就業(yè)后還款。

后面我就知道了,可以先通過 天眼查 先查公司的運(yùn)營范圍,如果這家公司運(yùn)營范圍包含了 技能培訓(xùn),或者計(jì)算機(jī)培訓(xùn),那么很大的概率就是培訓(xùn)機(jī)構(gòu)…

圖片
使用天眼查看公司運(yùn)營范圍

在深圳的半個(gè)月里,我陸陸續(xù)續(xù)參加了 10 場(chǎng)面試,其實(shí)有 8 家面試都是和培訓(xùn)機(jī)構(gòu)有關(guān)的,另外兩場(chǎng)是因?yàn)槟芰]有滿足人家的要求(那會(huì)只學(xué)了 JSP、連 Spring 相關(guān)的框架都沒了解過)。而且因?yàn)殡x南山區(qū)比較遠(yuǎn),那會(huì)也沒有通地鐵,基本上是坐車 2 小時(shí),面試 10 分鐘,那段時(shí)光也是最艱難的時(shí)光。不過我心態(tài)其實(shí)還挺好的,沒有找到工作,就當(dāng)去深圳玩了一陣子~。

圖片
在經(jīng)過騰訊大廈的時(shí)候拍攝的
圖片
在中山公園逛了一圈
圖片
去深圳大學(xué)逛了一圈,對(duì)面就是騰訊大廈
圖片
去了爬鳳凰山

這半個(gè)月的深圳找工作之旅,最后以失敗告終,想想可能還是自己能力太弱呢(現(xiàn)在想想,其實(shí)可能是選錯(cuò)了方式,因?yàn)槲易叩倪@條路屬于社招的道路,如果還沒有畢業(yè)的小伙伴,還是要多多關(guān)注一些校招平臺(tái),以及對(duì)應(yīng)的公眾號(hào):校招優(yōu)選、校招薪水等,或者直接通過官網(wǎng)投遞簡(jiǎn)歷),在后面的一段日子里,我開始繼續(xù)強(qiáng)化自己的 Java 技能,主要是跟著某馬的培訓(xùn)視頻進(jìn)行學(xué)習(xí)。

圖片
黑馬程序員的視頻

bilibili 某馬學(xué)習(xí)視頻:https://space.bilibili.com/441640380

bilibili 某谷學(xué)習(xí)視頻:https://space.bilibili.com/302417610

健步如飛

在經(jīng)過一段時(shí)間的強(qiáng)化學(xué)習(xí)后,本科的小伙伴邀請(qǐng)我去北京試試機(jī)會(huì),后面我又踏上了北上的道路,來到了北京,這個(gè)時(shí)候只想著能找個(gè)管飯的工作,哈哈..

圖片
深圳開往北京西的火車站

來到了北京,和之前的同學(xué)一塊去參加招聘,白天參加招聘,晚上就回來一塊互相總結(jié)經(jīng)驗(yàn)

圖片
去北京參加的招聘會(huì)現(xiàn)場(chǎng)

其中,中間還回學(xué)校參加了校園招聘,不過公司都不太合適,最后還是選擇在北京尋找實(shí)習(xí)機(jī)會(huì)。大概在北京面試了一個(gè)禮拜后,終于通過了一家公司的面試,最后也順利辦理了實(shí)習(xí)入職手續(xù),正式擁有了自己的工位。

圖片
第一天上班裝系統(tǒng)

即使那個(gè)時(shí)候?qū)?strong>習(xí)的工資并不高,但我也格外珍惜這來之不易的機(jī)會(huì)。所以在工作的時(shí)候,也很認(rèn)真地在學(xué)習(xí)。公司對(duì)于代碼這塊也有很多規(guī)范,每隔一段時(shí)間就需要進(jìn)行代碼的 review。自己首次提交的代碼,也都會(huì)經(jīng)過同事的一輪評(píng)審、二輪審核通過后,才能提交成功。

實(shí)習(xí)的幾個(gè)月里,我真正了解到了企業(yè)級(jí)項(xiàng)目是如何開發(fā)的,同時(shí)加深了Git、Maven、Spring、Mybatis 等框架的使用。雖然公司很小,核心開發(fā)人員只有 7 個(gè)人,但做事都很有規(guī)范,并且每隔兩天就會(huì)有一個(gè) 20 分鐘的短會(huì),介紹自己目前做了哪些工作,然后遇到了什么問題,未來將做什么?

如果有其它小伙伴遇到問題了,比如我開發(fā)某個(gè)模塊卡住了,那么其它小伙伴可以協(xié)助一塊進(jìn)行開發(fā),我也特別感謝另外兩個(gè)實(shí)習(xí)小伙伴,幫助我一塊解決項(xiàng)目中遇到的問題,尤其是前期在閱讀項(xiàng)目時(shí)所遇到的。

圖片
同事指出我寫的不規(guī)范的地方

關(guān)于每天的生活吃早餐的話,有的時(shí)候是在路上來吃的,有的時(shí)候會(huì)在公司邊上的麥當(dāng)勞

圖片
早上八點(diǎn)多麥當(dāng)勞的早餐:6元一份 漢堡+可樂

早上七點(diǎn),排隊(duì)進(jìn)地鐵站,有的時(shí)候人太多的話,可能需要排隊(duì)半個(gè)小時(shí)才能進(jìn)去(排隊(duì)長度超過了500米..)。所以在北京其實(shí)都不容易的,因?yàn)閷?shí)習(xí)工資比較低,那會(huì)住的都比較遠(yuǎn),去上班的話,可能都需要乘坐三種交通工具:公交車 ->地鐵 -> 單車,每天早上 7 點(diǎn)就要起床,路途花費(fèi)大概快 1 個(gè)半小時(shí)

圖片
太早起來,大家都還沒太睡醒

下面這里應(yīng)該是北京地鐵最堵的地方了,地鐵換乘的時(shí)候,也是人山人海

圖片
北京西二旗上班時(shí)的拍攝圖片

有的時(shí)候來早了,公司可能還沒開門,所以就在樓下坐著等待一會(huì),看看技術(shù)相關(guān)的文章

圖片
公司的樓下
圖片
公司樓下一角

卷土重來

后面畢業(yè)后,就在公司轉(zhuǎn)正了,雖然工資不高,不過那會(huì)兒想著應(yīng)屆生畢業(yè)之后能學(xué)到技術(shù)就好了。后面家里人打電話跟我說不要因?yàn)橐淮蔚目佳惺【头艞壛耍梢栽偃L試嘗試。我聽了他們的話,也沒有馬上同意或者拒絕,而是靜下心來考慮了一段時(shí)間。

在后面 9 月份的時(shí)候,堅(jiān)定考研二戰(zhàn)的想法,這個(gè)時(shí)候就想著在好好努力一下,讓自己的人生不留遺憾。所以就離職了,直接收拾東西,在 2017928 日,踏上了回家考研復(fù)習(xí)的征程…

圖片
北京西站準(zhǔn)備回家

回到家里后,我哥他們給我接風(fēng),一起去附近的景點(diǎn)玩一天,調(diào)整一下心態(tài)

圖片
景點(diǎn)一角
圖片
景點(diǎn)一角
圖片
景點(diǎn)一角

考研的時(shí)間是 1225 日,回到家后已經(jīng)是 101 日,距離考研還有 80 多天,因?yàn)橛辛酥暗慕?jīng)驗(yàn),所以這次的復(fù)習(xí)也更加有了針對(duì)性,比如數(shù)學(xué)就跟著張宇、英語跟著劉曉燕,政治跟著肖秀榮,死死咬住一個(gè)人。專業(yè)課因?yàn)橛型甑恼骖},所以就結(jié)合課本和真題進(jìn)行復(fù)習(xí)。下面是我考研時(shí)寫的每日計(jì)劃(請(qǐng)忽略我寫的這么丑的字,這種獨(dú)具一格的字,在政治這門估計(jì)是吃大虧了)。

圖片
考研報(bào)考界面
圖片
寫的每日目標(biāo)

然后開始刷題、背題….

圖片
狂背肖4-網(wǎng)圖

這個(gè)狀態(tài)一直持續(xù)到了考試結(jié)束。到后面成績(jī)公布,最后出分?jǐn)?shù)線了,我很走運(yùn)有機(jī)會(huì)進(jìn)入復(fù)試,所以后面就開始準(zhǔn)備復(fù)試相關(guān)的了,因?yàn)橹皡⒓舆^實(shí)習(xí)和工作,所以就先把自己的簡(jiǎn)歷好好寫寫,把握好自己的優(yōu)勢(shì)。最后隨著復(fù)試結(jié)果的公布,成功被如今的學(xué)校錄取,最終考研一事塵埃落定。

新的旅途

在考研已經(jīng)確定被錄取后,那個(gè)時(shí)候是在 4 月份,而研究生入學(xué)是在 9 月份,這個(gè)時(shí)候有大概 5 個(gè)月的空窗期,如果是應(yīng)屆生的話,可能還需要回學(xué)校寫畢業(yè)論文,而我屬于往屆生是沒有這些操作的。因此,我又萌生出去打工的想法,找一份工作先做著,等到開學(xué)的時(shí)候在去入學(xué)。

所以后面很快又來到了北京,開始尋找第二份工作,有了之前的經(jīng)歷,后面找工作就輕松了許多,面試了 10 天,最后拿了 3 家公司的 Offer ,最終選擇了一家比較近的。

在第二家公司,主要做的是小程序相關(guān)的業(yè)務(wù),主要由我和另外一個(gè)小伙伴負(fù)責(zé),但是技術(shù)經(jīng)理考慮到擴(kuò)展性和后期的維護(hù),要求我們使用SpringBoot + Vue + 微信小程序 來做,因?yàn)槲抑皩?shí)習(xí)的時(shí)候用的是 Spring,對(duì)于這一塊比較新的技術(shù)還不是特別了解,所以后面就特意花了一段時(shí)間來學(xué)習(xí)。

  • SpringBoot:來源于 bilibili 某谷的視頻 :https://www.bilibili.com/video/BV1Et411Y7tQ

  • Vue:主要是根據(jù)Vue官方文檔來學(xué)習(xí)的,因?yàn)橹形奈臋n比較友好:https://cn.

  • ElementUiVue 的框架,也是直接看文檔:https://element.

  • 微信小程序:因?yàn)橹爱呍O(shè)是用微信小程序做的,所以還算有點(diǎn)熟悉

項(xiàng)目經(jīng)理把項(xiàng)目架構(gòu)的搭建到業(yè)務(wù)編碼開發(fā),以及最后運(yùn)維部署都交給了我們兩個(gè)人,我們兩個(gè)也是互相協(xié)同開發(fā),來這四個(gè)月里,做到了從 0 ~ 1 完成整條開發(fā)流水線的工作。

在新的工作中,沒有了之前的迷茫,在做需求的時(shí)候,也懂得了如何將需求切分,更好的去完成每一項(xiàng)開發(fā)功能

圖片
用工資給自己換了一臺(tái)新電腦和鍵盤
圖片
用工資,給自己買了一臺(tái)平板娛樂

在北京的這幾個(gè)月里也經(jīng)歷了很多,比如暴雨天的北京

圖片
暴雨天孤獨(dú)無援的小哥
圖片
攤著水上班的我
圖片
和小伙伴在寢室一塊改善伙食
圖片
在北京生日 小伙伴們送上蛋糕祝福
圖片
和寢室小伙伴一起組裝電腦

四個(gè)月的時(shí)光,很快就過去了…..,又到了離開的時(shí)候,踏上旅途,開始去讀研了,這次的離開,可能以后都很少有機(jī)會(huì)再回去了..

圖片
離開時(shí)的北京西站

步履矯健

在進(jìn)入研究生階段后,我首先明確了自己的目標(biāo),比如:讀博 or 就業(yè) ?我的選擇是畢業(yè)后直接就業(yè),因?yàn)橹敖?jīng)歷了社招的痛苦,所以現(xiàn)在格外珍惜自己以后的校招機(jī)會(huì)。

入學(xué)后的第一天我就給自己定下目標(biāo),能堅(jiān)持做一款開源軟件,用來記錄自己學(xué)習(xí)中遇到的問題,最后經(jīng)過敲定,決定還是以 蘑菇博客 為名。

圖片
蘑菇博客的第一次代碼提交

蘑菇博客 項(xiàng)目最開始由我一個(gè)人開發(fā),中間陸陸續(xù)續(xù)有一兩個(gè)小伙伴參與其中,開發(fā)了一部分模塊,我也想著能盡可能把更多的技術(shù)融合進(jìn)來,畢竟通過自己手把手的操作一遍,也能夠算是入門了。

我也很慶幸我成功將自己的項(xiàng)目開源出來了,并且堅(jiān)持下來,蘑菇博客起源是 20189 月,很感謝之前在公司里的同事和領(lǐng)導(dǎo),是他們帶我入門企業(yè)級(jí)的項(xiàng)目開發(fā),讓我養(yǎng)成了很多 Java 項(xiàng)目開發(fā)的規(guī)范,但是到真正在自己手把手搭建一個(gè)項(xiàng)目的時(shí)候,還是有很多的意外情況。

起初項(xiàng)目開源在碼云上,沒有多少人關(guān)注,在20191214日,蘑菇博客被碼云推薦了,后面陸續(xù)有一些小伙伴關(guān)注了項(xiàng)目,并且參與到開發(fā)中,也提供了很多 issue ,在這里我也學(xué)習(xí)到了很多規(guī)范和功能的實(shí)現(xiàn)。

圖片
蘑菇博客上首頁了

蘑菇博客Gitee地址:https:///moxi159753/mogu_blog_v2

然后項(xiàng)目的關(guān)注度就開始上升了,有些小伙伴就開始關(guān)注,所以我也花費(fèi)了一些時(shí)間,整理了博客的開發(fā)、運(yùn)行、部署的文檔,希望每個(gè)小伙伴都能夠通過本項(xiàng)目一起學(xué)習(xí)、。

因?yàn)楦卤容^勤快,項(xiàng)目也在碼云 '博客' 關(guān)鍵字搜索的第一個(gè),不過未來要走得路還很長,我也希望能夠認(rèn)識(shí)更多志同道合的小伙伴,然后一起學(xué)習(xí)和交流。

圖片
搜索博客

2020728日,蘑菇博客成功達(dá)到1000 Star,也完成了我之前定下的一個(gè)小目標(biāo),這也是一個(gè)新的起點(diǎn),后面我還需要更加努力。

圖片
蘑菇博客項(xiàng)目

202097號(hào)收到了碼云郵寄過來的Gitee 1000 Star獎(jiǎng)杯~

圖片
蘑菇博客1000Star獎(jiǎng)杯

20201216日,到目前為止,蘑菇博客已經(jīng)2K Star

圖片
我的Gitee首頁

并且后面開源的 LearningNotes項(xiàng)目 (學(xué)習(xí)筆記,記錄平時(shí)的博客),也已經(jīng)收獲了 1.5K Star

圖片
學(xué)習(xí)筆記1000Star獎(jiǎng)杯

學(xué)習(xí)筆記Gitee地址:https:///moxi159753/LearningNotes

關(guān)于博客

蘑菇博客( MoguBlog ),一個(gè)基于微服務(wù)架構(gòu)的前后端分離博客系統(tǒng)。Web端使用 Vue + Element , 移動(dòng)端使用UniappColorUI 。后端使用 Spring Cloud + Spring boot + Mybatis-plus 進(jìn)行開發(fā),使用 Jwt + Spring Security 做登錄驗(yàn)證和權(quán)限校驗(yàn),使用 ElasticSearchSolr 作為全文檢索服務(wù),使用 Github Actions 完成博客的持續(xù)集成,使用ELK收集博客日志,文件支持上傳 七牛云Minio。

歡迎大家能 Star 支持一下下哦,同時(shí)也可以參與到蘑菇博客的開源貢獻(xiàn)中,如果想要體驗(yàn)完整的內(nèi)容,歡迎關(guān)注Gitee中的演示環(huán)境,直接登錄進(jìn)行體驗(yàn)~

蘑菇博客Gitee地址:https:///moxi159753/mogu_blog_v2

蘑菇博客Github地址:https://github.com/moxi624/mogu_blog_v2

摘要

蘑菇博客( MoguBlog ),一個(gè)基于微服務(wù)架構(gòu)的前后端分離博客系統(tǒng)。Web端使用 Vue + Element , 移動(dòng)端使用UniappColorUI 。后端使用 Spring Cloud + Spring boot + Mybatis-plus 進(jìn)行開發(fā),使用 Jwt + Spring Security 做登錄驗(yàn)證和權(quán)限校驗(yàn),使用 ElasticSearchSolr 作為全文檢索服務(wù),使用 Github Actions 完成博客的持續(xù)集成,使用ELK收集博客日志,文件支持上傳 七牛云Minio

項(xiàng)目起源

蘑菇博客大部分功能是我個(gè)人進(jìn)行開發(fā)的,因能力有限,其中很多技術(shù)都是一邊學(xué)習(xí)一邊使用的,可以說蘑菇博客也是一個(gè)我用來熟悉技術(shù)的項(xiàng)目,所以很多地方可能考慮不周,故有能改正的地方,還請(qǐng)各位老哥能夠指出~

現(xiàn)在挺多是 SSM 或者 SSH 的博客管理系統(tǒng),想用 Spring boot + Spring Cloud + Vue 的微服務(wù)架構(gòu)進(jìn)行嘗試項(xiàng)目的構(gòu)建,里面很多功能可能只是為了滿足自己的學(xué)習(xí)需求而引入的,大家可以根據(jù)自己服務(wù)器配置來選擇啟動(dòng)的服務(wù),因此本博客也是一個(gè)非常好的 SpringBoot 、SpringCloud 以及 Vue 技術(shù)的入門學(xué)習(xí)項(xiàng)目。

原來做過 Vue + Element-Ui 做過管理系統(tǒng),所以現(xiàn)在打算做一套自己的、基于當(dāng)前最新技術(shù)棧、前后端分離的微服務(wù)博客系統(tǒng)。

項(xiàng)目特點(diǎn)

  • 友好的代碼結(jié)構(gòu)及注釋,便于閱讀及二次開發(fā)

  • 實(shí)現(xiàn)前后端分離,通過 Json 進(jìn)行數(shù)據(jù)交互,前端再也不用關(guān)注后端技術(shù)

  • 頁面交互使用 Vue2.x,極大的提高了開發(fā)效率。

  • 引入Swagger 文檔支持,方便編寫API接口文檔。

  • 引入 RabbitMQ 消息隊(duì)列,用于郵件發(fā)送、更新 RedisSolrElasticSearch

  • 引入 JustAuth 第三方登錄開源庫,支持 Gitee、Github 賬號(hào)登錄。

  • 引入ElasticSearchSolr 作為全文檢索服務(wù),并支持可插拔配置

  • 引入Github Actions 工作流,完成蘑菇博客的持續(xù)集成、持續(xù)部署。

  • 引入 七牛云Minio 對(duì)象存儲(chǔ),同時(shí)支持本地文件存儲(chǔ)

  • 引入RBAC 權(quán)限管理設(shè)計(jì),靈活的權(quán)限控制,按鈕級(jí)別的細(xì)粒度權(quán)限控制,滿足絕大部分的權(quán)限需求

  • 引入 Zipkin 鏈路追蹤,聚合各業(yè)務(wù)系統(tǒng)調(diào)用延遲數(shù)據(jù),可以一眼看出延遲高的服務(wù)

  • 采用自定義參數(shù)校驗(yàn)注解,輕松實(shí)現(xiàn)后端參數(shù)校驗(yàn)

  • 采用 AOP + 自定義注解 + Redis 實(shí)現(xiàn)限制IP接口訪問次數(shù)

  • 采用自研的評(píng)論模塊,實(shí)現(xiàn)評(píng)論郵件通知

  • 采用 Nacos 作為服務(wù)發(fā)現(xiàn)和配置中心,輕松完成項(xiàng)目的配置的維護(hù)

  • 采用 Sentinel 流量控制框架,通過配置輕松實(shí)現(xiàn)網(wǎng)站限流

  • 采用 uniappColorUi 完成蘑菇博客的移動(dòng)端門戶頁面搭建

  • 支持多種文本編輯器,Markdown 編輯器(Vditor)和富文本編輯器(CKEditor)隨心切換

  • 采用 ElasticStack【ElasticSearch+Beats+Kibana+Logstash】搭建蘑菇博客日志收集

  • 采用 Docker Compose 完成容器編排,Portainer 實(shí)現(xiàn)容器可視化,支持一鍵部署線上環(huán)境

后端技術(shù)

技術(shù)說明
SpringBootMVC框
SpringCloud微服務(wù)框架
SpringSecurity認(rèn)證和授權(quán)框架
MyBatis-PlusORM框架
Swagger-UI文檔生產(chǎn)工具
Kibana分析和可視化平臺(tái)
Elasticsearch搜索引擎
Beats輕量型數(shù)據(jù)采集器
Logstash用于接收Beats的數(shù)據(jù)并處理
Solr搜索引擎
RabbitMQ消息隊(duì)列
Redis分布式緩存
Docker容器化部署
Druid數(shù)據(jù)庫連接池
七牛云七牛云 - 對(duì)象儲(chǔ)存
JWTJWT登錄支持
SLF4J日志框架
Lombok簡(jiǎn)化對(duì)象封裝工具
NginxHTTP和反向代理web服務(wù)器
JustAuth第三方登錄的工具
HutoolJava工具包類庫
阿里大于短信發(fā)送平臺(tái)
Github Actions自動(dòng)化部署
Zipkin鏈路追蹤
Flexmark-javaMarkdown轉(zhuǎn)換Html
Ip2region離線IP地址定位庫
Minio本地對(duì)象存儲(chǔ)服務(wù)
Docker ComposeDocker容器編排
PortainerDocker可視化管理

前端技術(shù)

技術(shù)說明
Vue.js前端框架
Vue-router路由框架
Vuex全局狀態(tài)管理框架
Nuxt.js創(chuàng)建服務(wù)端渲染 (SSR) 應(yīng)用
Element前端ui框架
Axios前端HTTP框架
Echarts圖表框架
CKEditor富文本編輯器
Highlight.js代碼語法高亮插件
VditorMarkdown編輯器
vue-cropper圖片裁剪組件
vue-image-crop-uploadvue圖片剪裁上傳組件
vue-emoji-commentVue Emoji表情評(píng)論組件
clipboard.js現(xiàn)代化的拷貝文字
js-beautify美化JavaScript代碼
FileSaver.js保存文件在客戶端
SortableJS功能強(qiáng)大的JavaScript 拖拽庫
vue-side-catalog目錄導(dǎo)航欄
uniapp移動(dòng)端跨平臺(tái)語言
colorUi專注視覺的小程序組件庫
showdown用Javascript編寫的Markdown 到Html轉(zhuǎn)換器
turndown用JavaScript編寫的HTML到Markdown轉(zhuǎn)換器

項(xiàng)目架構(gòu)圖

圖片
項(xiàng)目架構(gòu)圖

部分截圖

此處只是列舉了部分截圖,如果想要體驗(yàn)完整的內(nèi)容,歡迎關(guān)注Gitee中的演示環(huán)境,直接登錄進(jìn)行體驗(yàn)~

圖片
門戶頁面
圖片
關(guān)于我
圖片
歸檔頁面
圖片
后臺(tái)儀表盤
圖片
博客管理
圖片
編輯文章

關(guān)于開源

從開源的過程中,不僅自己的能力能得到提升,同時(shí)也能認(rèn)識(shí)非常多志同相合的小伙伴,包括在群里的小伙伴們,也有一些一塊參與到項(xiàng)目的維護(hù)和開發(fā)中,也有一些給我們提供 issueidea ,同時(shí)能夠和一些參加多年工作經(jīng)驗(yàn)的老哥交流,也是受益匪淺的。

通過開源,我也獲得了很多工作機(jī)會(huì)。就本次秋招來講,其實(shí)很多面試官對(duì)我做的開源項(xiàng)目比較感興趣,所以面試上其實(shí)很多時(shí)間都在聊這個(gè)開源項(xiàng)目。同時(shí),我也收到過獵頭通過 Github 上的郵箱給我發(fā)的郵件,期望我去參加他們推薦的工作 ( 哈哈哈,后面因?yàn)橹牢疫€沒有畢業(yè)的事情,就放棄了,因?yàn)樗麄冋械氖?年工作經(jīng)驗(yàn)的。就因?yàn)檫@個(gè)原因錯(cuò)過了阿里P6-P7的崗位了,簡(jiǎn)直太虧了啊)

圖片
圖片

舉目遠(yuǎn)望

研究生的生涯,基本上在看論文、做實(shí)驗(yàn)、寫博客中度過…,2020 年因?yàn)橐咔榈脑?,整個(gè)寒假都是在家里度過的,直到 20205 月份才開學(xué)。在2月份的時(shí)候,我就聽到有的小伙伴在準(zhǔn)備尋找實(shí)習(xí)了,后面我想了想,正式的秋招大約是在8月份左右,有些公司如果有提前批的話,可能從6月底就開始了(今年字節(jié)跳動(dòng)6月底就開始提前批)。所以從2月到7月,有5個(gè)月的時(shí)間進(jìn)行學(xué)習(xí),在加上疫情原因,無法正常返校,所以就剛剛好可以開始為面試而學(xué)習(xí)的階段。

首先明確自己需要找哪方面的工作,因?yàn)槲移綍r(shí)都是學(xué)習(xí) Java 相關(guān)的,所以以后打算找后端開發(fā),因此我的投遞的崗位基本上都是頂著后臺(tái)崗位的要求來的,加上我之前編程技術(shù)也算可以,所以就沒有從頭開始學(xué)習(xí) Java,而是主要關(guān)注于java進(jìn)階方面的內(nèi)容。

如果想了解基礎(chǔ)的學(xué)習(xí)路線圖,可以看下面這篇文章:

https://mp.weixin.qq.com/s/VXH19dQRkNtPbzDMVXwsPQ

因?yàn)槲叶际瞧蛴趶囊曨l中獲取知識(shí),雖然有的時(shí)候比較慢,但是這個(gè)可能會(huì)幫助我更快的理解其中的內(nèi)容,因此,后面的一些推薦,基本上是以視頻為主,如果基礎(chǔ)較好的,可以直接2倍速刷視頻,等待視頻學(xué)完,時(shí)間還充裕的話,可以結(jié)合書本進(jìn)行

JUC

JUC 進(jìn)階 Java 相關(guān)的基礎(chǔ)內(nèi)容,因?yàn)槲抑耙恢倍甲?Java 開發(fā)這塊,所以對(duì)于 JavaSE 方面的還是比較熟悉,首先學(xué)習(xí)的就是Java并發(fā)包,以及一些大廠常見的面試題。

來源Bilibili XX谷周陽老師學(xué)習(xí)視頻:https://www.bilibili.com/video/BV15J4112785

主要包括Volatile、CAS、JAVA鎖、阻塞隊(duì)列、線程池 等…

筆記地址:https:///moxi159753/LearningNotes

圖片
大廠面試第二季學(xué)習(xí)筆記

JVM

在學(xué)習(xí)完并發(fā)包后,接著就是JVM相關(guān)的知識(shí)了,這是面試的高頻點(diǎn)

來源Bilibili XX谷宋紅康老師JVM教程:https://www.bilibili.com/video/BV1PJ411n7xZ

主要包括:JVM每個(gè)組成部分的作用,垃圾回收算法 和 垃圾回收器

筆記地址:https:///moxi159753/LearningNotes/tree/master/JVM

圖片
JVM學(xué)習(xí)筆記

Java8新特性

有些可能會(huì)問你關(guān)于 Java8 的新特性,為啥是 Java8 呢?因?yàn)閺?Java8 以后的版本就是收費(fèi)版本了,因此基本上企業(yè)的最新版都是基于 Java8 來的。

來源Bilibili XX谷李賀飛老師學(xué)習(xí)視頻:

https://www.bilibili.com/video/BV1ut411g7E9

主要包括:HashMap變化、Lambda表達(dá)式、Stream流等,筆記地址:

https:///moxi159753/LearningNotes

圖片
Java8新特性

SpringCloud

在復(fù)習(xí)完 Java 進(jìn)階的知識(shí)后,下面就需要進(jìn)入到框架的復(fù)習(xí)了,因?yàn)槲沂褂玫氖俏⒎?wù)框架 SpringCloud來開發(fā)的蘑菇博客,所以在面試的時(shí)候,肯定會(huì)問到微服務(wù)框架相關(guān)的知識(shí),而且不可能只是停留在簡(jiǎn)單的使用,更多的是需要了解其原理。因此,我又系統(tǒng)性的學(xué)習(xí)了一下SpringCloud,以及最新版的SpringCloudAlibaba(以后蘑菇博客就是基于Alibaba版本做遷移的)

來源Bilibili XX谷周陽老師學(xué)習(xí)視頻:

https://www.bilibili.com/video/BV18E411x7eT

主要包括:SpringCloud全家桶組件,服務(wù)發(fā)現(xiàn)和注冊(cè)、負(fù)載均衡、服務(wù)降級(jí)和限流、服務(wù)網(wǎng)關(guān)和配置中心,筆記地址:

https:///moxi159753/LearningNotes/tree/master/SpringCloud/SpringCloud2020

圖片
SpringCloud學(xué)習(xí)筆記

其實(shí)這部分也可以選擇性的看,因?yàn)槲覀€(gè)人是打算從中學(xué)習(xí)到編碼的知識(shí),而不是說知識(shí)背面試題。這篇教程其實(shí)我覺得是非常不錯(cuò)的,它基本上把概念 和 代碼 都講的很清楚,學(xué)習(xí)完成后,基本上能夠?qū)pringCloud相關(guān)的問題都能回答出來~。

中間件

中間件的學(xué)習(xí),主要就包括 MQ(消息隊(duì)列)、Redis、MySQL 等,這個(gè)如果只想使用的話,其實(shí)挺簡(jiǎn)單的,調(diào)用一下對(duì)應(yīng)的API就行,但是這里面的原理其實(shí)很多。這里我是跟著視頻進(jìn)行學(xué)習(xí),授課老師通過講解實(shí)際案例,非常的通俗易懂。

來源Bilibili學(xué)習(xí)視頻:

https://www.bilibili.com/video/BV1UJ411X7M1

面試掃盲,基本上關(guān)于中間件以及在服務(wù)開發(fā)中遇到的疑難問題都有講解到(學(xué)習(xí)到了很多知識(shí))

圖片
面試突學(xué)習(xí)筆記

算法學(xué)習(xí)

關(guān)于算法這塊,其實(shí)那在秋招的時(shí)候就是準(zhǔn)備不太充足,所以在最后就吃虧了,因?yàn)楝F(xiàn)在的面試,基本上都會(huì)重點(diǎn)考察你的算法功底,像字節(jié)跳動(dòng)的面試,每一面基本上都會(huì)考察。其它的包括 騰訊、阿里都是有的,所以如果你打算沖擊大廠,一定要好好的準(zhǔn)備算法的知識(shí)

首先我推薦的就是劍指Offer,里面都是一些經(jīng)典的題型大概67題(如果小伙伴時(shí)間緊迫,那就先把這個(gè)刷完。我當(dāng)初就是因?yàn)檩p視了算法,所以導(dǎo)致有些題不能很快給出面試官滿意的答案..,需要后面的小伙伴不要和我一樣犯同樣的錯(cuò)誤)

Bilibili視頻學(xué)習(xí)解題思路(Python版本):

https://www.bilibili.com/video/BV1K4411o7KP

牛客網(wǎng)劍指offer專題:

https://www./ta/coding-interviews

圖片
劍指Offer學(xué)習(xí)筆記

同時(shí),如果劍指Offer的算法題刷完的話,那就可以繼續(xù)去 LeetCode 上刷題了。LeetCode 上刷題的話,也是要有針對(duì)性,比如,你可以優(yōu)先選擇熱門的題目

leetcode: https:///problemset/all

圖片
LeetCode熱門題目

如果時(shí)間允許的話,當(dāng)然可以采用題海戰(zhàn)術(shù),把Leetcode的中等題目都進(jìn)行掃盲式的學(xué)習(xí)。

如果時(shí)間不允許的話,那就需要站在別人的肩膀上學(xué)習(xí)了,比如可以合理的使用 ??途W(wǎng)搜索,根據(jù)前面人面試總結(jié)出的高頻題,來進(jìn)行突擊性的訓(xùn)練(臨時(shí)抱佛腳…)

以字節(jié)跳動(dòng)為例:搜索 字節(jié)跳動(dòng) 高頻

圖片
高頻題搜索

看到會(huì)有人總結(jié)出來,其它小伙伴在面試時(shí)候遇到的原題,而且這些題目會(huì)反復(fù)的出現(xiàn),大家如果就打算沖某些大廠的話,就需要把他們都了解一遍

圖片
收集的高頻題

通過別人匯總的,就發(fā)現(xiàn)了有幾題在我之前面試的時(shí)候就出現(xiàn)過…..(不過我面試的早,成功當(dāng)了炮灰,如果是后面面試的小伙伴,一定要站在前人的肩膀上進(jìn)行學(xué)習(xí))

計(jì)算機(jī)基礎(chǔ)課程

前面講的都是關(guān)于Java方面的,但是并不是說計(jì)算機(jī)基礎(chǔ)(數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)、計(jì)算機(jī)網(wǎng)絡(luò)、數(shù)據(jù)庫),就可以放下警惕了,其實(shí)他們同樣也是高頻的考點(diǎn),非常的重要。

當(dāng)然如果你有比較豐富的項(xiàng)目經(jīng)驗(yàn)的話,有些面試可能就會(huì)比較弱化計(jì)算機(jī)基礎(chǔ)知識(shí),更多的挖掘你簡(jiǎn)歷中使用的技術(shù),字節(jié)跳動(dòng)的面試很多面試問題就是結(jié)合我簡(jiǎn)歷上寫的項(xiàng)目來展開的。不過最后也會(huì)問到一些基礎(chǔ)的知識(shí),看看你的掌握情況。

比如計(jì)算機(jī)網(wǎng)絡(luò):HTTPSHTTP、TCPUDP 相關(guān)知識(shí)點(diǎn),同時(shí)隨著面試的內(nèi)卷化,難度也會(huì)不斷加深,關(guān)于三次握手和四次揮手,要求你能描述每次狀態(tài)碼的變化,可能還會(huì)問 為什么TCP連接是三次握手,而不是兩次;為什么是四次揮手而不是三次.. 等等一系列的連環(huán)套路。

計(jì)算機(jī)網(wǎng)絡(luò),主要就是跟著Bilibili韓立剛老師的視頻教程和謝希仁老師的計(jì)算機(jī)網(wǎng)絡(luò)書籍。

圖片
謝希仁 計(jì)算機(jī)網(wǎng)絡(luò)

Bilibili韓立剛老師的視頻教程:

https://www.bilibili.com/video/BV1WK4y1f71A

關(guān)于操作系統(tǒng),我之前都是根據(jù)博客來進(jìn)行學(xué)習(xí)的,比如看一些:線程和進(jìn)程的區(qū)別,以及如何通信,然后死鎖相關(guān)、銀行家算法、虛擬內(nèi)存、磁盤調(diào)度等

如果時(shí)間充裕,還是推薦進(jìn)行系統(tǒng)的學(xué)習(xí)一下,小伙伴推薦的操作系統(tǒng)課程,B站第一中文操作系統(tǒng)當(dāng)之無愧~

操作系統(tǒng)(哈工大李治軍老師) :

https://www.bilibili.com/video/BV1d4411v7u7

問到數(shù)據(jù)庫的話,可能會(huì)叫你寫SQL語句,或者講述一下MySQL的索引,然后就能講到B樹 、B+樹、聚簇索引和非聚簇索引、MySQL索引優(yōu)化,分析某條SQL語句走了那些索引(explain)、MySQL行鎖和表鎖 等。

如果是項(xiàng)目做的比較多的話,可能還會(huì)問你數(shù)據(jù)庫的分庫分表操作,或者MySQL的主從復(fù)制。

同時(shí)關(guān)于數(shù)據(jù)庫,可能還會(huì)問到你緩存相關(guān),比如Redis。從Redis就能延伸出很多知識(shí)點(diǎn)了,Redis底層數(shù)據(jù)結(jié)構(gòu)、跳躍表的實(shí)現(xiàn)、Redis的持久化策略AOF和RDBRedis的緩存穿透、緩存雪崩、Redis的主從復(fù)制原理 和 Redis的哨兵原理,同時(shí)像Redis的一致性Hash問題都有可能問到。

同時(shí)可能還會(huì)結(jié)合項(xiàng)目來問,比如問你項(xiàng)目中,高并發(fā)環(huán)境下,先操作數(shù)據(jù)庫還是先刪除緩存?或者在Redis主備切換時(shí)的數(shù)據(jù)丟失問題,異步復(fù)制和集群腦裂等等。

上次字節(jié)跳動(dòng)的時(shí)候,就從Redis問到了過期策略,最后叫我講解一下LRU算法,并要求我能手動(dòng)實(shí)現(xiàn)。

某谷MySQL數(shù)據(jù)庫高級(jí):https://www.bilibili.com/video/BV1KW411u7vy

某谷超經(jīng)典Redis教程:https://www.bilibili.com/video/BV1oW411u75R

Linux 也會(huì)經(jīng)常在面試中提到,同時(shí)在項(xiàng)目部署也會(huì)用到,比如蘑菇博客其實(shí)就是部署在 CentOS 下的。因此,在面試的時(shí)候,也會(huì)根據(jù)你的簡(jiǎn)歷情況,而采取不同的面試方式。例如,我簡(jiǎn)歷上寫著:熟悉 Linux 、Docker,能使用 XShell ,Xftp 等工具進(jìn)行線上項(xiàng)目部署和調(diào)試。那么面試的時(shí)候,面試官可能就會(huì)比較側(cè)重于實(shí)踐方面的,比如:生產(chǎn)環(huán)境服務(wù)器變慢,知道如何排查么?

關(guān)于 Linux 在面試這塊,主要被問到 Linux下的一些指令,例如:如何查看日志,查看端口,查看系統(tǒng)負(fù)載情況,個(gè)人的話,如果想要系統(tǒng)的學(xué)習(xí)Linux,推薦閱讀:鳥哥的Linux私房菜,這本書我是購買過的。

圖片
鳥哥的Linux私房菜

鳥哥的Linux私房菜(在線):http://cn.linux./

收獲果實(shí)

我整個(gè)秋招其實(shí)只面試了三家公司:字節(jié)跳動(dòng)、京東、滴滴出行

  • 字節(jié)跳動(dòng):三天走完面試流程,最后拿了Offer

  • 京東:兩輪技術(shù)面通過,HR面掛 (這個(gè)掛的莫名其妙,感覺被KPI了..)

  • 滴滴出行:一天完成三輪技術(shù)面試,最后拿到意向書。

20202月份開始為秋招而準(zhǔn)備,到我們學(xué)校開學(xué)后,大概在620號(hào)左右,就開始準(zhǔn)備投遞簡(jiǎn)歷了(在這里我特別建議小伙伴們把握好提前批,因?yàn)橛行┕镜奶崆芭侵苯用夤P試的)。

字節(jié)跳動(dòng)是我面試的第一家公司。當(dāng)初面試字節(jié)很大的原因還是我的本科小伙伴找他同學(xué)幫我內(nèi)推的,在這里特別感謝堯堯和大壯。因?yàn)樽止?jié)跳動(dòng)的提前批開啟的比較早,本來抱著試一試的態(tài)度,沒想到竟然一下就拿了Offer。

圖片
小伙伴幫我咨詢內(nèi)推情況

在等待一段時(shí)間后,收到了字節(jié)跳動(dòng) Data 廣告部門面試的通知。

圖片
面試邀約

不得不說,字節(jié)跳動(dòng)的效率還是非常的快,很快就完成了流程:6月28日:第一面 + 第二面;6月30日:第三面 + HR面;7月7日:意向書。

圖片
面試通過發(fā)放意向書

下面是我的一些面試總結(jié),發(fā)布在我的蘑菇博客上,感興趣的小伙伴可以去看看

字節(jié)跳動(dòng)后端面經(jīng):http://www./#/info?blogOid=184

京東零售后端面經(jīng):http://www./#/info?blogOid=26

滴滴出行后端面經(jīng):http://www./#/info?blogOid=143

其實(shí)在拿到字節(jié)跳動(dòng)的Offer后,就準(zhǔn)備躺平了,因?yàn)樽止?jié)也是之前一直心心念念的公司,這也算了卻了一樁心愿。不過,如果想沖擊更高的薪資的話,那么我建議你可以多面幾家,因?yàn)檫@樣在面對(duì)公司給予的薪資,才有可以商量的余地。

結(jié)語

最后我覺得我能夠通過字節(jié)跳動(dòng)和滴滴出行的面試,其實(shí)很大程度上也得益于我做的開源博客系統(tǒng)。

Talk is cheap. Show me the code

在我和面試官之間,還不是和了解的時(shí)候,那么像 Github 或者 Gitee 的主頁就很有說服力。在面試字節(jié)的一面的時(shí)候,面試官全程就在和我聊項(xiàng)目,同時(shí)后面的面試也在深挖項(xiàng)目細(xì)節(jié)。

面試滴滴出行的時(shí)候,面試官直接打開我的筆記倉庫,然后從里面選出幾篇博客,來和我一起探討,最后面試完后,滴滴面試官覺得這是一件非常有意義的事情,希望我能夠堅(jiān)持下去。

所以我覺得,如果你和我一樣,本科出生不好,研究生也讀了一個(gè)雙非的學(xué)校。那么我們就更需要趁早準(zhǔn)備,學(xué)歷不行,那么就靠能力吃飯。好在就互聯(lián)網(wǎng)公司而言,其實(shí)不是特別看重學(xué)歷,只要你擁有本科學(xué)歷,然后擁有比較強(qiáng)的能力的話,都可以吃上互聯(lián)網(wǎng)這碗飯。

但是既然選擇了從事IT開發(fā) ,那么我們就需要時(shí)刻有危機(jī)意識(shí)。也就是在要求我們需要終生學(xué)習(xí),不斷的去學(xué)習(xí)和挑戰(zhàn)新的難題。就拿Java開發(fā)來說,你可能學(xué)習(xí)了SpringBoot+MySQL就可以開發(fā)了,但是我們不能僅僅滿足于此,我們還需要去嘗試著去了解微服務(wù)相關(guān)的知識(shí)。

在我們業(yè)務(wù)只用MySQL的時(shí)候,我們可以去學(xué)習(xí)Redis、Memcached相關(guān)的知識(shí),只有這樣我們才能不斷保持自己的核心競(jìng)爭(zhēng)力,讓自己立于不敗之地,只有這樣我們才能夠去沖擊高薪,而不是等到 35 歲就被優(yōu)化。我們要知道,五年工作經(jīng)驗(yàn)不等于 一年工作經(jīng)驗(yàn)用五年,而是在這五年的時(shí)光里,不斷的去學(xué)習(xí)新的知識(shí),去解決各種問題,最后積累出來的經(jīng)驗(yàn)。

最后,如果你和我一樣出身不好,家里也沒有礦,并且決心從事軟件開發(fā),那么我希望你能夠和我一起,投入時(shí)間,投入精力去學(xué)習(xí),現(xiàn)在多流汗,回頭多拿錢!

參考

基礎(chǔ)學(xué)習(xí)路線圖

https://mp.weixin.qq.com/s/VXH19dQRkNtPbzDMVXwsPQ

開源蘑菇博客

https:///moxi159753/mogu_blog_v2

開源學(xué)習(xí)筆記

https:///moxi159753/LearningNotes

bilibili X馬學(xué)習(xí)視頻

https://space.bilibili.com/441640380

bilibili XX谷學(xué)習(xí)視頻

https://space.bilibili.com/302417610

bilibili SpringBoot視頻

https://www.bilibili.com/video/BV1Et411Y7tQ

Vue文檔

https://cn.

ElementUI文檔

https://element.

周陽老師大廠面試第二季

https://www.bilibili.com/video/BV15J4112785

宋紅康老師JVM教程

https://www.bilibili.com/video/BV1PJ411n7xZ

周陽老師SpringCloud2020

https://www.bilibili.com/video/BV18E411x7eT

Java面試突擊

https://www.bilibili.com/video/BV1UJ411X7M1

劍指Offer學(xué)習(xí)視頻

https://www.bilibili.com/video/BV1K4411o7KP

韓立剛老師的計(jì)算機(jī)網(wǎng)絡(luò)

https://www.bilibili.com/video/BV1WK4y1f71A

哈工大李治老師操作系統(tǒng)

https://www.bilibili.com/video/BV1d4411v7u7

MySQL數(shù)據(jù)庫高級(jí)

https://www.bilibili.com/video/BV1KW411u7vy

超經(jīng)典Redis教程

https://www.bilibili.com/video/BV1oW411u75R

鳥哥的Linux私房菜(在線)

http://cn.linux./

陌溪是一個(gè)從三本院校一路摸滾翻爬上來的互聯(lián)網(wǎng)大廠程序員。獨(dú)立做過幾個(gè)開源項(xiàng)目,其中蘑菇博客在碼云上有 2K Star 。目前就職于字節(jié)跳動(dòng)的Data廣告部門,是字節(jié)跳動(dòng)全線產(chǎn)品的商業(yè)變現(xiàn)研發(fā)團(tuán)隊(duì)。本公眾號(hào)將會(huì)持續(xù)性的輸出很多原創(chuàng)小知識(shí)以及學(xué)習(xí)資源。如果你覺得本文對(duì)你有所幫助,麻煩給文章點(diǎn)個(gè)「」和「在看」。同時(shí)歡迎各位小伙伴關(guān)注陌溪,讓我們一起成長~

和陌溪一起學(xué)編程

點(diǎn)擊進(jìn)入留言板

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多