從零基礎到拿到網易Java實習offer,我做對了哪些事

来源:https://www.cnblogs.com/AliCoder/archive/2019/10/19/11706389.html
-Advertisement-
Play Games

作為一個非科班小白,我在讀研期間基本是自學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 發佈!


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • JavaScript 日期輸出 預設情況下,JavaScript 將使用瀏覽器的時區並將日期顯示為全文本字元串: 創建 Date 對象 Date 對象由新的 Date() 構造函數創建。 有 4 種方法創建新的日期對象: new Date() new Date(year, month, day, h ...
  • 1. Extract Method(提煉函數) 將代碼段放進一個獨立函數中,並讓函數名稱解釋該函數的用途。 示例: void printOwing(double amount) { printBanner(); //print details System.out.println("name: " ...
  • 前言 今天我們看的是訪問者模式【Visitor Pattern 】,我們理解訪問者模式這個名稱可能會有利於我們理解其核心代碼塊。我們看這麼個例子:我去朋友家做客,那麼朋友屬於主人,我則屬於訪問者。這時剛好朋友在炒菜,卻沒得醬油了。如果朋友下去買醬油將會很麻煩而且會影響炒菜。這時就到我這個訪問者出馬了 ...
  • 本文是我翻譯《JavaScript Concurrency》書籍的第二章 JavaScript運行模型,該書主要以Promises、Generator、Web workers等技術來講解JavaScript併發編程方面的實踐。 完整書籍翻譯地址: "https://github.com/yzsunl ...
  • 單獨的資料庫: 微服務設計的一個關鍵是資料庫設計,基本原則是每個服務都有自己單獨的資料庫,而且只有微服務本身可以訪問這個資料庫。它是基於下麵三個原因。 + 優化服務介面 :微服務之間的介面越小越好,最好只有服務調用介面(RPC或消息),沒有其他介面。如果微服務不能獨享自己的資料庫,那麼資料庫也變成了 ...
  • 前兩天看到 某個程式猿寫了個爬蟲,然後公司200多人被端, 作為在入門python 的小白, 產生了興趣,於是乎學習了下,寫了一個小爬蟲,做一些入門的抓爬,爬點美女圖片吧 ! let's do it 看一眼美女,寫代碼的興緻就上來了 爬蟲是通過找到要爬的圖片的url 然後進行下載, 這個url怎麼找 ...
  • 前端頁面代碼 <!-- enctype 定義form要上傳文件類型--> <form action="" method="post" id="t" enctype="multipart/form-data"> <!-- multiple 作用是可以同時選中多個文件,多張圖片 accept 指定inp ...
  • 寫在最前 我寫過很多篇秋招總結,這篇文章應該是最後一篇總結,當然也是最完整,最詳細的一篇總結。秋招是我人生中一段寶貴的經歷,不僅是我研究生生涯交出的一份答卷,也是未來職業生涯的開端。僅以此文,獻給自己,以及各位在求職路上的,或者是已經經歷過校招的朋友們。不忘初心,方得始終。 前言 在下本是跨專業渣考 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...