2020校招Java開發(fā)面試知識(shí)點(diǎn)解析(附最新筆面試題)

前言

6月馬上要到了,很多互聯(lián)網(wǎng)企業(yè)都開始了校招耳胎。

互聯(lián)網(wǎng)校招時(shí)間早惯吕,崗位多惕它,并且每家的筆面試都不同。一份合適的筆面試資料废登,絕對(duì)能提高你的校招通過率淹魄!

Java 一些知識(shí)點(diǎn)

1.Java基礎(chǔ)知識(shí)點(diǎn)

2.Java常見集合

3.高并發(fā)編程(JUC包)

4.JVM內(nèi)存管理

5.Java?8 知識(shí)點(diǎn)

6.網(wǎng)絡(luò)協(xié)議相關(guān)

7.數(shù)據(jù)庫相關(guān)

8.MVC框架相關(guān)

9.大數(shù)據(jù)相關(guān)

10.Linux命令相關(guān)

面試,是大家從學(xué)校走向社會(huì)的第一步堡距。

互聯(lián)網(wǎng)公司的校園招聘甲锡,從形式上說,面試一般分為2-3 輪技術(shù)面試 +1 輪 HR 面試羽戒。

但是一些公司確實(shí)是沒有HR 面試的缤沦,直接就是三輪技術(shù)面。

技術(shù)面試中易稠,面試官一般會(huì)先就你所應(yīng)聘的崗位進(jìn)行相關(guān)知識(shí)的考察缸废,也叫基礎(chǔ)知識(shí)和業(yè)務(wù)邏輯面試。

只要你回答的不是特別差驶社,面試官通常會(huì)說:“咱們寫個(gè)代碼吧”企量,這個(gè)時(shí)候就開始了算法面試。

也就是說亡电,一輪技術(shù)面試= 基礎(chǔ)知識(shí)和業(yè)務(wù)邏輯面試 + 算法面試梁钾。

本文我們主要從技術(shù)面試聊起。技術(shù)面試包括:業(yè)務(wù)邏輯和基礎(chǔ)知識(shí)面試逊抡。

首先是業(yè)務(wù)邏輯面試,也就是講項(xiàng)目零酪。

面試官會(huì)對(duì)你簡(jiǎn)歷上寫的若干個(gè)項(xiàng)目其中之一拿出來和你聊聊冒嫡。在期間,會(huì)針對(duì)你所做的東西進(jìn)行深度挖掘四苇。

包括:為什么要這么做孝凌??jī)?yōu)缺點(diǎn)分析,假如重新讓你做一次月腋,你打算怎么做蟀架?等等。這個(gè)環(huán)節(jié)主要考察我們對(duì)自己做過的項(xiàng)目(實(shí)習(xí)項(xiàng)目或者校內(nèi)項(xiàng)目)是否有一個(gè)清晰的認(rèn)識(shí)榆骚。

關(guān)于業(yè)務(wù)邏輯面試的準(zhǔn)備片拍,建議在平時(shí)多多思考總結(jié),對(duì)項(xiàng)目的數(shù)據(jù)來源妓肢、整體運(yùn)行框架都應(yīng)該熟悉掌握捌省。

比如說你在某公司實(shí)習(xí)過程中,就可以進(jìn)行總結(jié)碉钠,而不必等到快離職的時(shí)候慌慌張張的去總結(jié)該項(xiàng)目纲缓。

Java 基礎(chǔ)知識(shí)

01. 面向?qū)ο蟮奶匦杂心男?/b>

封裝卷拘、繼承和多態(tài)。

02. Java 中覆蓋和重載是什么意思祝高?

覆蓋(Override)是指子類對(duì)父類方法的一種重寫栗弟,只能比父類拋出更少的異常,訪問權(quán)限不能比父類的小工闺。

被覆蓋的方法不能是private 的乍赫,否則只是在子類中重新定義了一個(gè)方法;重載(Overload)表示同一個(gè)類中可以有多個(gè)名稱相同的方法斤寂,但這些方法的參數(shù)列表各不相同耿焊。

那么構(gòu)成重載的條件有哪些?

參數(shù)類型不同遍搞、參數(shù)個(gè)數(shù)不同罗侯、參數(shù)順序不同。

函數(shù)的返回值不同可以構(gòu)成重載嗎溪猿?為什么钩杰?

不可以,因?yàn)镴ava 中調(diào)用函數(shù)并不需要強(qiáng)制賦值诊县。舉例如下:

如下兩個(gè)方法:

 void?f(){}    int?f(){ return?1;}

只要編譯器可以根據(jù)語境明確判斷出語義讲弄,比如在int x = f();中,那么的確可以據(jù)此區(qū)分重載方法依痊。

不過避除,有時(shí)你并不關(guān)心方法的返回值,你想要的是方法調(diào)用的其他效果(這常被稱為“為了副作用而調(diào)用”)胸嘁,這時(shí)你可能會(huì)調(diào)用方法而忽略其返回值瓶摆,所以如果像下面的調(diào)用:

fun();

此時(shí)Java 如何才能判斷調(diào)用的是哪一個(gè) f( ) 呢?別人如何理解這種代碼呢性宏?所以群井,根據(jù)方法返回值來區(qū)分重載方法是行不通的。

03. 抽象類和接口的區(qū)別有哪些毫胜?

[if !supportLists]·?[endif]抽象類中可以沒有抽象方法书斜;接口中的方法必須是抽象方法;

[if !supportLists]·?[endif]抽象類中可以有普通的成員變量酵使;接口中的變量必須是static final 類型的荐吉,必須被初始化 , 接口中只有常量,沒有變量口渔。

[if !supportLists]·?[endif]抽象類只能單繼承稍坯,接口可以繼承多個(gè)父接口;

[if !supportLists]·?[endif]Java8 中接口中會(huì)有 default 方法,即方法可以被實(shí)現(xiàn)瞧哟。

04.Java 和 C++ 的區(qū)別:

解析:雖然我們不太懂C++混巧,但是就是會(huì)這么問,尤其是三面(總監(jiān)級(jí)別)面試中勤揩。

[if !supportLists]·?[endif]都是面向?qū)ο蟮恼Z言咧党,都支持封裝、繼承和多態(tài)陨亡;

[if !supportLists]·?[endif]指針:Java 不提供指針來直接訪問內(nèi)存傍衡,程序更加安全;

[if !supportLists]·?[endif]繼承:Java 的類是單繼承的负蠕,C++ 支持多重繼承蛙埂; Java 通過一個(gè)類實(shí)現(xiàn)多個(gè)接口來實(shí)現(xiàn) C++ 中的多重繼承; Java 中類不可以多繼承遮糖,但是P宓摹!欲账!接口可以多繼承屡江;

[if !supportLists]·?[endif]內(nèi)存:Java 有自動(dòng)內(nèi)存管理機(jī)制,不需要程序員手動(dòng)釋放無用內(nèi)存赛不。

05. JDK 中常用的包有哪些惩嘉?

java.lang、java.util踢故、java.io文黎、java.net、java.sql殿较。

07. JDK臊诊,JRE 和 JVM 的聯(lián)系和區(qū)別:

[if !supportLists]·?[endif]JDK 是 java 開發(fā)工具包,是 java 開發(fā)環(huán)境的核心組件斜脂,并提供編譯、調(diào)試和運(yùn)行一個(gè) java 程序所需要的所有工具触机,可執(zhí)行文件和二進(jìn)制文件帚戳,是一個(gè)平臺(tái)特定的軟件。

[if !supportLists]·?[endif]JRE 是 java 運(yùn)行時(shí)環(huán)境儡首,是 JVM 的實(shí)施實(shí)現(xiàn)片任,提供了運(yùn)行 java 程序的平臺(tái)。JRE 包含了 JVM蔬胯,但是不包含 java 編譯器 / 調(diào)試器之類的開發(fā)工具对供。

[if !supportLists]·?[endif]JVM 是 java 虛擬機(jī),當(dāng)我們運(yùn)行一個(gè)程序時(shí),JVM 負(fù)責(zé)將字節(jié)碼轉(zhuǎn)換為特定機(jī)器代碼产场,JVM 提供了內(nèi)存管理 / 垃圾回收和安全機(jī)制等鹅髓。

這種獨(dú)立于硬件和操作系統(tǒng),正是java 程序可以一次編寫多處執(zhí)行的原因京景。

區(qū)別:

[if !supportLists]·?[endif]JDK 用于開發(fā)窿冯,JRE 用于運(yùn)行 java 程序;

[if !supportLists]·?[endif]JDK 和 JRE 中都包含 JVM确徙;

[if !supportLists]·?[endif]JVM 是 java 編程語言的核心并且具有平臺(tái)獨(dú)立性醒串。

篇幅原因,需要詳細(xì)答案的可以加Java校招資料QQ群:967051845

Java 中常見集合

[if !supportLists]1.?[endif]說說常見的集合有哪些吧鄙皇?

[if !supportLists]2.?[endif]HashMap 和 Hashtable 的區(qū)別有哪些芜赌?(必問)

[if !supportLists]3.?[endif]HashMap 的底層實(shí)現(xiàn)你知道嗎?

[if !supportLists]4.?[endif]ConcurrentHashMap 和 Hashtable 的區(qū)別伴逸? (必問)

[if !supportLists]5.?[endif]HashMap 的長(zhǎng)度為什么是 2 的冪次方缠沈?

[if !supportLists]6.?[endif]List 和 Set 的區(qū)別是啥?

[if !supportLists]7.?[endif]List违柏、Set 和 Map 的初始容量和加載因子

[if !supportLists]8.?[endif]Comparable 接口和 Comparator 接口有什么區(qū)別博烂?

[if !supportLists]9.?[endif]Java 集合的快速失敗機(jī)制 “fail-fast”

高并發(fā)編程

在Java 5.0 提供了 java.util.concurrent(簡(jiǎn)稱 JUC )包,在此包中增加了在并發(fā)編程中很常用的實(shí)用工具類漱竖,用于定義類似于線程的自定義子系統(tǒng)禽篱,包括線程池、異步 IO 和輕量級(jí)任務(wù)框架馍惹。

[if !supportLists]1.?[endif]多線程和單線程的區(qū)別和聯(lián)系:

[if !supportLists]2.?[endif]如何指定多個(gè)線程的執(zhí)行順序躺率?

[if !supportLists]3.?[endif]線程和進(jìn)程的區(qū)別(必考)

[if !supportLists]4.?[endif]多線程產(chǎn)生死鎖的4 個(gè)必要條件?

[if !supportLists]5.?[endif]sleep( ) 和 wait( n)万矾、wait( ) 的區(qū)別:

[if !supportLists]6.?[endif]synchronized 關(guān)鍵字:

[if !supportLists]7.?[endif]volatile 關(guān)鍵字

[if !supportLists]8.?[endif]ThreadLocal(線程局部變量)關(guān)鍵字:

[if !supportLists]9.?[endif]Atomic 關(guān)鍵字:

[if !supportLists]10.?[endif]線程池有了解嗎悼吱?(必考)

JVM 內(nèi)存管理

既然是Java 開發(fā)面試,那么對(duì) JVM 的考察當(dāng)然也是必須的良狈,面試官一般會(huì)問你對(duì) JVM 有了解嗎后添?

我通常都會(huì)把我所了解的都說一遍,包括:JVM 內(nèi)存劃分薪丁、JVM 垃圾回收的含義遇西,有哪些 GC 算法,年輕代和老年代各自的特點(diǎn)統(tǒng)統(tǒng)闡述一遍严嗜。

[if !supportLists]1.?[endif]JVM 內(nèi)存劃分:

[if !supportLists]2.?[endif]類似-Xms粱檀、-Xmn 這些參數(shù)的含義:

[if !supportLists]3.?[endif]垃圾回收算法有哪些?

[if !supportLists]4.?[endif]root 搜索算法中漫玄,哪些可以作為 root茄蚯?

[if !supportLists]5.?[endif]GC 什么時(shí)候開始?

[if !supportLists]6.?[endif]內(nèi)存泄漏和內(nèi)存溢出

Java 8 相關(guān)知識(shí)

關(guān)于Java8 中新知識(shí)點(diǎn),面試官會(huì)讓你說說 Java8 你了解多少渗常,下邊主要闡述我所了解壮不,并且在面試中回答的 Java8 新增知識(shí)點(diǎn)。

0.1 HashMap 的底層實(shí)現(xiàn)有變化

[if !supportLists]1.?[endif]JVM 內(nèi)存管理方面凳谦,由元空間代替了永久代忆畅。

[if !supportLists]2.?[endif]Lambda 表達(dá)式

[if !supportLists]3.?[endif]函數(shù)式接口

[if !supportLists]4.?[endif]引入重復(fù)注解

[if !supportLists]5.?[endif]接口中可以實(shí)現(xiàn)方法default 方法。

[if !supportLists]6.?[endif]注解的使用場(chǎng)景拓寬

[if !supportLists]7.?[endif]新的包java.time 包

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末尸执,一起剝皮案震驚了整個(gè)濱河市家凯,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌如失,老刑警劉巖绊诲,帶你破解...
    沈念sama閱讀 216,372評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異褪贵,居然都是意外死亡掂之,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門脆丁,熙熙樓的掌柜王于貴愁眉苦臉地迎上來世舰,“玉大人,你說我怎么就攤上這事槽卫「梗” “怎么了?”我有些...
    開封第一講書人閱讀 162,415評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵歼培,是天一觀的道長(zhǎng)震蒋。 經(jīng)常有香客問我,道長(zhǎng)躲庄,這世上最難降的妖魔是什么查剖? 我笑而不...
    開封第一講書人閱讀 58,157評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮噪窘,結(jié)果婚禮上笋庄,老公的妹妹穿的比我還像新娘。我一直安慰自己倔监,他們只是感情好直砂,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評(píng)論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著丐枉,像睡著了一般。 火紅的嫁衣襯著肌膚如雪掘托。 梳的紋絲不亂的頭發(fā)上瘦锹,一...
    開封第一講書人閱讀 51,125評(píng)論 1 297
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼弯院。 笑死辱士,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的听绳。 我是一名探鬼主播颂碘,決...
    沈念sama閱讀 40,028評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼椅挣!你這毒婦竟也來了头岔?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,887評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤鼠证,失蹤者是張志新(化名)和其女友劉穎峡竣,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體量九,經(jīng)...
    沈念sama閱讀 45,310評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡适掰,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了荠列。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片类浪。...
    茶點(diǎn)故事閱讀 39,690評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖肌似,靈堂內(nèi)的尸體忽然破棺而出费就,到底是詐尸還是另有隱情,我是刑警寧澤锈嫩,帶...
    沈念sama閱讀 35,411評(píng)論 5 343
  • 正文 年R本政府宣布受楼,位于F島的核電站,受9級(jí)特大地震影響呼寸,放射性物質(zhì)發(fā)生泄漏艳汽。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評(píng)論 3 325
  • 文/蒙蒙 一对雪、第九天 我趴在偏房一處隱蔽的房頂上張望河狐。 院中可真熱鬧,春花似錦瑟捣、人聲如沸馋艺。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽捐祠。三九已至,卻和暖如春桑李,著一層夾襖步出監(jiān)牢的瞬間踱蛀,已是汗流浹背窿给。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評(píng)論 1 268
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留率拒,地道東北人崩泡。 一個(gè)月前我還...
    沈念sama閱讀 47,693評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像猬膨,于是被迫代替她去往敵國(guó)和親角撞。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容