前言
看了許多面試相關(guān)的文章,總結(jié)出高頻面試題目,整理到這里。
重點(diǎn)知識
JVM內(nèi)存管理機(jī)制和垃圾回收機(jī)制(基本每次面試都會問,一定要搞得透徹)
JVM內(nèi)存調(diào)優(yōu)(了解是怎么回事铡买,一般做項目過程中使用較多)
設(shè)計模式(熟悉常見設(shè)計模式的應(yīng)用場景,會畫類圖霎箍,實在不行背幾個也是有用的)
多線程(每次都會問奇钞,包括線程和進(jìn)程、線程狀態(tài)朋沮、線程并發(fā)的操作等蛇券,需要深入復(fù)習(xí))
JAVA集合類框架(理解框架圖、HashMap樊拓、ArrayList纠亚、HashSet等的關(guān)系和區(qū)別,其中HashMap的存儲機(jī)制幾乎每次都有問)
JAVA的異常處理機(jī)制(異常的分類筋夏、常見的異常有哪些蒂胞、Try catch finally的使用)
JVM運(yùn)行機(jī)制(理解JVM是如何運(yùn)行的)
linux命令http://www.php100.com/html/webkaifa/Linux/2009/1106/3485.html
數(shù)據(jù)結(jié)構(gòu)和算法
常見的排序算法就不說了,需要理解其原理和會寫代碼条篷,還有時間空間復(fù)雜度也要知道
隊列骗随、棧:需要理解其存取結(jié)構(gòu),并能在某些場景下使用
二叉樹:樹的遍歷赴叹、樹的深度鸿染、按層次輸出、平衡二叉樹乞巧、逆序打印樹等
鏈表:逆序涨椒、合并兩有序的鏈表、判斷鏈表是否又環(huán)绽媒、鏈表倒數(shù)第K個元素等
字符串:KMP算法蚕冬、動態(tài)規(guī)劃(這個是重點(diǎn),需要好好理解動態(tài)規(guī)劃是辕,常見的題有:求解最長回文子串囤热、求解最長公共子串等)
海量數(shù)據(jù)處理:現(xiàn)在好多大公司都會問海量數(shù)據(jù)的處理,所以需要掌握常見的處理方法获三,比如Bit-map旁蔼、分而治之锨苏、hash映射等,可以百度看看相關(guān)的文章牌芋,加深理解 (Bit-map蚓炬、分而治之松逊、hash映射躺屁、分布式處理(Hadoop)、Trie樹经宏、雙層桶排序等)
數(shù)據(jù)庫相關(guān)(數(shù)據(jù)庫是面試的重點(diǎn)犀暑,每家公司都會問)
最基本的數(shù)據(jù)庫CRUD操作要熟悉,能夠根據(jù)表寫出需要的SQL語句
事務(wù)烁兰、零時表耐亏、索引、表鎖沪斟、行列鎖广辰、視圖、存儲過程等都要深入理解
互聯(lián)網(wǎng)公司處理的數(shù)據(jù)量都很大主之,所以有必要對數(shù)據(jù)庫優(yōu)化和大數(shù)據(jù)的處理進(jìn)行了解和熟悉
建議看看Nosql和redis等非關(guān)系數(shù)據(jù)庫相關(guān)的書籍和資料
開源框架
spring
mybatis
netty
需要閱讀源碼
說說開源框架中用到的設(shè)計模式择吊、設(shè)計思想