作為一個非科班小白,我在讀研期間基本是自學Java,從一開始幾乎零基礎,只有一點點數據結構和Java方面的基礎,到最終獲得網易游戲的Java實習offer,我大概用了半年左右的時間。本文將會講到我在這半年裡做對了哪些事情。 前言 研究生時期的方向選擇 對於即將讀研的同學來說,一般有兩件事很重要,一件 ...
作為一個非科班小白,我在讀研期間基本是自學Java,從一開始幾乎零基礎,只有一點點數據結構和Java方面的基礎,到最終獲得網易游戲的Java實習offer,我大概用了半年左右的時間。本文將會講到我在這半年裡做對了哪些事情。
前言
研究生時期的方向選擇
對於即將讀研的同學來說,一般有兩件事很重要,一件事是選擇導師,一件事是選擇方向。
我就讀於華中科技大學,主修軟體工程專業,我在剛讀研的時候最頭疼的也是這兩件事情。首先說明一下,我讀的是專碩,所以實驗室一般不搞科研,有部分導師會帶項目,由於我不打算在實驗室做項目(因為我更希望去大公司里鍛煉幾年),所以我當時本著想要找實習的想法選擇了導師,事實證明我的選擇還是很正確的,我在研二有大段時間去參加實習,讓我在大廠里有足夠的時間去鍛煉和學習。
而選擇方向這件事,我倒是折騰了好久。研一期間我做的最多的事情就是看書了,當時自己的方向還不明確,所以找了很多書來看。當別人都在專研數據挖掘和機器學習時,我還在各種方向之間搖擺不定。
我在讀研之前想做游戲開發和Android開發,但我以前也學過Java Web開發。於是我在網上瞭解對應方向的資訊,發現游戲研發的就業面比較窄。
最後,我綜合公司的崗位情況,個人興趣,以及我之前的學習經歷等因素,選定了Java開發方向。
於是,我在學校的實訓項目中選擇了Java Web項目,從此也真正意義上地踏上了Java的學習之路。
笨鳥先飛,勤能補拙
儘管我的入學成績是全學院的top3,但是,我發現,作為非科班出身的我,和很多科班同學相比,還是有一定差距的。
大部分同學本科都上過電腦專業的相關課程,比如電腦網路,操作系統,數據結構等等,而我以前連聽都沒聽過,除此之外,他們一般都會幾段比較完整的項目經驗,至少在Java Web方面已經算是比較熟悉了。而我在當時,只學了數據結構,另外接觸過一些Java基礎,有一部分項目經驗,基本上就是入門水平。
於是我痛定思痛,決定好好彌補我的不足,平時一有空就去圖書館找些書來看,不論是操作系統,電腦網路,還是資料庫等本科課程,我都會找一些對應的書籍來看,當時不太清楚其實有些課程其實不需要特地去補,以至於我連電腦組成原理,編譯原理,軟體測試等方面的書都特地找來看,現在想想也是挺逗比的。
由於我們上的課比較水,所以上課時間反而變成了我自學基礎課程的大好時光了。所以我平時上課的時候都會帶兩三本書,一到兩周內看完一本,雖然可能吸收的不是特別好,但是對當時的我來說還是有很大幫助的。
除此之外,有時候我還會偷偷去旁聽有一些本科生的課程,這也是因為我在自學一些課程的時候遇到了困難,比如《操作系統》,《資料庫原理》等等。於是我花時間研究了一下本科生的課表,趁著自己沒課的時候趕緊去旁聽課程。有時候感覺自己在課堂中顯得非常突兀,尷尬地想要逃跑,但總算是堅持地聽完了一門資料庫的課程。
此外,我還在各種視頻網站上看網課,比亦或是看電腦基礎課程,裡面的操作系統,資料庫等課程也讓我印象深刻。
就這樣,每天我都把自己的時間填滿,愣是在研一上學期看了好幾本書,當時書的版本現在有的記不清了,主要是電腦網路,操作系統,電腦組成原理,另外還有軟體工程,軟體測試,設計模式,等書籍。就這樣,我靠著這段時間的堅持把電腦基礎課程補上來了一些。
歷盡艱辛,終得實習
時間來到研一下半頁,這時候我剛剛結束了學校的Java Web的項目實訓課程,在做這個項目期間,我發現自己暴露出了很多問題,技術實踐能力不足,Java基礎不扎實。這件事情也給我自己敲響了警鐘,因為我計劃在春招期間找一份大廠的實習,但是目前看來我的水平還遠遠不夠。
壓力之下,只有努力一條出路。於是,從那時候起,我開始了“留守“實驗室的學習生活。為什麼要在實驗室學習,一是因為學習氣氛好,二是因為平時大家也可以互相交流問題。
每天早上9點到實驗室打開電腦,晚上9點背電腦回寢室。大部分時間我會花在看書上,這段時間主要看的都是Java相關的書籍,借鑒的是江南白衣大佬的“Java後端書架”,比如《深入理解JVM虛擬機》,《Java併發編程藝術》,《深入分析Java Web技術內幕》,《深入剖析Spring源碼》等等。
另外一部分時間我會用來看一些技術博客,我主要是根據面經上的知識點按圖索驥,找到對應講解該知識點的文章,那時候主要還是通過搜索引擎來找文章,當然有時候看到一些重點難點也會自己寫一些博客。不過這個時期並不是我大量寫博客的階段,主要還是看一些講解面試知識點的技術博客為主。
除此之外在面試前幾天我會花時間去看這家公司的面經,搞懂每一個面經上的知識點,並且記錄在我的筆記上,光是面經相關的筆記我就記了100多篇,這樣的學習習慣我一直堅持到了秋招,確保每個面試知識點都能被我記住,消化,直至完全理解。
慢慢的,筆記越來越多,我參加面試的公司也越來越多,於是我開始不斷完善自己的簡歷,總結自己的面試技巧,選擇合適的網申時機。從頭到尾我大概花了3個月的時間在找實習上,期間大大小小參加了20多次面試,我也從一開始面試一問三不知的菜鳥,逐漸變成了面霸,到複習末期,我對Java常見面試知識點已經瞭然於胸,同時也越來越自信,不管面什麼大廠都不慌不忙。*
這樣的日子持續了好幾個月,所謂世上無難事,只怕有心人。到最後,實驗室里每個人都拿到了心儀的實習offer。
實習面試回顧
當初找實習的時候投簡歷比較暴力,基本上就是海投,好幾個網站一起投,當時根本不知道有什麼面試黑名單(冷卻期),所以經常毫無準備地去面試大廠,結果可想而知。可惜當時還沒有養成記錄面經的習慣,所以大致地大家分享一下麵試經歷吧。
下麵我按照面試時間先後記錄一下麵試流程,時間歷程大概是從11月初到第二年3月初。
百度:此時的我還處於零基礎狀態,一問三不知,面試官語氣和緩地勸退。
(深受打擊,開始瘋狂學習,刷面經,打基礎)
新浪,搜狐,愛奇藝等巴拉巴拉:基本一輪游,偶爾能過一面。
(自我否定自我懷疑中,然後開始看書,學原理和進階內容)
網易,頭條(作死),去哪兒,攜程等:雖然進步了一些,但是還是沒有拿到最後的offer。
(繼續瘋狂看書,刷博客,刷面經,然後開始做總結,寫博客)
到第二年的春天,我繼續新的徵程。
美麗聯合,CVTE,美團,網易游戲:都拿了offer。
重點說一下拿了offer的這幾家的面試經歷吧。
美麗聯合:當時是視頻面試,技術問題比較基礎,就是常見的Java基礎問題,比如集合類,多線程,JVM等等。同時還問了一些場景問題,算是比較有難度的了。當時經歷了兩次面試,大概面了一個多小時,最終收穫offer。
CVTE:這個是現場面試,技術面試就問了幾道資料庫的問題,總監面則是讓我把簡歷項目的資料庫設計講清楚,可以說是很簡單了。hr面則聊了半個小時,最後得到了offer。
美團:當時參加的是遠程面試,應該是電話面試,問的問題比較有難度,除了Java基礎問題,還會問一些多線程啊,鎖和同步之類的問題,面試持續一個多小時,最後給了offer。
網易游戲:當時是兩輪電話面試。第一輪是技術面試,持續時間一個小時,基本把我之前複習的內容都問了一遍,從Java基礎,集合類,再到併發編程,設計模式,資料庫等等,另外還問了後端架構相關的問題。總體答得還不錯,二面只出了兩道智力題,答出來一道,然後面試官問我玩哪些網易游戲,emmm這個我懂。
原諒我忘記了詳細的面試內容,畢竟年代太過久遠。
找實習的經驗總結
1、寫好你的簡歷,要實事求是。找實習對項目的要求不會很高,但是基礎要比較扎實。
2、夯實你的基礎,多看書和博客,勤做總結,面經可以用於查缺補漏,但不是全部。
3、同一家公司的面試一般有記錄(冷卻期),做好準備再去面試,否則可能浪費機會。
4、春招的實習生叫做統招實習生,非春招的實習生叫做日常實習生,一般前者的面試難度比較大,後者面試難度比較小,所以,兩者有一定區別,可能在後續實習內容和轉正難度上會體現出差異,大家可以權衡一下。
5 、找實習有幾個網站你需要知道:實習僧,牛客網,拉勾。
6、面試過程中記得問清楚能不能轉正,這對你後續的選擇影響重大。
最後說一點:其實實習沒那麼難找,一般崗位要求也會比校招低,所以你可以“挑剔”一點,有機會最好選擇你喜歡的部門,我當時沒太註意這一點,所以特地補充。
後記
現在是11月份,找實習的小伙伴們開始著手準備了嗎,要知道,複習這種事,宜早不宜遲呀,學弟學妹們趕緊開始吧。
另外,本文可能沒有把找實習的技巧和經驗講的很仔細,後面會繼續推出這方面的文章。
除此之外,關於在網易游戲和百度實習的那些事,我也會寫一篇文章,讓大家提前瞭解實習生活是什樣的。
微信公眾號
個人公眾號:黃小斜
黃小斜是跨考軟體工程的 985 碩士,自學 Java 兩年,拿到了 BAT 等近十家大廠 offer,從技術小白成長為阿裡工程師。
作者專註於 JAVA 後端技術棧,熱衷於分享程式員乾貨、學習經驗、求職心得和程式人生,目前黃小斜的CSDN博客有百萬+訪問量,知乎粉絲2W+,全網已有10W+讀者。
黃小斜是一個斜杠青年,堅持學習和寫作,相信終身學習的力量,希望和更多的程式員交朋友,一起進步和成長!
原創電子書:
關註公眾號【黃小斜】後回覆【原創電子書】即可領取我原創的電子書《菜鳥程式員修煉手冊:從技術小白到阿裡巴巴Java工程師》
程式員3T技術學習資源: 一些程式員學習技術的資源大禮包,關註公眾號後,後臺回覆關鍵字 “資料” 即可免費無套路獲取。
考研複習資料:
電腦考研大禮包,都是我自己考研複習時用的一些複習資料,包括公共課和專業的複習視頻,這裡也推薦給大家,關註公眾號後,後臺回覆關鍵字 “考研” 即可免費獲取。
技術公眾號:Java技術江湖
如果大家想要實時關註我更新的文章以及分享的乾貨的話,可以關註我的公眾號【Java技術江湖】一位阿裡 Java 工程師的技術小站,作者黃小斜,專註 Java 相關技術:SSM、SpringBoot、MySQL、分散式、中間件、集群、Linux、網路、多線程,偶爾講點Docker、ELK,同時也分享技術乾貨和學習經驗,致力於Java全棧開發!
Java工程師必備學習資源: 一些Java工程師常用學習資源,關註公眾號後,後臺回覆關鍵字 “Java” 即可免費無套路獲取。
本文由博客一文多發平臺 OpenWrite 發佈!