欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java面試經(jīng)驗(yàn)+最新BAT面試資料分享給大家(小結(jié))

  發(fā)布時(shí)間:2019-05-08 15:24:29   作者:十年架構(gòu)貓   我要評論
這篇文章主要介紹了Java面試經(jīng)驗(yàn)+最新BAT面試資料分享給大家,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

前言

致那些迷茫的JAVA面試者(特別是南京的1-4年經(jīng)驗(yàn)),致那些奮發(fā)的年輕人,致自己。寫這篇博文主要也是對我的成長道路的記錄,面試受挫后的反思,及對自己的勉勵(lì)。

Java面試經(jīng)驗(yàn)總結(jié)

最近3個(gè)月一口氣面了十幾家公司的Java開發(fā)崗,大大小小的面試筆試加起來快20場,收獲很多。本人即將畢業(yè),在一家國企實(shí)習(xí)做java開發(fā),感覺自己很水,剛開始面試時(shí)發(fā)現(xiàn)自己掌握的東西與外面企業(yè)流行的技術(shù)有些代差,所以一邊面試一邊總結(jié),感覺面試時(shí)問的東西明顯和自己平常了解的不太一樣,所以給自己做了一個(gè)總結(jié),希望對以后的面試有所啟發(fā)。

一 面試到底在問些什么東西?

首先你要明確的是面試官所問的內(nèi)容一定和你簡歷所寫的東西是緊密聯(lián)系的,一般你沒有寫在簡歷上的技能,面試官很少會(huì)去提問。

面試大體上包括下面幾方面知識類型:

  • Java基礎(chǔ)、多線程、IO與NIO、虛擬機(jī)、設(shè)計(jì)模式
  • 數(shù)據(jù)結(jié)構(gòu)與算法(要有手寫算法的能力)
  • 計(jì)算機(jī)網(wǎng)絡(luò)(TCP三次握手和四次揮手)
  • 數(shù)據(jù)通信(RESTful、RPC、消息隊(duì)列)
  • 操作系統(tǒng)(Linux的基本命令以及使用)
  • 主流框架(Spring底層原理與源碼問的很多)
  • 數(shù)據(jù)存儲(chǔ)(最常見的是MySQL、Redis)
  • 分布式

除了這些東西還有什么其他問題:

  • 實(shí)際場景題
  • 生活方面的問題
  • 性格/其他方面的問題

二、面試常問的知識點(diǎn)

1)集合相關(guān)問題(必問)

  • HashMap、LinkedHashMap、ConcurrentHashMap、ArrayList、LinkedList的底層實(shí)現(xiàn)
  • HashMap和Hashtable的區(qū)別
  • ArrayList、LinkedList、Vector的區(qū)別
  • HashMap和ConcurrentHashMap的區(qū)別
  • HashMap和LinkedHashMap的區(qū)別
  • HashMap是線程安全的嗎
  • ConcurrentHashMap是怎么實(shí)現(xiàn)線程安全的
  • HashMap 的長度為什么是2的冪次方

2)多線程并發(fā)相關(guān)問題(必問)

  • 創(chuàng)建線程的3種方式
  • 什么是線程安全
  • Runnable接口和Callable接口的區(qū)別
  • wait方法和sleep方法的區(qū)別
  • synchronized、Lock、ReentrantLock、ReadWriteLock
  • 介紹下CAS(無鎖技術(shù)),什么是悲觀鎖和樂觀鎖
  • volatile關(guān)鍵字的作用和原理
  • 什么是ThreadLocal
  • 創(chuàng)建線程池的4種方式
  • ThreadPoolExecutor的內(nèi)部工作原理
  • 分布式環(huán)境下,怎么保證線程安全
  • synchronized和lock區(qū)別以及volatile和synchronized的區(qū)別

3)JVM相關(guān)問題

  • 介紹下垃圾收集機(jī)制(在什么時(shí)候,對什么,做了什么)。
  • 垃圾收集有哪些算法,各自的特點(diǎn)。
  • 類加載的過程。
  • 雙親委派模型。
  • 有哪些類加載器。
  • 能不能自己寫一個(gè)類叫java.lang.String。

4)設(shè)計(jì)模式相關(guān)問題(必問)

設(shè)計(jì)模式比較常見的就是讓你手寫一個(gè)單例模式(注意單例模式的幾種不同的實(shí)現(xiàn)方法)或者讓你說一下某個(gè)常見的設(shè)計(jì)模式在你的項(xiàng)目中是如何使用的,另外面試官還有可能問你抽象工廠和工廠方法模式的區(qū)別、工廠模式的思想這樣的問題。

另外,建議把代理模式、觀察者模式、(抽象)工廠模式好好看一下,這三個(gè)設(shè)計(jì)模式很有用。

5)數(shù)據(jù)庫相關(guān)問題,針對MySQL(必問)

  • 給題目讓你手寫SQL。
  • 有沒有SQL優(yōu)化經(jīng)驗(yàn)。
  • MySQL索引的數(shù)據(jù)結(jié)構(gòu)。
  • SQL怎么進(jìn)行優(yōu)化。
  • SQL關(guān)鍵字的執(zhí)行順序。
  • 有哪幾種索引。
  • 什么時(shí)候該(不該)建索引。
  • Explain包含哪些列。

6)框架相關(guān)問題

  • Hibernate和Mybatis的區(qū)別。
  • Spring MVC和Struts2的區(qū)別。
  • Spring用了哪些設(shè)計(jì)模式。
  • Spring中AOP主要用來做什么。
  • Spring注入bean的方式。
  • 什么是IOC,什么是依賴注入。
  • Spring是單例還是多例,怎么修改。
  • Spring事務(wù)隔離級別和傳播性。
  • 介紹下Mybatis/Hibernate的緩存機(jī)制。
  • Mybatis的mapper文件中#和$的區(qū)別。
  • Mybatis的mapper文件中resultType和resultMap的區(qū)別。

7)其他遇到問題

  • 介紹下棧和隊(duì)列。
  • IO和NIO的區(qū)別。
  • 接口和抽象類的區(qū)別。
  • int和Integer的自動(dòng)拆箱/裝箱相關(guān)問題。
  • 常量池相關(guān)問題。
  • ==和equals的區(qū)別。
  • 什么是JDK?什么是JRE?什么是JVM?三者之間的聯(lián)系與區(qū)別
  • Java和C++的區(qū)別
  • 重載和重寫的區(qū)別。
  • String和StringBuilder、StringBuffer的區(qū)別。
  • 靜態(tài)變量、實(shí)例變量、局部變量線程安全嗎,為什么。
  • try、catch、finally都有return語句時(shí)執(zhí)行哪個(gè)。
  • 介紹下B樹、二叉樹。
  • 分布式鎖的實(shí)現(xiàn)。
  • 分布式session存儲(chǔ)解決方案。
  • 常用的linux命令。

四、一些經(jīng)驗(yàn)分享

  • 先投一些普通公司,等面出了心得再去投理想的公司。
  • 不熟悉的技術(shù)不要主動(dòng)提。
  • 對于那種實(shí)習(xí)期6個(gè)月還打8折的公司,除非你沒有其他選擇了,否則不要去。 另外,小公司喜歡在薪水上壓你,開的時(shí)候適當(dāng)提高。
  • 不要去參加招聘會(huì),純粹是浪費(fèi)時(shí)間。
  • 把面試當(dāng)作一次技術(shù)的交流,不要太在意是否能被錄取。
  • 公司一般面完就決定是否錄取了,讓你回去等消息這種情況一般沒戲,無論你自己覺得面的有多好。
  • 盡量少通過電話面試,效果不好。
  • 在面試的日子里,要保持每天學(xué)習(xí),無論是學(xué)習(xí)新東西還是復(fù)習(xí)舊東西。
  • 拿到offer了,問問自己這個(gè)公司讓自己100%滿意了嗎,如果不是,請繼續(xù)努力找更好的。
  • 通過面試官可以大概判斷這家公司的情況。
  • 問到自己有深入研究過的知識,抓住機(jī)會(huì)好好表現(xiàn),不要輕易放過。
     

相關(guān)文章

最新評論