關(guān)于Java崗校招的筆試和面試

如果你正在開始準(zhǔn)備校招,希望可以幫到你。

筆試

筆試準(zhǔn)備

算法題是筆試中最重要的部分:

  • 劍指offer,建議必刷。
  • LeetCode 算法題200道,基本可以從容面對各種筆試面試的算法題。
  • LeetCode 上同樣提供了SQL語句的練習(xí)

除此之外一些銀行、手機廠商會考選擇題和代碼填空題:

  • 選擇題一般可分為:
    • 語言:前期開始準(zhǔn)備的時候可以到牛客上刷對應(yīng)的選擇題,中后期不建議刷。
    • 計算機網(wǎng)絡(luò):TCP/IP協(xié)議棧、端口計算。
    • 找規(guī)律、計算題等。
  • 代碼填空(以Java為例):
    • 常見的排序
    • 一些常見的API:反射、線程、文件讀取

筆試前需要

  • 閱讀筆試的規(guī)則,需要注意是否可以使用本地IDE進(jìn)行編碼。
  • 進(jìn)入筆試測試鏈接,提前熟悉OJ平臺的輸入輸出規(guī)則,特別是輸入。
  • 筆試開始前10-15分鐘進(jìn)入考試界面,準(zhǔn)備好紙和筆。
  • 注意不要電腦分屏,會被判作弊。

面試

面試前一定要對自己的簡歷非常熟悉,包括:項目的背景、需求、業(yè)務(wù)邏輯、部署環(huán)境、并發(fā)量、使用的線程池等,這是體現(xiàn)這個項目是真的自己做的,另一方面是項目用到的技術(shù)棧,常規(guī)的用法以及背后涉及的設(shè)計原理,這是自身知識深度的體現(xiàn)。

寫簡歷的時候需要換位思考,多想一下如果你是面試官看到這個項目會問什么問題。通過思維導(dǎo)圖抽象出簡歷上所涉及到的知識點。

推薦書籍

  • [1] 基礎(chǔ):《Java核心技術(shù)卷一》(入門)、《Think in Java》(建議有一定開發(fā)經(jīng)驗后閱讀,扎實基礎(chǔ))
  • [2] JVM:《Java虛擬機-JVM高級特性與最佳實踐》
  • [3] 并發(fā): 《Java并發(fā)編程藝術(shù)》
  • [4] 數(shù)據(jù)庫:《MySQL技術(shù)內(nèi)幕》
  • [5] 網(wǎng)絡(luò):《TCP/IP詳解-卷一》、《圖解HTTP》
  • [6] 分布式:《分布式服務(wù)架構(gòu):原理、設(shè)計與實踐》(此書不面向面試)
  • [7] zookeeper:《zookeeper分布式過程協(xié)同技術(shù)詳解》、《從paxos到Zookeeper》
  • [8] Netty:《Nettty權(quán)威指南》
  • [9] Redis:《Redis深度歷險:核心原理和應(yīng)用實踐》(寫得非常好懂)

以上是我秋招準(zhǔn)備的時候看過的一些書,內(nèi)容很多需要抓住重點。[7-8]根據(jù)自己的項目確定技術(shù)棧,選擇對應(yīng)的書籍,不限于這些。

面試內(nèi)容

面試可分為大致幾個部分:

  • 自我介紹:需要提前準(zhǔn)備,一般3-5分鐘,要有條理性。針對不同的公司或者崗位準(zhǔn)備不同的自我介紹。體現(xiàn)自己的閃光點:論文、開源項目、競賽、成績年級第一等。技術(shù)面不需要介紹社團(tuán)活動之類的。HR就面可以增加一人文類內(nèi)容:才藝、社團(tuán)活動、主持、演講之類的啊。

  • 面試官提問類型(Java研發(fā)為例,以下順序不定,每個面試官的習(xí)慣不一樣):

    • 語言基礎(chǔ)知識,關(guān)鍵詞【這些知識點有的是并列有的是包含關(guān)系】:并發(fā)、JVM、常見集合類、Currency包、類的加載和雙親委派、CAS、Synchronized、各種線程池、volatile、各種鎖、GC算法、JVM內(nèi)存模型等。
    • 計算機網(wǎng)絡(luò),關(guān)鍵詞:TCP/IP協(xié)議棧,【HTTP,HTTP1.1,HTTP2】的區(qū)別、HTTPS協(xié)議棧的流程、【TCP的三次握手四次揮手,為啥】、UDP、DNS等。
    • 數(shù)據(jù)庫【MySQL為例】:索引類型、【索引的數(shù)據(jù)結(jié)構(gòu),為啥用這個】、數(shù)據(jù)庫的隔離級別,【MySQL的默認(rèn)隔離級別,如何實現(xiàn)安全的讀(MVCC)和寫(幾種鎖)】、聯(lián)結(jié)方式等、數(shù)據(jù)庫引擎的類型和特點等。
    • 有的面試官在問項目之前為讓你介紹你覺得對自己提升最大的項目,哪里提升最大。
    • 項目:項目的場景、某些業(yè)務(wù)的邏輯、并發(fā)量和某些實現(xiàn)細(xì)節(jié)。所采用的技術(shù)框架的原理和某些應(yīng)用。如:【spring的bean加載流程,如何解決循環(huán)引用】、【zookeeper的觀察者模式怎么實現(xiàn)的、如何實現(xiàn)一個分布式鎖、讀寫鎖、獨占鎖?Paxos算法來一下】。根據(jù)自己的項目來準(zhǔn)備。
    • 場景題:TopK問題、海量數(shù)據(jù)排序等。
    • 手撕代碼:大部分出自《劍指offer》,也有LeetCode上的。難度低于筆試。當(dāng)然也會有非常簡單的排序題,請注意這類題請快速!正確!地寫出來,注意代碼規(guī)范,??我的美團(tuán)三面掛在了冒泡寫了10分鐘,說來慚愧,為秋招留下了一大遺憾??????。
    • 其他:論文、讀書、成績等。如實回答即可。
  • 反問階段:一般都有反問階段,除非面試官太忙。推薦問:部門的情況、業(yè)務(wù)、產(chǎn)品、技術(shù)棧,如果能夠進(jìn)去可以從事哪方面的開發(fā)任務(wù)。一定要瘋狂暗示對貴公司感興趣,就是你了。盡量不要問一些很難的技術(shù)問題【您會手寫紅黑樹嗎???】,面試中有價值的問題可以反問,其實下來之后在網(wǎng)上也是可以找到的。

這是一個StringBuilder和StringBuffer引發(fā)的面試血案-國內(nèi)Java面試總是問StringBuffer,StringBuilder區(qū)別是啥?檔次為什么這么低? - Hollis的回答 - 知乎
上面的回答是一個變態(tài)的面試過程,所謂的深挖知識點。雖然夸張,但是基本是涵蓋了所有方面。

面試前需要

  • 一定要找一個安靜沒有噪音的地方。
  • 確定面試形式,視頻面注意有個干凈整潔的個人形象;電話面試建議戴上耳機,不要把手機放在耳朵旁。
  • 旁邊準(zhǔn)備好紙和筆,有些東西一邊闡述一邊在紙上畫出來會更有調(diào)理。

面試中

  • 緊張!我身邊的人大多數(shù)人第一次面試都會緊張的,所以不要第一就去面試心怡的公司,??先找?guī)讉€備胎公司面試一下【備胎做錯了啥】,或者找人模擬幾次面試?;救沃缶筒粫o張了,五面之后摸清面試套路內(nèi)心有點小激動,十面之后面試就是這么的樸實無華且枯燥,十五面之后自我介紹已經(jīng)說吐了給我offer八。
  • 遇到不會的問題有三種思路:1. 當(dāng)然是不會就是不會,不要瞎扯,特別是一些死概念或者完全不懂的領(lǐng)域。2. 對于原理或者底層實現(xiàn)不知道的可以這樣說:我下來沒有看過具體怎么實現(xiàn)的,但是我覺得或者我來會怎么實現(xiàn)。3. 反問面試官,有的時候是沒有聽清楚或者沒有理解到一些技術(shù)名詞,其實是有準(zhǔn)備到的知識點,這時候需要反問面試官確定一下或者讓他稍微解釋一下這個名詞。
  • 真男人從不回頭??,回答完一個問題不要再去想,迅速進(jìn)入面試官問的下一個問題。

最近在幫團(tuán)隊收簡歷,上面很多是投遞同學(xué)經(jīng)常問的問題,但是暫時先想到這么多,后面再補。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容