B程序員:講述三年計算機學(xué)習辛酸史
近年來(lái),有些讀者會(huì )問(wèn)我一些形形色色的問(wèn)題,讓我很難去回答,甚至給不出建設性的意見(jiàn)。
舉個(gè)例子:
1.我學(xué)習什么能進(jìn)入優(yōu)秀的互聯(lián)網(wǎng)公司工作?2.我想做研發(fā)我應該學(xué)習什么?
眾所周知,這問(wèn)題就像你問(wèn)學(xué)霸說(shuō):你為何如此厲害一樣讓人難以回答。我作為一個(gè)雙非軟工本科學(xué)生,經(jīng)過(guò)大學(xué)自己摸索和不斷試錯,畢業(yè)開(kāi)始在百度從事研發(fā)工作。其實(shí),我當時(shí)也有很多的疑惑,在這里給大家講講我的踩坑歷程。
記憶中,我當年逛知乎、求助高人、甚至我的導師,都無(wú)法給出一個(gè)可操作的建議。除此之外,在我那種二本學(xué)校,知名企業(yè)都不會(huì )去咱學(xué)校校招,我和學(xué)長(cháng)們對春秋招的概念微乎其微,進(jìn)大廠(chǎng)是件很困難的事情,概率與踩狗屎不相上下。
作為探路者,求助知乎和論壇,給出的結論幾乎都是好好學(xué)習數據結構/算法、現在大數據很火你應該學(xué)學(xué)Hadoop/Spark、你要是會(huì )微服務(wù)、docker、k8s一定會(huì )很加分。
讓我想起了我當年問(wèn)學(xué)霸題目如何解?學(xué)霸說(shuō):這個(gè)題目是來(lái)源于第X章第X例題,你這樣解,答案就出來(lái)了,很容易的。至于為什么他能想到,鬼也不知道。
當時(shí),我真的是花里胡哨的啥都學(xué),啥都去倒騰,不知道是不是梁靜茹給我的勇氣。前端、后端技術(shù)棧、Hadoop/Spark、docker/k8s這些幾乎都實(shí)操過(guò),只是很多只是入門(mén)并沒(méi)有深入研究,效果自然也十分有限。
這些概念,對于小白或者在校生來(lái)說(shuō),這仿佛在對說(shuō)你不用學(xué)了,除非你天生技術(shù)欲望特別強烈。這對于大多數普通人來(lái)說(shuō),明顯是勸退的節奏,可操性十分有限,幾乎沒(méi)有參考價(jià)值,不知道從何下手。
其實(shí),道理是沒(méi)有錯的,多研究底層和熱門(mén)技術(shù)棧是有益的。但是,脫離實(shí)際情況談技術(shù)就是扯犢子,就像讓中國男足拿世界杯冠軍顯然不符合實(shí)際,更應該是根據實(shí)際情況,做產(chǎn)出最大的事情,否則會(huì )信心全無(wú)。
接下來(lái),我系統性拆分問(wèn)題,在不同階段應該「學(xué)什么」、「如何學(xué)」、「學(xué)到什么程度」,重點(diǎn)講我當時(shí)遇到的問(wèn)題,還有我是如何去思考的,最終如何解決的,思路比結論重要。
02根據問(wèn)題歸類(lèi)來(lái)看,主要在我自己的角度談?wù)勂胀ū究迫绾螌?shí)現進(jìn)入Top級互聯(lián)網(wǎng)工作?
首先,說(shuō)說(shuō)在大廠(chǎng)工作都是些什么樣的人,他們當年都是背著(zhù)什么光環(huán)混進(jìn)去的?
經(jīng)過(guò)我的調研和分析,重點(diǎn)說(shuō)一下在校招中面試官看中和考察的東西。
1.學(xué)歷/專(zhuān)業(yè)、扎實(shí)專(zhuān)業(yè)基本功2.有成果的科研經(jīng)歷3.省/國家級軟件設計大賽4.豐富互聯(lián)網(wǎng)公司實(shí)習經(jīng)歷5.小有名氣的開(kāi)源項目經(jīng)歷
大概思路就是,要么你證明你令人信服的天賦如邏輯系統思維、聰明,讓人覺(jué)得你可以被快速培養;要么你有豐富的工程實(shí)戰經(jīng)驗,證明你具備優(yōu)秀工程師的潛質(zhì)。
當然,你可能會(huì )說(shuō)這么多要求,恐怕神仙也做不到啊,簡(jiǎn)直太苛刻了。在這里,并不是上述要點(diǎn)全部滿(mǎn)足,只是滿(mǎn)足其中兩項證明你的實(shí)力即可,畢竟面試時(shí)間十分有限,要有點(diǎn)讓人信服的東西,否則誰(shuí)愿意花時(shí)間跟你逼逼沒(méi)用的。
舉個(gè)例子:
1、假設你是上海交大、華中科大大學(xué)畢業(yè)的學(xué)生,你可能只需要重點(diǎn)復習數據結構/算法等專(zhuān)業(yè)知識,輔之把學(xué)校的科研經(jīng)歷說(shuō)一下??赡苓M(jìn)入什么阿里華為百度問(wèn)題都不是很大,專(zhuān)業(yè)知識對于你們來(lái)說(shuō)自然不在話(huà)下,畢竟考理論是你們的特長(cháng)。
2、假如你是雙非大學(xué)畢業(yè)的學(xué)生,那么你必須用國家級大賽、開(kāi)源項目、互聯(lián)網(wǎng)公司經(jīng)歷證明自己。總之,多做項目,專(zhuān)注于技術(shù)本身,讓自己更早具備職業(yè)軟件工程師的實(shí)戰技能。
簡(jiǎn)而言之,你沒(méi)有光環(huán),那就比別人多努力點(diǎn),提前做好職業(yè)規劃,把時(shí)間投入技術(shù)本身不要投機取巧。
03鑒于上述分析,知道需求是什么?對于我們來(lái)說(shuō),主要把精力投入在技術(shù)本身。
接下來(lái),我們將面臨一系列問(wèn)題。
1.我應該做什么方向?(方向)2.我應該學(xué)習什么內容?(規劃)3.我如何學(xué)這些內容?(方法/策略)4.我應該學(xué)到什么程度?(量化)5.如何把理論用到實(shí)際項目/產(chǎn)品中?(產(chǎn)出)
不同方向,意味著(zhù)不同領(lǐng)域不同,學(xué)習的知識和實(shí)戰項目有共性也有差異。在這里,我主要講一下通用的思路。重點(diǎn)拿我擅長(cháng)方向舉例,其他方向可按照同樣思路舉一反三。
根據我的經(jīng)驗,可將內容分為原理、應用、擅長(cháng)方向三個(gè)緯度。原理和應用緯度必須學(xué)習,方向緯度根據自己擅長(cháng)方向深入學(xué)習。
原理:計算機網(wǎng)絡(luò )、操作系統、數據結構/算法,這些東西都是專(zhuān)業(yè)課好好學(xué)即可,數據結構/算法可以偶爾刷題。校招的時(shí)候再重點(diǎn)復習,初級階段不必花太多時(shí)間深究。
應用:它是最基礎的內容,不管你從事什么領(lǐng)域都將離不開(kāi)它們。這也是小白入門(mén)重點(diǎn)花費時(shí)間的地方,你將在這里不斷與程序斗爭如調試、驗證、異常、解決。
方向:不同方向本質(zhì)上就是在基礎應用上擴充,發(fā)揮它們擅長(cháng)領(lǐng)域和特性去解決特定問(wèn)題。在這里,簡(jiǎn)單列一下涉及的技術(shù)棧。
1.后端開(kāi)發(fā):消息隊列、緩存、rpc、微服務(wù)。2.大數據開(kāi)發(fā):Hadoop、Spark、Storm、Flink3.自動(dòng)化運維:elk、ansible、zabbix、docker、k8s
04基于上述分析,主要講了整體思路,大家可能會(huì )覺(jué)得有點(diǎn)不太好理解。接下來(lái),拿我當時(shí)遭遇的處境進(jìn)行舉例闡述,這樣讓不同水平或時(shí)期的同學(xué)有不一樣的體會(huì )。
假如有時(shí)光機讓時(shí)間往后倒退3年,時(shí)間來(lái)到我剛上大二的時(shí)候,作為一枚小萌新開(kāi)始學(xué)習JAVA走上后端開(kāi)發(fā)之路。
對于我來(lái)說(shuō),操作系統原理、計算機網(wǎng)絡(luò )先戰略性放棄,畢竟剛接觸編程,看高大上的原理,每次上課都想睡覺(jué)。當然,數據結構/算法我還能好好聽(tīng)聽(tīng),畢竟我數學(xué)功底還行讓我不排斥。
為什么不先學(xué)習基礎性原理?
舉例:假設你學(xué)騎自行車(chē),你是直接上去就蹬?還是先把輪子拆下來(lái)研究清楚原理再去學(xué)習怎么蹬?
重點(diǎn):根據我的經(jīng)歷,在新手階段不管是接觸新的語(yǔ)言,還是新的方向。最快的方式就是先把自行車(chē)蹬起來(lái),等你蹬熟練了再去研究輪子是怎么造出來(lái)的。
根據上述策略,刨除我踩的一些坑,我把學(xué)習征途劃分四個(gè)階段,實(shí)現學(xué)習效率的最優(yōu)解。
第一階段:新手入門(mén)
在我入門(mén)的時(shí)候,我遇到的最大困難是代碼不會(huì )寫(xiě),DEBUG不會(huì )做,程序報錯不會(huì )看毫無(wú)頭緒,甚至大家常說(shuō)的百度一下的關(guān)鍵字我也不知道搜。
這時(shí)候,最大的目標就是根據百度/查文檔/看視頻,把程序調試出預期結果,甚至你抄代碼都行,很多時(shí)候抄代碼你都不一定能DEBUG出預期結果。這就是現實(shí),主要就是要把對編程的排斥消磨殆盡。
這個(gè)階段,不需要太關(guān)注底層實(shí)現原理,最重要的工作就是把應用層面的技術(shù),不斷練習直到熟練掌握上面提到的應用「 編程語(yǔ)言、Linux、數據庫、HTTP網(wǎng)絡(luò )協(xié)議 」。
?時(shí)間:3-6月?目標:會(huì )調試、會(huì )查文檔、會(huì )用搜索引擎?內容:JAVA基礎語(yǔ)法、MYSQL數據庫、Linux操作系統、HTTP通信協(xié)議?方法:只關(guān)注如何使用技術(shù),難以理解的背下來(lái),不關(guān)注底層原理。?成果:實(shí)現常見(jiàn)的管理系統模塊,能部署在服務(wù)器上,供他人訪(fǎng)問(wèn)。
對于現已從事計算機行業(yè)的同學(xué),其實(shí)這部分內容非常簡(jiǎn)單,可能按照正常水平少則幾天,多則不超過(guò)一周就能開(kāi)發(fā)出簡(jiǎn)單模塊。簡(jiǎn)單說(shuō),它頂多是普通本科畢設設計水準,主要是讓新手在感官上體驗軟件產(chǎn)品。本質(zhì)上,在計算機世界里,抽象來(lái)看就是數據的計算、傳輸、存儲。隨著(zhù)你的經(jīng)驗增多,你會(huì )發(fā)現很多技術(shù)的誕生或優(yōu)化性能都是在解決計算、存儲、傳輸的問(wèn)題。 在這里,主要讓大家在系統的角度感受最簡(jiǎn)單、最初級的技術(shù)模型。
1.Linux操作系統:承載應用程序、數據庫的運行,提供CPU供應用程序計算。2.應用程序(Java/Python/Php):JAVA主要采用Servlet、JDBC承載網(wǎng)絡(luò )的傳輸、數據庫連接管理。3.數據庫(MYSQL):主要理解關(guān)系類(lèi)數據庫的存儲,對數據進(jìn)行操作。4.HTTP/TCP:熟悉重點(diǎn)網(wǎng)絡(luò )協(xié)議,它分為包頭/包體進(jìn)行傳輸,包體格式可能分為form、json、pb、二進(jìn)制。
第二階段:項目練習
通過(guò)第一個(gè)階段學(xué)習,你對編程從一無(wú)所知到有所斬獲,對計算機世界充滿(mǎn)了好奇,甚至有所開(kāi)心。這時(shí)候,你最應該做的就是去滿(mǎn)足你裝逼的夢(mèng)想。
假設你是爬蟲(chóng)方向,你應該去爬表情包、爬知乎數據、自動(dòng)搶****,去滿(mǎn)足你無(wú)數個(gè)裝逼夢(mèng)想。
假設你是算法方向,你可以去研究推薦算法、圖像識別模型,去做個(gè)商品推薦、人臉識秀一秀。
假設你是后端方向,你可以去研究下網(wǎng)絡(luò )編程/網(wǎng)站開(kāi)發(fā)開(kāi)發(fā)個(gè)仿微信聊天應用,體驗下lowB版微信。
畫(huà)外音:多做項目,坑是一步一步踩出來(lái)的。
作為大學(xué)生,實(shí)驗室、軟件設計比賽、開(kāi)源社區都是你發(fā)揮想象力的天堂,這些倒騰的經(jīng)歷將是你畢業(yè)時(shí)最寶貴的經(jīng)歷。
第三階段:強化理論
經(jīng)過(guò)前兩個(gè)階段實(shí)踐,時(shí)間來(lái)到大三,這時(shí)候基本的軟件開(kāi)發(fā)已入門(mén)差不多達到普通培訓班畢業(yè)水平。同時(shí),專(zhuān)業(yè)課如數據結構/操作系統/計算機網(wǎng)絡(luò )也上的差不多了,對概念多多少少有初步了解。
這時(shí)候,你會(huì )發(fā)現很多原理你不懂,將很難更上一層樓。
?你不知道使用ArrayList還是LinkedList??你不知道為什么要使用線(xiàn)程池??你不知道為什么分層設計使用分布式場(chǎng)景?
你將處于寫(xiě)代碼一時(shí)爽,一直寫(xiě)一直爽,遇到性能問(wèn)題直接土崩瓦解。所以,你不得不去學(xué)習理論知識讓你走得更遠。
問(wèn)題:為什么在這個(gè)階段強化理論知識?
在新手階段去強化理論知識,會(huì )讓你興趣驟減且產(chǎn)生學(xué)了有何用的錯覺(jué)。同時(shí),這是最好的時(shí)機,學(xué)校專(zhuān)業(yè)課學(xué)完你有基礎概念,你有實(shí)際軟件應用場(chǎng)景,這些東西讓你深挖理論的時(shí)候會(huì )快速給你構建起基礎圖譜,讓你興趣激增不斷體驗學(xué)會(huì )的東西,將戳痛你最痛的神經(jīng),瞬間把你以前遇到的問(wèn)題有新的認知,這就是答案。簡(jiǎn)單說(shuō),面向問(wèn)題,解決問(wèn)題,讓你實(shí)實(shí)在在感受到成長(cháng),這就是成就感的力量。
問(wèn)題:如何高效的學(xué)習理論?
其實(shí),編程語(yǔ)言和計算機基礎都是相通的,只要你學(xué)透一門(mén)編程語(yǔ)言剩下的就大同小異。當然,計算機基礎畢竟是枯燥無(wú)味的,學(xué)習畢竟是有方法的。
舉個(gè)例子:
站在編程語(yǔ)言的角度,你用心去總結,你會(huì )發(fā)現不管什么編程語(yǔ)言,變來(lái)變去都是換了個(gè)花樣在談以下內容。
?程序結構(數據類(lèi)型、控制語(yǔ)句、面對對象、異常處理)?集合(list、set、map)?文件操作、網(wǎng)絡(luò )通信(io、bio、nio)?線(xiàn)程、線(xiàn)程池
不管在面試還是技術(shù)探討,重點(diǎn)考察的都是集合、網(wǎng)絡(luò )通信、線(xiàn)程/線(xiàn)程池。源自于它跟計算機基礎有緊密結合,你要優(yōu)化它們你必須具備扎實(shí)基本功。
基于我的研究經(jīng)驗,我建議大家在學(xué)習計算機基礎的時(shí)候,不要因為理論而理論。你應該去通過(guò)編程語(yǔ)言源碼去學(xué)習計算機基礎,只學(xué)你當前認為最重要的。
舉個(gè)例子:
當我去學(xué)習數據結構/算法的時(shí)候,我會(huì )一邊學(xué)習源碼一邊思考數據結構,這樣就讓我有實(shí)際應用場(chǎng)景不會(huì )因為理論而理論。我學(xué)習list、set源碼的時(shí)候,我就學(xué)會(huì )鏈表、棧。我學(xué)習map的時(shí)候,我就學(xué)會(huì )了紅黑樹(shù)、散列表。
當我去學(xué)習計算機網(wǎng)絡(luò )的時(shí)候,我會(huì )一邊學(xué)習socket的用法,學(xué)習Linux網(wǎng)絡(luò )通信模型epoll,這樣就重點(diǎn)把網(wǎng)絡(luò )協(xié)議學(xué)會(huì )了。同時(shí),很多應用場(chǎng)景極少的理論知識,我就粗略記憶或者跳過(guò),這樣就節約了很多時(shí)間。
當我去學(xué)習線(xiàn)程/線(xiàn)程池的時(shí)候,我會(huì )學(xué)習鎖機制、生產(chǎn)者/消費者模型這些操作系統原理的重要知識,跟編程語(yǔ)言中關(guān)聯(lián)不大的我就粗略記憶。
第四階段:深究專(zhuān)長(cháng)
經(jīng)過(guò)前面三個(gè)階段的學(xué)習,你已經(jīng)具備扎實(shí)基本功和項目實(shí)戰經(jīng)驗。接下來(lái),你需要做的就是更加的專(zhuān)業(yè)化,研究一些有生產(chǎn)意義的東西。如果你一直寫(xiě)學(xué)生管理系統,這些沒(méi)有價(jià)值沒(méi)有意義的東西,那么毫無(wú)意義。
這時(shí)候,你應該去互聯(lián)網(wǎng)公司驗證你學(xué)習的技能。除此之外,你可以去學(xué)習額外的成熟先進(jìn)技術(shù)棧。這樣,你就有實(shí)際業(yè)務(wù)經(jīng)驗,就有技術(shù)的寬度,同時(shí)又有深度,這就是你核心優(yōu)勢,畢竟算法/數據結構這些東西在競爭的時(shí)候大家都會(huì )。
畫(huà)外音:去實(shí)習,最好去大廠(chǎng)實(shí)習,接受互聯(lián)網(wǎng)軟件開(kāi)發(fā)的挑戰。要是不能,那么去研究實(shí)際企業(yè)技術(shù)棧的應用與底層實(shí)現。
舉個(gè)例子:
假設你是后端開(kāi)發(fā),你就可以去學(xué)習微服務(wù)的技術(shù)棧,springboot、dubbo、docker、hadoop都可以去學(xué)習。除此之外,設計模式,redis原理都可以去學(xué)習研究,只有這樣當你去面試的時(shí)候,你有很多話(huà)題和故事講給別人聽(tīng),你的專(zhuān)長(cháng)研究既可以讓你說(shuō)業(yè)務(wù)場(chǎng)景,你又可以講底層原理,對答如流
經(jīng)過(guò)上面的訓練,已經(jīng)具備了解決問(wèn)題、快速學(xué)習、編寫(xiě)代碼能力,也就是具備軟件工程師的職業(yè)素養和扎實(shí)基本功。
這時(shí)候,進(jìn)入互聯(lián)網(wǎng)公司開(kāi)啟職業(yè)道路,你將會(huì )很快有產(chǎn)出,不會(huì )陷入徘徊自閉的狀態(tài)。更何況,你的職業(yè)素養已經(jīng)能夠讓你遇到問(wèn)題,能快速的學(xué)習克服困難。但是,要是讓你去參加面試可不一定能獨善其身,畢竟工作擰螺絲,面試造火箭可不能疏忽大意。
接下來(lái),重點(diǎn)講一下如何應對面試?
面試也就是把自己賣(mài)出去,讓別人覺(jué)得你值。簡(jiǎn)歷是至關(guān)重要的環(huán)節,所有的知識和技能全都是圍繞它展開(kāi),否則毫無(wú)意義。因為在面試中,面試官關(guān)心你有什么,也就是面試完全圍繞著(zhù)你會(huì )的東西展開(kāi)提問(wèn),所以你就把你的優(yōu)勢發(fā)揮到極致就行。
環(huán)節一:準備簡(jiǎn)歷
簡(jiǎn)歷一定要認真對待,一定要簡(jiǎn)介精煉,盡可能把內容壓縮到一頁(yè),畢竟簡(jiǎn)歷篩選就30秒不到。這時(shí)候,簡(jiǎn)歷排版、簡(jiǎn)歷字體、簡(jiǎn)歷模板都有講究,細節決定成敗。
在寫(xiě)簡(jiǎn)歷的時(shí)候,主要分為個(gè)人資料、實(shí)習經(jīng)歷、項目經(jīng)歷、專(zhuān)業(yè)技能。其實(shí),沒(méi)什么技巧,參考STAR原則,重點(diǎn)體現你在項目中的價(jià)值和思考。
1.要體現做了什么事情?2.遇到什么困難?3.怎么解決的?4.產(chǎn)出是什么?
假設有讀者需要簡(jiǎn)歷模板,可關(guān)注提供給大家。
環(huán)節二:梳理知識體系和刷面經(jīng)
以前,學(xué)習知識是零散的,學(xué)習策略更多是面向解決問(wèn)題,以至于知識不系統,表達邏輯層次有限。面試官邏輯思維強,所以你必須做好充足準備才能脫穎而出。
最好的策略就是梳理知識體系和準備面經(jīng),我們都知道要是你面試官問(wèn)的問(wèn)題是你剛好熟悉的問(wèn)題,你豈不是輕松闖關(guān)成功?所以,準備考綱、梳理知識體系、瘋狂刷題這就是最好的策略。
按照互聯(lián)網(wǎng)面試流程大多數分為三輪面。
一輪面試:主要是考察計算機基礎知識和擅長(cháng)語(yǔ)言基礎知識,重點(diǎn)考察數據結構/算法、網(wǎng)絡(luò )編程、擅長(cháng)語(yǔ)言基礎。但是,絕對不是死記硬背的東西,一定是深度和廣度緊密結合,環(huán)環(huán)相扣直到把你肚子里的東西全部挖出來(lái)。
舉個(gè)例子:
1.獲取鏈表倒數第N個(gè)節點(diǎn)的值,只遍歷一次。2.有一個(gè)1G大小的一個(gè)文件,里面每一行是一個(gè)詞,詞的大小不超過(guò)16字節,內存限制大小是1M,返回頻數最高的100個(gè)詞。3.談?wù)凥ashMap,說(shuō)下它們的數據結構?4.Key在HashCode取余以后,它可能全部堆積在某幾個(gè)Key對應的鏈表上,這樣就會(huì )造成該數據結構存儲或者查詢(xún)低效,那怎么解決呢?5.為什么會(huì )鏈表要變成紅黑樹(shù),什么時(shí)候從鏈表變成紅黑樹(shù),什么時(shí)候從紅黑樹(shù)變回鏈表?6.假設多個(gè)線(xiàn)程并發(fā)訪(fǎng)問(wèn),那可能造成容器更新或者操作出現問(wèn)題?7.除了使用synchronized加同步鎖,還有沒(méi)有其他辦法解決呢?8.為什么采用CAS,能說(shuō)一下ConcurrentHashMap的具體實(shí)現嗎?
你會(huì )發(fā)現每個(gè)問(wèn)題都是環(huán)環(huán)相扣,從簡(jiǎn)單到難,目的就是挖掘出你的極限。大多數情況都是,從數據結構/算法入手,擴展到編程語(yǔ)言特性,再擴展到并發(fā)/網(wǎng)絡(luò )編程不斷進(jìn)行深挖。當直接問(wèn)實(shí)際用法應試者答不出來(lái)的時(shí)候,就會(huì )再次引入到計算機基礎知識,這樣不斷反復調度試探應試者的是深度和廣度。
二輪面試:這輪考察實(shí)習/項目經(jīng)歷,重點(diǎn)考察你的面試儲備。眾所周知,大部分應屆生項目經(jīng)驗十分有限,大多數是圖書(shū)館管理系統、電商系統這樣。重點(diǎn)說(shuō)一下應對策略,可以去網(wǎng)上找你做的項目可能遇到的領(lǐng)域難題,去找解決辦法,最終擴展補充到你的項目中。
三輪面試:這輪面試更多是小組經(jīng)理考察應試者的邏輯思維、抗壓、時(shí)間管理等基礎能力,看是否能融入團隊,畢竟適合團隊的才是最好的。
這里主要講了思路和應對策略,至于篇幅有限,面試題只能讀者自己梳理,假設有需要后續再聊。大體的思路:
1.梳理知識體系看面試可能考哪些東西?2.去網(wǎng)上搜尋和整理面試題?3.把數據結構/算法、并發(fā)/網(wǎng)絡(luò )編程、項目實(shí)戰串聯(lián)起來(lái),還要學(xué)會(huì )理論知識和實(shí)戰中來(lái)回串聯(lián)。
總之,作為普通學(xué)校的同學(xué),你只有花更加多的時(shí)間在項目實(shí)戰中,實(shí)習/打比賽/逛開(kāi)源社區,這些時(shí)間讓你更快接近成為職業(yè)軟件工程師。當機會(huì )來(lái)臨的時(shí)候,你抓住機會(huì )就踏入大廠(chǎng)的大門(mén)了,幸運永遠不會(huì )無(wú)緣無(wú)故眷顧你。
*博客內容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀(guān)點(diǎn),如有侵權請聯(lián)系工作人員刪除。