北京Java培訓
達內北京中關村中心

010-62126400

熱門課程

北京java培訓:如何準備大廠面試?如何變的更強?

  • 時間:2020-03-17 16:47
  • 發布:北京java培訓
  • 來源:筆試題

文章內容適用于每一個學習 Java 的朋友!達內北京java培訓機構給大家分享java面試,比如從大廠招聘要求中我們能看到哪些重要的能力,我們該朝什么方向努力?

共勉!

下面的文章的部分內容在我早期文章中出現過,老讀者應該一眼就可以看出來了。廢話不多說,開始正文!

我覺得每一個技術人的夢想大概就是能夠找一份大廠的 offer,我覺得這很正常,這并不是我們的飯后談資而是每個技術人的追求。像阿里、騰訊、美團、字節跳動、京東等等大廠的技術氛圍還是要明顯優于一些創業型公司 / 小公司,如果說能夠在這樣的公司鍛煉幾年,相信對自己能力的提升還是非常大的。

當然,很多創業公司的鍛煉也很大,不過大部分都是 CRUD 的工作,你甚至還要同時去寫前端。剛畢業的時候做 CRUD 的工作沒什么,如果一直這樣做下去就有問題了。

不論是筆試還是面試都是有章可循的,但是,一定要不要想著如何去應付面試,糊弄面試官,這樣做終究是欺騙自己。這篇文章的目的也主要想讓大家知道自己應該從哪些方向去準備面試,有哪些方向可以提高自己的能力。

網上已經有很多面經了,但是我認為網上的各種面經僅僅只能作為參考,你的實際面試與之還是有一些區別的。另外如果要在網上看別人的面經的話,建議即要看別人成功的案例也要適當看看別人失敗的案例。看面經沒問題,不論是你要找工作還是平時學習,這都是一種比較好地檢驗自己水平的一種方式。但是,一定不要過分寄希望于各種面經,試著去提高自己的綜合能力。

“ 80% 的 offer 掌握在 20% 的人手 ” 中這句話也不是不無道理的。決定你面試能否成功的因素中實力固然占有很大一部分比例,但是如果你的心態或者說運氣不好的話,依然無法拿到滿意的 offer。

運氣暫且不談,就拿心態來說,千萬不要因為面試失敗而氣餒或者說懷疑自己的能力,面試失敗之后多總結一下失敗的原因,后面你就會發現自己會越來越強大。

另外,我只是在這里分享一下自己對于 “ 如何備戰大廠面試/如何提高自己能力 ” 的一個看法,以下大部分理論/言辭都經過過反復推敲驗證,如果有不對的地方或者和你想法不同的地方,請您敬請雅正、不舍賜教。

從招聘要求看大廠青睞什么樣的人?

先從已經有兩年左右開發經驗的工程師角度來看: 我們來看一下阿里官網支付寶Java高級開發工程師的招聘要求,從下面的招聘信息可以看出,除去Java基礎/集合/多線程這些,這些能力格外重要:

底層知識比如jvm :不只是懂理論更會實操;

面向對象編程能力 :我理解這個不僅包括“面向對象編程”,還有SOLID軟件設計原則,相關閱讀:《寫了這么多年代碼,你真的了解SOLID嗎?》(我司大佬的一篇文章)

框架能力 :不只是使用那么簡單,更要搞懂原理和機制!搞懂原理和機制的基礎是要學會看源碼。

分布式系統開發能力 :緩存、消息隊列等等都要掌握,關鍵是還要能使用這些技術解決實際問題而不是紙上談兵。

不錯的sense :喜歡和嘗試新技術、追求編寫優雅的代碼等等。

再從應屆生的角度來看: 我們還是看阿里巴巴的官網相關應屆生 Java 工程師招聘崗位的相關要求。

結合阿里、騰訊等大廠招聘官網對于 Java 后端方向/后端方向的應屆實習生的要求下面幾點也提升你的個人競爭力:

參加過競賽( 含金量超高的是 ACM );

對數據結構與算法非常熟練;

參與過實際項目(比如學校網站)

熟悉 Python、Shell、Perl 其中一門腳本語言;

熟悉如何優化 Java 代碼、有寫出質量更高的代碼的意識;

熟悉 SOA 分布式相關的知識尤其是理論知識;

熟悉自己所用框架的底層知識比如 Spring;

有高并發開發經驗;

有大數據開發經驗等等。

從來到大學之后,我的好多閱歷非常深的老師經常就會告誡我們:“ 一定要有一門自己的特長,不管是技術還好還是其他能力 ” 。我覺得這句話真的非常有道理!

剛剛也提到了要有一門特長,所以在這里再強調一點:公司不需要你什么都會,但是在某一方面你一定要有過于常人的優點。換言之就是我們不需要去掌握每一門技術(你也沒精力去掌握這么多技術),而是需要去深入研究某一門技術,對于其他技術我們可以簡單了解一下。

技術面可能會問哪些方向的問題?

你準備面試的話首先要搞清技術面可能會被問哪些方向的問題吧!

我直接用思維導圖的形式展示出來吧!這樣更加直觀形象一點,細化到某個知識點的話這張圖沒有介紹到,留個懸念,下篇文章會詳細介紹。

上面思維導圖大概涵蓋了技術面試可能會設計的技術,但是你不需要把上面的每一個知識點都搞得很熟悉,要分清主次,對于自己不熟悉的技術不要寫在簡歷上,對于自己簡單了解的技術不要說自己熟練掌握!

如何獲取大廠面試機會?

不論是對于社招還是校招,我們都有下面幾種方式來獲得面試機會:

各種招聘網站上投遞簡歷或者關注大廠官網,隨時投遞簡歷(走流程的網申)

找到師兄師姐/認識的人,幫忙內推(能夠讓你避開網申簡歷篩選,還是挺不錯的,不過也還是需要你的簡歷夠棒);

博客發文被看中 /Github優秀開源項目作者,大廠內部人員邀請你面試;

如何做自我介紹?

自我介紹一般是你和面試官的第一次面對面正式交流,換位思考一下,假如你是面試官的話,你想聽到被你面試的人如何介紹自己呢?一定不是客套地說說自己喜歡編程、平時花了很多時間來學習、自己的興趣愛好是打球吧?

我覺得一個好的自我介紹應該包含這幾點要素:

用簡單的話說清楚自己主要的技術棧于擅長的領域;

把重點放在自己在行的地方以及自己的優勢之處;

重點突出自己的能力比如自己的定位的bug的能力特別厲害;

從社招和校招兩個角度來舉例子吧!我下面的兩個例子僅供參考,自我介紹并不需要死記硬背,記住要說的要點,面試的時候根據公司的情況臨場發揮也是沒問題的。另外,網上一般建議的是準備好兩份自我介紹:一份對hr說的,主要講能突出自己的經歷,會的編程技術一語帶過;另一份對技術面試官說的,主要講自己會的技術細節和項目經驗。

社招:

面試官,您好!我叫獨秀兒。我目前有1年半的工作經驗,熟練使用Spring、MyBatis等框架、了解 Java 底層原理比如JVM調優并且有著豐富的分布式開發經驗。離開上一家公司是因為我想在技術上得到更多的鍛煉。在上一個公司我參與了一個分布式電子交易系統的開發,負責搭建了整個項目的基礎架構并且通過分庫分表解決了原始數據庫以及一些相關表過于龐大的問題,目前這個網站最高支持 10 萬人同時訪問。工作之余,我利用自己的業余時間寫了一個簡單的 RPC 框架,這個框架用到了Netty進行網絡通信, 目前我已經將這個項目開源,在 Github 上收獲了 2k的 Star! 說到業余愛好的話,我比較喜歡通過博客整理分享自己所學知識,現在已經是多個博客平臺的認證作者。生活中我是一個比較積極樂觀的人,一般會通過運動打球的方式來放松。我一直都非常想加入貴公司,我覺得貴公司的文化和技術氛圍我都非常喜歡,期待能與你共事!

校招:

面試官,您好!我叫秀兒。大學時間我主要利用課外時間學習了 Java 以及 Spring、MyBatis等框架 。在校期間參與過一個考試系統的開發,這個系統的主要用了 Spring、MyBatis 和 shiro 這三種框架。我在其中主要擔任后端開發,主要負責了權限管理功能模塊的搭建。另外,我在大學的時候參加過一次軟件編程大賽,我和我的團隊做的在線訂餐系統成功獲得了第二名的成績。我還利用自己的業余時間寫了一個簡單的 RPC 框架,這個框架用到了Netty進行網絡通信, 目前我已經將這個項目開源,在 Github 上收獲了 2k的 Star! 說到業余愛好的話,我比較喜歡通過博客整理分享自己所學知識,現在已經是多個博客平臺的認證作者。生活中我是一個比較積極樂觀的人,一般會通過運動打球的方式來放松。我一直都非常想加入貴公司,我覺得貴公司的文化和技術氛圍我都非常喜歡,期待能與你共事!

如何介紹自己的項目經歷?

如果有項目的話,技術面試第一步,面試官一般都是讓你自己介紹一下你的項目。你可以從下面幾個方向來考慮:

對項目整體設計的一個感受(面試官可能會讓你畫系統的架構圖)

在這個項目中你負責了什么、做了什么、擔任了什么角色

從這個項目中你學會了那些東西,使用到了那些技術,學會了那些新技術的使用

另外項目描述中,最好可以體現自己的綜合素質,比如你是如何協調項目組成員協同開發的或者在遇到某一個棘手的問題的時候你是如何解決的又或者說你在這個項目用了什么技術實現了什么功能比如:用redis做緩存提高訪問速度和并發量、使用消息隊列削峰和降流等等。

我該如何學習?

如何學習?

最最最關鍵也是對自己最最最重要的就是學習!看看別人分享的面經,看看我寫的這篇文章估計你只需要10分鐘不到。但這些東西終究是空洞的理論,最主要的還是自己平時的學習!

如何去學呢?我覺得學習每個知識點可以考慮這樣去入手:

官網(大概率是英文,不推薦初學者看)。

書籍(知識更加系統完全,推薦)。

視頻(比較容易理解,推薦,特別是初學的時候。網上有挺多學習視頻可以看,只直接在上面搜索關鍵詞就可以了,點擊領取達內免費視頻課程)。

網上博客(解決某一知識點的問題的時候可以看看)。

這里給各位一個建議,看視頻的過程中最好跟著一起練,要做筆記!!!

最好可以邊看視頻邊找一本書籍看,看視頻沒弄懂的知識點一定要盡快解決,如何解決?

首先百度/Google,通過搜索引擎解決不了的話就找身邊的朋友或者認識的一些人。

學會各種框架有必要嗎?

一定要學會分配自己時間,要學的東西很多,真的很多,搞清楚哪些東西是重點,哪些東西僅僅了解就夠了。一定不要把精力都花在了學各種框架上,算法、數據結構還有計算機網絡真的很重要!

另外,學習的過程中有一個可以參考的文檔很重要,非常有助于自己的學習。

達內18年Java培訓經驗,精心打磨的Java課程,讓想提高技術的你,突破技術瓶頸,快速掌握最新技術,順利實現升職加薪。

對于有18年Java培訓經驗的達內來說,太了解對于初級Java開發者來說,擁有一套成體系,能把Java進階體系講清楚,且還富有一定實踐指導性的學習內容,是多么迫切的需要。(本文來源于網絡)

經過一系列課程調研、內容迭代,達內Java課程獲得了學員的一致認可。

來看一看這套課程的內容大綱,大項目貫穿學Java,系統的涵蓋了當下主流技術,誠意滿滿:

3月Java免費訓練營預約報名中,達內經典Java課程免費送,高薪技術,行業趨勢,名企入職推薦,近距離聽Java一線專家的觀點,成為高薪技術大牛,so easy!

18年技術積累的達內教育,引領行業的技術,一線技術專家,20多個熱門IT課程,15萬家就業合作企業。技術,求職,高薪,你的所有問題都能一站式解決!

80萬學員的高薪就業見證了達內的培訓效果。

上一篇:北京java培訓:面試了一個 46 歲程序員,思緒萬千……
下一篇:程序員面試必看,在選擇企業方面這8條千萬要注意!

馬上預約七天免費體驗課

姓名:

電話:

北京java培訓:如何準備大廠面試?如何變的更強?

北京java培訓:面試了一個 46 歲程序員,思緒萬千……

2020春招BAT面試題匯總,你能否拿到offer就看它了!

19年面試經歷分享:打怪升級之路

選擇城市和中心
江西省

貴州省

廣西省

海南省

豆奶最新版本下载