從零基礎到拿到網易Java實習offer,談談我的學習經驗

微信公眾號【程序員江湖】

作者黃小斜,斜杠青年,某985碩士,阿里研發工程師,于2018 年秋招拿到 BAT 頭條、網易、滴滴等 8 個大廠 offer

個人擅長領域 :自學編程、技術校園招聘、軟件工程考研(關注公眾號后回復”資料“即可領取 3T 免費技術學習資源)

?



作為一個非科班小白,我在讀研期間基本是自學Java,從一開始幾乎零基礎,只有一點點數據結構和Java方面的基礎,到最終獲得網易游戲的Java實習offer,我大概用了半年左右的時間。本文將會講到我在這半年里做對了哪些事情。

前言


研究生時期的方向選擇

對于即將讀研的同學來說,一般有兩件事很重要,一件事是選擇導師,一件事是選擇方向。

我就讀于華中科技大學,主修軟件工程專業,我在剛讀研的時候最頭疼的也是這兩件事情。首先說明一下,我讀的是專碩,所以實驗室一般不搞科研,有部分導師會帶項目,由于我不打算在實驗室做項目(因為我更希望去大公司里鍛煉幾年),所以我當時本著想要找實習的想法選擇了導師,事實證明我的選擇還是很正確的,我在研二有大段時間去參加實習,讓我在大廠里有足夠的時間去鍛煉和學習。

而選擇方向這件事,我倒是折騰了好久。研一期間我做的最多的事情就是看書了,當時自己的方向還不明確,所以找了很多書來看。當別人都在專研數據挖掘和機器學習時,我還在各種方向之間搖擺不定。

我在讀研之前想做游戲開發和Android開發,但我以前也學過Java Web開發。于是我在網上了解對應方向的資訊,發現游戲研發的就業面比較窄。

最后,我綜合公司的崗位情況,個人興趣,以及我之前的學習經歷等因素,選定了Java開發方向。

于是,我在學校的實訓項目中選擇了Java Web項目,從此也真正意義上地踏上了Java的學習之路。

笨鳥先飛,勤能補拙

盡管我的入學成績是全學院的top3,但是,我發現,作為非科班出身的我,和很多科班同學相比,還是有一定差距的。

大部分同學本科都上過計算機專業的相關課程,比如計算機網絡,操作系統,數據結構等等,而我以前連聽都沒聽過,除此之外,他們一般都會幾段比較完整的項目經驗,至少在Java Web方面已經算是比較熟悉了。而我在當時,只學了數據結構,另外接觸過一些Java基礎,有一部分項目經驗,基本上就是入門水平。

于是我痛定思痛,決定好好彌補我的不足,平時一有空就去圖書館找些書來看,不論是操作系統,計算機網絡,還是數據庫等本科課程,我都會找一些對應的書籍來看,當時不太清楚其實有些課程其實不需要特地去補,以至于我連計算機組成原理,編譯原理,軟件測試等方面的書都特地找來看,現在想想也是挺逗比的。

由于我們上的課比較水,所以上課時間反而變成了我自學基礎課程的大好時光了。所以我平時上課的時候都會帶兩三本書,一到兩周內看完一本,雖然可能吸收的不是特別好,但是對當時的我來說還是有很大幫助的。

此之外,有時候我還會偷偷去旁聽有一些本科生的課程,這也是因為我在自學一些課程的時候遇到了困難,比如《操作系統》,《數據庫原理》等等。于是我花時間研究了一下本科生的課表,趁著自己沒課的時候趕緊去旁聽課程。有時候感覺自己在課堂中顯得非常突兀,尷尬地想要逃跑,但總算是堅持地聽完了一門數據庫的課程。

此外,我還在各種視頻網站上看網課,比亦或是看中國MOOC的計算機基礎課程,里面的操作系統,數據庫等課程也讓我印象深刻。

就這樣,每天我都把自己的時間填滿,愣是在研一上學期看了好幾本書,當時書的版本現在有的記不清了,主要是計算機網絡,操作系統,計算機組成原理,另外還有軟件工程,軟件測試,設計模式,等書籍。就這樣,我靠著這段時間的堅持把計算機基礎課程補上來了一些。

歷盡艱辛,終得實習

時間來到研一下半頁,這時候我剛剛結束了學校的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這個我懂。


原諒我忘記了詳細的面試內容,畢竟年代太過久遠。

如果你是Java方向的同學,那么我打算向你安利我的另一個微信公眾號【Java技術江湖】這是一位阿里Java工程師的技術小站,致力于分享Java后端技術文章,以及這幾年學習Java的心得體會,偶爾也記錄在阿里成長的點滴,和大家一起在Java學習道路上成長。

?



找實習的經驗總結

1、寫好你的簡歷,要實事求是。找實習對項目的要求不會很高,但是基礎要比較扎實。


2、夯實你的基礎,多看書和博客,勤做總結,面經可以用于查缺補漏,但不是全部。


3、同一家公司的面試一般有記錄(冷卻期),做好準備再去面試,否則可能浪費機會。


4、春招的實習生叫做統招實習生,非春招的實習生叫做日常實習生,一般前者的面試難度比較大,后者面試難度比較小,所以,兩者有一定區別,可能在后續實習內容和轉正難度上會體現出差異,大家可以權衡一下。


5 、找實習有幾個網站你需要知道:實習僧,牛客網,拉勾。


6、面試過程中記得問清楚能不能轉正,這對你后續的選擇影響重大。


最后說一點:其實實習沒那么難找,一般崗位要求也會比校招低,所以你可以“挑剔”一點,有機會最好選擇你喜歡的部門,我當時沒太注意這一點,所以特地補充。

后記

現在是11月份,找實習的小伙伴們開始著手準備了嗎,要知道,復習這種事,宜早不宜遲呀,學弟學妹們趕緊開始吧。

另外,本文可能沒有把找實習的技巧和經驗講的很仔細,后面會繼續推出這方面的文章。

除此之外,關于在網易游戲和百度實習的那些事,我也會寫一篇文章,讓大家提前了解實習生活是什樣的。


?



本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/279927.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/279927.shtml
英文地址,請注明出處:http://en.pswp.cn/news/279927.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【Win 10 應用開發】UI Composition 札記(二):基本構件

在上一篇中,老周用一個示例,演示了框架視圖的創建過程,在本篇中,老周將給大伙伴們說一下 Composition 構建 UI 的一些“零件”。 UI Composition 有一個核心類——對,就是 Compositor 類,它是總生產車間&am…

禁用內置鍵盤_如何禁用Windows 10的所有內置廣告

禁用內置鍵盤Windows 10 has a lot of built-in advertising. This isn’t just about the free upgrade offer: Even if you purchase a new PC that comes with a Windows 10 license or spend $200 for a copy of Windows 10 Professional, you’ll see ads in your operati…

zbb20180710 maven Failed to read artifact descriptor--maven

Failed to read artifact descriptor--maven2016年09月10日 13:30:46閱讀數:13036在開發的過程中,作為新手,經常遇到Maven下載依賴的時候,"Failed to read artifact descriptor for xxx:jar"的錯誤對于這種非業務相關的問題,耽誤時間非常不效率,看到網站很…

震驚!頂著 39.5℃高燒 ,我和這哥倆都聊了些啥?

這是頭哥侃碼的第271篇原創上周三,我邀請了兩位嘉賓進入直播間,即便自己頂著 39.5 度的高燒,還是強打精神與這哥倆聊了倆小時。相信關注我的朋友們都知道,我是頭哥侃碼的主理人,同時也是上海TGO上海分會董事會成員。趙…

CAS原理分析及ABA問題詳解

什么是CAS CAS即Compare And Swap的縮寫,翻譯成中文就是比較并交換,其作用是讓CPU比較內存中某個值是否和預期的值相同,如果相同則將這個值更新為新值,不相同則不做更新,也就是CAS是原子性的操作(讀和寫兩者同時具有原…

在Windows Mobile模擬器(Emulator)建立網絡連接

因為想使用Windows Mobile Emulator進行網絡通信程序的測試,所以找方法配置Emulator的網絡連接。在網上找了一些文章,很多都說需要安裝Virtual PC 2007. 例如下面的文章Enable Network Connection Windows Mobile 6 Emulator 如果需要 Virtual PC 2007 可…

api游戲編程鼠標選擇拖動_如何選擇合適的游戲鼠標

api游戲編程鼠標選擇拖動You don’t need a gaming mouse to play PC games—just about any mouse with two buttons and a wheel will play anything you want it to. But that’s no reason to deny yourself the wonderful variety of gaming mouse designs on the market.…

iOS - 上架的APP 生成二維碼下載

1.首先打開蘋果App Store商店進入到里面,找到需要打開鏈接地址的應用程序,例如:百度。2. 在App Store商店里面先點擊一下應用程序圖標,再按一下…分享按鈕。 3. 接著選擇分享APP,再點擊拷貝鏈接地址,將應用…

Rsa2加密報錯java.security.spec.InvalidKeySpecException的解決辦法

最近在和支付寶支付做個對接,Java項目中用到了RSA2進行加解密,在加密過程中遇到了錯誤: java.security.spec.InvalidKeySpecException: java.security.InvalidKeyException: IOException : algid parse error, not a sequence 代碼執行到這句…

淺析領域驅動設計

1.概要DDD(Domain-driven design,模型驅動設計)是一種軟件設計的指導思想,而非固定的一套公式化開發模板(這樣就會導致網絡上出現各種基于自己或業務上的理解而產出的DDD落地的實現,會讓很想學習的開發者迷…

Delphi實現的透明陰影以及蒙版效果菜單

QQ2010的皮膚控件目前實現了一部分,看到有些軟件的菜單,都有陰影,透明等效果,于是開始重新實現菜單控件,QQ2009版的菜單控件,是自己從TComponent繼承了完全模擬實現的一個菜單,雖然實現了菜單控…

cortana搜索框_如何在Windows 10任務欄上隱藏Cortana搜索框

cortana搜索框One of the most talked about features in the latest version of Windows 10 was the Cortana personal assistant that is integrated directly into the taskbar. But what if you don’t want to waste all that taskbar space? 最新版本的Windows 10中最受…

Kotlin 基礎 - 數據類型

一、Boolean 類型 Boolean 值有兩個值,分別為 true 或 false。多數情況下,Kotlin 中的 Boolean 相當于 Java 中的基本類型 boolean,只有在必要的情況下才會裝箱成為 Java 中的裝箱類型 Boolean。這一切都是交由編譯器來完成,我們無…

全框眼鏡拆卸鏡片方法分享

全框眼鏡拆卸鏡片方法分享http://www.iqiyi.com/w_19ru97p1n9.html 很多直接用手掰就成(眼鏡布) 轉載于:https://www.cnblogs.com/OceanF/p/9288411.html

發送http請求

public static String httpGetSend(String url) {String responseMsg "";HttpClient httpClient new HttpClient();GetMethod getMethod new GetMethod(url);// GET請求try {// http超時5秒httpClient.getHttpConnectionManager().getParams().setConnectionTimeo…

微軟公布Entity Framework 8.0規劃

微軟.NET團隊在博客上公布了有關 Entity Framework Core 8.0(也稱為 EF Core 8 或 EF8)的未來規劃。EF Core 8 是 EF Core 7 之后的下一個版本,這將是一個長期支持版本;計劃于 2023 年 11 月與 .NET 8 同時發布。該公司表示&#…

roku能不能安裝軟件_如何阻止假期更改Roku主題

roku能不能安裝軟件Wondering why your Roku looks…different? Roku occasionally changes the background for its millions of users, something they call a “featured theme.” 想知道為什么您的Roku看起來...不同嗎? Roku偶爾會改變其數百萬用戶的背景&…

助力AIoT,雅觀科技發布空間智能化操作系統

雷鋒網(公眾號:雷鋒網)消息,3月14日,雅觀科技在上海舉辦了“「AI」悟及物 「柔」生萬屋”2019雅觀科技新品發布會,發布了空間智能化操作系統Akeeta、空間智能化柔性服務技術中臺Matrix,以及基于兩者開發的雅觀智慧社區…

HTTP與HTTPS區別(詳細)

轉:http://blog.sina.com.cn/s/blog_6eb3177a0102x66r.html 1、減少http請求(合并文件、合并圖片)2、優化圖片文件,減小其尺寸,特別是縮略圖,一定要按尺寸生成縮略圖然后調用,不要在網頁中用res…

Ajenti-Linux控制面板之自動化運維工具

ajenti http://ajenti.org/ https://github.com/ajenti/ajenti 源碼 http://docs.ajenti.org/en/latest/ http://docs.ajenti.org/en/latest/man/install.html# 安裝部署Fast remote access for every occasion Install once and never google for PuTTY downloads again. An…