01
終于步入大學(xué)
我既沒(méi)有跨過(guò)山和大海剪廉,也沒(méi)有穿過(guò)人山人海,我就是我片橡,一個(gè)2020屆普通本科大學(xué)生妈经。身為讀者的你,關(guān)注了我捧书,自然是想獲取知識(shí)與經(jīng)驗(yàn)吹泡,我所能分享的,也只有我的一些知識(shí)與經(jīng)歷经瓷。
2016年爆哑,我大一剛?cè)雽W(xué),邊學(xué)著入門級(jí)的C語(yǔ)言舆吮,邊對(duì)未來(lái)迷茫著揭朝。面試學(xué)生會(huì)队贱,失敗。面試新媒體部潭袱,失敗柱嫌。本以為連連失敗的我已經(jīng)輸在了大學(xué)的起跑線上,意外讓我面試了一個(gè)IT編程工作室屯换,成功编丘。
我感謝工作室里帶我入門的學(xué)長(zhǎng)們,讓我知道了C語(yǔ)言以后可以干什么彤悔,Java可以干什么嘉抓,促使我邁入Java世界的大門。寒假兩月晕窑,自學(xué)完Java基礎(chǔ)語(yǔ)法抑片。
02
孤獨(dú)的旅行者
2017年,放棄了喜愛(ài)的籃球杨赤,放棄了游戲敞斋,從jsp、servlet望拖、html開(kāi)始學(xué)習(xí)渺尘,搭建了一個(gè)自習(xí)室查詢網(wǎng)頁(yè),并出售給了一個(gè)校公眾號(hào)團(tuán)隊(duì)说敏。Java進(jìn)階交流群851531810
我在大一下學(xué)期報(bào)了校軟件設(shè)計(jì)大賽鸥跟,并設(shè)計(jì)開(kāi)發(fā)了一個(gè)微教務(wù)系統(tǒng),原理是模擬登陸校教務(wù)系統(tǒng)盔沫,爬取成績(jī)課表等信息医咨,然后進(jìn)行網(wǎng)頁(yè)展示。獲得了推薦獎(jiǎng)架诞,也就是沒(méi)進(jìn)前十名拟淮。
校軟件大賽舉辦的作用是選拔團(tuán)隊(duì)去參加山東省大學(xué)生軟件設(shè)計(jì)大賽,雖然是推薦獎(jiǎng)谴忧,但只要完成了作品很泊,還是可以報(bào)銷三百報(bào)名費(fèi)的。就這樣沾谓,我撥通了我媽的手機(jī)號(hào)委造,給我媽要了三百塊錢。
在官網(wǎng)報(bào)名時(shí)才發(fā)現(xiàn)一個(gè)問(wèn)題均驶,每個(gè)團(tuán)隊(duì)最低三個(gè)人昏兆。
可我的團(tuán)隊(duì),只有我一個(gè)人妇穴。
是的爬虱,校賽現(xiàn)場(chǎng)答辯時(shí)隶债,也只有我。
我最終還是參加了這個(gè)比賽跑筝,我慶幸我有兩個(gè)月的寒假可以去準(zhǔn)備死讹。在這兩個(gè)月里,我抱著一本Android入門到精通的書籍曲梗,開(kāi)始一章一章的做Demo回俐。最后,我做了一個(gè)校園App稀并,主要包括論壇發(fā)帖、點(diǎn)贊单默、評(píng)論功能碘举,以及查成績(jī)、查課表搁廓、看校園新聞等功能引颈。
我獲得了軟件大賽作品完成獎(jiǎng),不是一境蜕、二蝙场、三等獎(jiǎng)。所以粱年,我的第一次軟件大賽結(jié)果售滤,失敗。
2017年下半年台诗,也就是大二上學(xué)期完箩。我把我的這款校園App發(fā)給了校猿碼工作室,成為工作室的一員拉队。期間工作室計(jì)劃了兩個(gè)超級(jí)大項(xiàng)目弊知,可惜最終都不了了之。
國(guó)慶假期期間粱快,特別想換掉我那臺(tái)1500塊買的筆記本電腦秩彤,于是我去了濟(jì)南方特兼職,每天早7晚10的的日子事哭,賺了一千多塊錢漫雷,加上花唄分期,買了我現(xiàn)在的這款電腦華碩K55VD慷蠕,原款配置略低珊拼,我又加了內(nèi)存條、固態(tài)硬盤流炕。一共兩千多吧澎现。為啥這么便宜仅胞,因?yàn)槭枪衽_(tái)展示機(jī),其實(shí)和新電腦沒(méi)啥區(qū)別剑辫。
在年底干旧,我利用我學(xué)會(huì)的安卓開(kāi)發(fā)技能開(kāi)發(fā)了一款Vip視頻破解App:聚視助手。這款軟件至今還在維護(hù)妹蔽,它是一款收費(fèi)軟件椎眯,軟件可以免費(fèi)觀看愛(ài)奇藝、優(yōu)酷胳岂、騰訊编整、樂(lè)視、PPTV乳丰、芒果的VIP視頻掌测。
原理很簡(jiǎn)單,調(diào)用網(wǎng)上已有的破解接口产园,并嵌入騰訊X5瀏覽器內(nèi)核汞斧。關(guān)于收費(fèi)模塊,貌似我那時(shí)候支付寶還不支持個(gè)人開(kāi)發(fā)者什燕,于是想到了賣卡平臺(tái)粘勒。用戶去第三方買卡,到我的軟件輸入卡密即可使用屎即。不過(guò)推廣不利庙睡,并沒(méi)有賺多少錢。
03
在反思中進(jìn)步
轉(zhuǎn)眼技俐,2018到來(lái)埃撵。
我還是那個(gè)兩眼不聞窗外事、一心只想敲代碼的我虽另。年后暂刘,接了個(gè)學(xué)校的項(xiàng)目,這時(shí)候正好我的技能棧已經(jīng)擴(kuò)充到Spring生態(tài)圈了捂刺,Spring Boot谣拣、Spring MVC用的賊溜。正好族展,基于Spring Boot仿實(shí)習(xí)僧做了個(gè)招聘系統(tǒng)森缠,酬金稅后2000。
技能棧越來(lái)越多仪缸,我開(kāi)始思考更深層次的意義贵涵。
我的基礎(chǔ)到低扎實(shí)不扎實(shí),每次想到這,我好慌宾茂。
我的基礎(chǔ)仿佛沒(méi)有瓷马,我既沒(méi)有研究過(guò)jdk源碼,又沒(méi)有搞過(guò)算法競(jìng)賽跨晴。我開(kāi)始主動(dòng)尋求Java中的基礎(chǔ)欧聘,去尋找我經(jīng)常聽(tīng)到卻不會(huì)的。我問(wèn)我的學(xué)長(zhǎng)們端盆,聽(tīng)學(xué)長(zhǎng)們講述面經(jīng)怀骤。這時(shí)候,一系列我不知曉的名詞涌來(lái)焕妙,讓我仿佛覺(jué)得自己是個(gè)搖搖欲墜的大廈蒋伦。
多線程,什么是多線程焚鹊?什么是線程安全凉敲?我一點(diǎn)不懂。JVM寺旺?這是啥,GC又是是什么势决?BIO阻塑、NIO、AIO果复,抱歉陈莽,我不會(huì)。
我覺(jué)得我要開(kāi)始改變了虽抄。內(nèi)心仿佛總是有一股力量在揪著我走搁,催著我,讓我去做迈窟,去行動(dòng)私植。我覺(jué)得,我不能再看視頻學(xué)習(xí)了车酣,慕課網(wǎng)已經(jīng)不適合我了曲稼。我要去看書。
在我的印象中湖员,我主動(dòng)看的第一本書贫悄,是葛一鳴的《Java程序性能優(yōu)化》。我非常感謝這本書娘摔,感動(dòng)到想哭著給作者打賞窄坦。這本書完全打開(kāi)了我對(duì)Java未知領(lǐng)域的大門,是它,讓我知道Java基礎(chǔ)中String的底層原理鸭津、List彤侍、Map的底層原理與優(yōu)化,是它曙博,讓我知道了設(shè)計(jì)模式這種東西拥刻,是它,讓我知道了GC父泳、JVM般哼,讓我知道了Java世界中最重要的多線程相關(guān)知識(shí),讓我體驗(yàn)了Java性能調(diào)優(yōu)惠窄。
這本書中的內(nèi)容蒸眠,基礎(chǔ)知識(shí)我看的懂,JVM杆融、多線程等看不懂楞卡,但為我指引了方向。按著這個(gè)反向脾歇,我買了《深入理解Java虛擬機(jī)》《Java多線程編程核心技術(shù)》《Java并發(fā)編程的藝術(shù)》蒋腮,我讀的如饑似渴,書上的示例我都照著敲一遍藕各。
可我擔(dān)心學(xué)得快忘得快池摧,于是我開(kāi)始記筆記,我把書上的內(nèi)容都抄了下來(lái)激况,發(fā)布在了我的博客上作彤。學(xué)完多線程相關(guān)的知識(shí),我再回來(lái)過(guò)看葛一鳴的書乌逐,我懂了竭讳。
04
再戰(zhàn)軟件大賽
2018暑假,非常熱鬧浙踢。
這次我的團(tuán)隊(duì)很給力绢慢,指導(dǎo)老師也很給力。我們一起開(kāi)會(huì)討論做比賽洛波!沒(méi)錯(cuò)呐芥,還是山東省大學(xué)生軟件設(shè)計(jì)大賽。這次奋岁,我想全力以赴思瘟。
我們用了一個(gè)多月去尋找我們究竟要做什么?我的導(dǎo)師特別想做一個(gè)醫(yī)生機(jī)器人闻伶,還給我們看了相關(guān)的圖片滨攻。我們的課題是大數(shù)據(jù)分析與挖掘。
起初,我們壓根沒(méi)有頭緒光绕,走了非常非常多的彎路女嘲,怎么說(shuō)呢。我去學(xué)了Hadoop诞帐,學(xué)完后發(fā)現(xiàn)項(xiàng)目規(guī)模太小欣尼,用不上。然后去學(xué)了Elasticsearch停蕉。最初的作品是一個(gè)網(wǎng)頁(yè)對(duì)話窗口愕鼓,集成思必馳語(yǔ)音合成接口,后端是Elasticsearch做的查詢接口慧起。非常簡(jiǎn)單(low)菇晃。
了解到其它隊(duì)伍大都是做了做數(shù)據(jù)爬取、分析蚓挤,然后用ECharts做可視化展示磺送,我的導(dǎo)師建議我做知識(shí)圖譜,并提供了示例灿意。于是估灿,我去百度調(diào)研,用了一周的時(shí)間學(xué)習(xí)了Neo4j缤剧,并結(jié)合Spring Boot做了個(gè)Demo馅袁。
只有圖數(shù)據(jù)庫(kù)的支持是不夠的,還需要前端展示鞭执,于是學(xué)了d3.js。但我的前端技能并不是特別好芒粹,數(shù)據(jù)量太大兄纺,做出的知識(shí)圖譜節(jié)點(diǎn)都擠在了一起,作品效果非常不好看化漆。
那段時(shí)期估脆,我又陷入了迷茫。我究竟要做什么座云?第一次參賽一敗涂地疙赠,這一次,我還要繼續(xù)失敗嗎朦拖?
導(dǎo)師告訴我圃阳,讓我多試幾個(gè)網(wǎng)站爬取數(shù)據(jù)源。無(wú)意中璧帝,我看到了jb39網(wǎng)站的自助診斷系統(tǒng)捍岳,瞬間驚呆了,這就是我要做的東西!
導(dǎo)師要做知識(shí)圖譜锣夹,可我要堅(jiān)持做智能醫(yī)療診斷系統(tǒng)页徐。在思考系統(tǒng)的算法邏輯時(shí),我驚奇的發(fā)現(xiàn)银萍,支撐診斷算法的正是知識(shí)圖譜变勇。當(dāng)我在辦公室里的小黑板手寫算法思路,向隊(duì)友贴唇、導(dǎo)師展示的時(shí)候搀绣,我那時(shí)非常開(kāi)心,因?yàn)槲医K于知道了我要做什么滤蝠。
Java進(jìn)階交流群851531810
大二下學(xué)期開(kāi)學(xué)后豌熄,我被通知作品進(jìn)了二等獎(jiǎng),一等獎(jiǎng)決賽即將在山東大學(xué)舉辦物咳,讓我務(wù)必準(zhǔn)時(shí)參加決賽答辯锣险。
答辯我準(zhǔn)備的非常充分,而且览闰,在決賽答辯之前芯肤,我就在另一個(gè)省級(jí)比賽中答辯過(guò)一次了,算是漲了一波經(jīng)驗(yàn)压鉴。
不負(fù)所望崖咨,我的作品獲得山東省大學(xué)生軟件大賽一等獎(jiǎng)。
05
開(kāi)源作品爆發(fā)
在做"智能醫(yī)療診斷系統(tǒng)"參加省軟件大賽的同時(shí)油吭,我深深感受到在爬取大量數(shù)據(jù)時(shí)的時(shí)間消耗是多么巨大击蹲。最長(zhǎng)的時(shí)候,我的電腦兩天沒(méi)關(guān)機(jī)婉宰,一直在后臺(tái)爬歌豺。最后,受不了的我心包,用Java寫了一個(gè)多線程爬蟲框架类咧,并發(fā)布到了我的Github。
我以前都是一個(gè)人做項(xiàng)目蟹腾,而且痕惋,越來(lái)越發(fā)現(xiàn)自己對(duì)頁(yè)面相關(guān)的設(shè)計(jì)開(kāi)發(fā)效率低下。現(xiàn)在有了團(tuán)隊(duì)娃殖,非持荡粒渴望前后端分離。當(dāng)時(shí)炉爆,我一直在用模板引擎述寡,基于服務(wù)拆分的思想柿隙,我做了一個(gè)類似Tomcat的靜態(tài)web服務(wù)器發(fā)布到了我的Github。
在學(xué)完《深入理解Java虛擬機(jī)》后鲫凶,我覺(jué)得我不應(yīng)該學(xué)完就完了禀崖,我要把學(xué)的知識(shí)做成一個(gè)作品出來(lái)。當(dāng)時(shí)學(xué)完了java性能監(jiān)控的工具后螟炫,覺(jué)得軟件形式的監(jiān)控也比較麻煩波附,如果能有一個(gè)可視化的web版再結(jié)合ECharts圖表展示就太方便了。
我用了幾天的時(shí)間做完了JavaMonitor項(xiàng)目的單機(jī)版昼钻,沒(méi)想到后來(lái)star越來(lái)越多掸屡,吸取了一些建議,做了支持分布式監(jiān)控的javaMonitorPlus然评。
也是在暑假這段時(shí)期仅财,我收到了來(lái)自一位阿里技術(shù)專家的郵件。內(nèi)容簡(jiǎn)單概括就是想不想來(lái)阿里碗淌。當(dāng)時(shí)收到郵件的意義盏求,對(duì)我來(lái)說(shuō)非常巨大,他讓我第一次感受到BAT與自己的距離似乎不是那么遙遠(yuǎn)亿眠,我一個(gè)普通本科仿佛也可以實(shí)現(xiàn)去BAT工作的夢(mèng)想碎罚。
06
人生的轉(zhuǎn)折點(diǎn)
2018年12月,我迎來(lái)了我人生的第一個(gè)轉(zhuǎn)折點(diǎn)纳像。
當(dāng)時(shí)荆烈,我已經(jīng)感受到了技術(shù)仿佛到了一個(gè)瓶頸,單機(jī)架構(gòu)我做的很溜竟趾,但涉及企業(yè)的分布式架構(gòu)憔购,我還是不太了解。當(dāng)時(shí)恰好得知省賽頒獎(jiǎng)典禮有現(xiàn)場(chǎng)招聘會(huì)時(shí)岔帽,我便精心準(zhǔn)備了一份簡(jiǎn)歷玫鸟,并彩印了5份,打算投遞山卦。
可到了現(xiàn)場(chǎng)鞋邑,看到的都是小公司在招軟件銷售人員诵次,我就瞬間奔潰了账蓉,我心底一直有一種驕傲,我可以去大公司的逾一,我有這能力铸本。最終,我一份簡(jiǎn)歷沒(méi)投遵堵。
看著寫了好幾頁(yè)的簡(jiǎn)歷箱玷,我是真的不想就這么白白浪費(fèi)怨规。
想起來(lái)我大一曾注冊(cè)過(guò)的幾家招聘網(wǎng)站,我就把我的簡(jiǎn)歷發(fā)在了上面锡足。其實(shí)只有一家波丰,實(shí)習(xí)僧。
我以為壓根沒(méi)有我的崗位舶得,因?yàn)槲姨×岁蹋也糯蠖沐批?晌掖蜷_(kāi)實(shí)習(xí)僧纫骑,卻發(fā)現(xiàn)竟然有2020屆的實(shí)習(xí)生招聘,我有點(diǎn)驚訝九孩。不過(guò)先馆,也僅此而已,我不認(rèn)為我有能力能進(jìn)新浪躺彬、百度煤墙、京東這些大公司。我記得我當(dāng)時(shí)抱著不浪費(fèi)我寫的這么多頁(yè)的簡(jiǎn)歷的心態(tài)顾患,只投大公司番捂,小公司不投。然后江解,洗洗睡了设预,壓根沒(méi)怎么放心上。
不久的一天早上犁河,我還在睡覺(jué)鳖枕,接聽(tīng)到了第一個(gè)電話,來(lái)自中國(guó)電信北研院桨螺,問(wèn)我在京嗎宾符?什么時(shí)候有時(shí)間,約一下電話面試灭翔。然后魏烫,自己開(kāi)心的不得了。又不久肝箱,京東打來(lái)了電話哄褒,讓我去北京參加現(xiàn)場(chǎng)面試。我推到了我的期末考試結(jié)束后煌张。又不久呐赡,新浪也發(fā)了現(xiàn)場(chǎng)面試的郵件。
一天晚上骏融,我收到了百度打來(lái)的面試邀請(qǐng)電話链嘀,當(dāng)時(shí)我在商業(yè)街買吃的萌狂。聽(tīng)到了開(kāi)心的不得了,約定了一小時(shí)后電話面試怀泊。東西也不買了茫藏,直接回學(xué)校,看了一會(huì)書霹琼,復(fù)習(xí)復(fù)習(xí)刷允,因?yàn)槟菚r(shí)候我已經(jīng)半個(gè)月沒(méi)碰過(guò)代碼了,《劍指Offer》才刷了幾章就停下來(lái)一直在復(fù)習(xí)期末考試碧囊。慶幸自己買了本《Java程序員面試筆試寶典》树灶。
百度一面,如約而至糯而。我記得我當(dāng)時(shí)說(shuō)的最多的就兩句話:忘了天通,不了解。面完后熄驼,我覺(jué)得我掛了像寒。但我的習(xí)慣還是讓我把面試官問(wèn)到的所有基礎(chǔ)知識(shí)都看了一遍。就這樣瓜贾,我第二天接到了網(wǎng)易一面的電話诺祸,回答的算是very good,就一個(gè)SQL左連接查詢我忘了祭芦,因?yàn)槲彝藦?fù)習(xí)SQL了筷笨。
意外驚喜,接到了百度二面的面試邀約龟劲,我這次提前看了很多知識(shí)胃夏,復(fù)習(xí)了Java虛擬機(jī),多線程相關(guān)的知識(shí)昌跌,二面這塊的基礎(chǔ)知識(shí)娓娓道來(lái)仰禀,但誰(shuí)知,面試官問(wèn)我Redis底層原理蚕愤,如何設(shè)置過(guò)期時(shí)間答恶,我說(shuō)不會(huì),面試官便引導(dǎo)我說(shuō):“不會(huì)沒(méi)事萍诱,我提醒下你”悬嗓,就這樣,我回答出了這塊的內(nèi)容砂沛。
又問(wèn)我消息隊(duì)列烫扼,我又懵逼了曙求,問(wèn)我碍庵,如何設(shè)計(jì)秒殺系統(tǒng)映企,我說(shuō)可以用隊(duì)列,隊(duì)列滿了就直接false静浴。面試官又問(wèn)堰氓,分布式系統(tǒng)呢?那當(dāng)然用MQ中間件苹享。說(shuō)實(shí)話双絮,面試后,我對(duì)百度拜服得问。不久囤攀,網(wǎng)易二面來(lái)了,回答也算是very good宫纬!
網(wǎng)易三面來(lái)的非撤倌樱快,我覺(jué)得網(wǎng)易面試很舒服漓骚。不久蝌衔,網(wǎng)易HR加了我微信,人生第一個(gè)offer正式到手蝌蹂!
百度三面遲遲不來(lái)噩斟,我以為我掛了,心想好吧孤个,去網(wǎng)易也不錯(cuò)剃允!杭州,舒服齐鲤」杓保可我覺(jué)得還有希望,便給百度打了電話佳遂,百度說(shuō)营袜,等段時(shí)間。不久丑罪,百度三面到來(lái)荚板,三面主要是聊項(xiàng)目,聊的還不錯(cuò)吩屹,畢竟自己做的東西被人欣賞自己也很開(kāi)心跪另。沒(méi)多久,百度HR直接給我打電話煤搜,說(shuō)offer已發(fā)免绿,讓我當(dāng)天就要確認(rèn)。
晚上擦盾,問(wèn)了很多老師學(xué)長(zhǎng)嘲驾,包括我的家人淌哟,都希望我去百度,最后辽故,我去了杭州網(wǎng)易徒仓,因?yàn)椋抢镉邪⒗铩?/p>
最后誊垢,給大家推薦一個(gè)Java進(jìn)階交流群851531810掉弛,不管你在地球哪個(gè)方位,不管你參加工作幾年都?xì)g迎你的入駐N棺摺(群內(nèi)會(huì)免費(fèi)提供一些群主收藏的免費(fèi)學(xué)習(xí)書籍資料以及整理好的幾百道面試題和答案文檔Q甓觥)