面试2年经验的Java程序员面试题部分带答案
生活随笔
收集整理的這篇文章主要介紹了
面试2年经验的Java程序员面试题部分带答案
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
求職說|Java成功就業(yè)指南http://www.itdongshi.com/show/79.html
求職說|2017年初BAT的JAVA面試題匯集https://www.itdongshi.com/show/93.html
Java程序員最常用的20%技術(shù)https://www.itdongshi.com/show/136.html
如何面對(duì)那些大廠的面試套路https://www.itdongshi.com/show/215.html
Java面試常見的問題上面給的Java面試題鏈接基本都有,關(guān)于Java面試最初我只提幾點(diǎn):1)寫SQL:寫SQL很常考察group by、內(nèi)連接和外連接。2)手寫代碼:手寫代碼一般考單例、排序、線程、消費(fèi)者生產(chǎn)者。我建議排序算法除了冒泡排序,最好還能手寫一種其他的排序代碼。試想:如果一般面試者都寫的冒泡排序,而你寫的是快速排序/堆排序,肯定能給面試官留下不錯(cuò)的印象。
面試2年工作經(jīng)驗(yàn)Java程序員面試題常問知識(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)線程安全的。? 2)線程相關(guān)問題(必問):? 創(chuàng)建線程的3種方式。? 什么是線程安全。? Runnable接口和Callable接口的區(qū)別。? wait方法和sleep方法的區(qū)別。? synchronized、Lock、ReentrantLock、ReadWriteLock。? 介紹下CAS(無鎖技術(shù))。? 什么是ThreadLocal。? 創(chuàng)建線程池的4種方式。? ThreadPoolExecutor的內(nèi)部工作原理。? 分布式環(huán)境下,怎么保證線程安全。 ? 3)JVM相關(guān)問題:? 介紹下垃圾收集機(jī)制(在什么時(shí)候,對(duì)什么,做了什么)。? 垃圾收集有哪些算法,各自的特點(diǎn)。? 類加載的過程。 雙親委派模型。? 有哪些類加載器。? 能不能自己寫一個(gè)類叫java.lang.String。? 4)設(shè)計(jì)模式相關(guān)問題(必問):? 先問你熟悉哪些設(shè)計(jì)模式,然后再具體問你某個(gè)設(shè)計(jì)模式具體實(shí)現(xiàn)和相關(guān)擴(kuò)展問題。? 5)數(shù)據(jù)庫相關(guān)問題,針對(duì)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包含哪些列。? Explain的Type列有哪幾種值。? 6)框架相關(guān)問題:? Hibernate和Mybatis的區(qū)別。? Spring MVC和Struts2的區(qū)別。? Spring用了哪些設(shè)計(jì)模式。? Spring中AOP主要用來做什么。? Spring注入bean的方式。? 什么是IOC,什么是依賴注入。? Spring是單例還是多例,怎么修改。? Spring事務(wù)隔離級(jí)別和傳播性。? 介紹下Mybatis/Hibernate的緩存機(jī)制。? Mybatis的mapper文件中#和$的區(qū)別。? Mybatis的mapper文件中resultType和resultMap的區(qū)別。? Mybatis中DAO層接口沒有寫實(shí)現(xiàn)類,Mapper中的方法和DAO接口方法是怎么綁定到一起的,其內(nèi)部是怎么實(shí)現(xiàn)的。 ? 7)其他遇到問題:? 介紹下棧和隊(duì)列。? IO和NIO的區(qū)別。? 接口和抽象類的區(qū)別。? int和Integer的自動(dòng)拆箱/裝箱相關(guān)問題。 常量池相關(guān)問題。? ==和equals的區(qū)別。? 重載和重寫的區(qū)別。? String和StringBuilder、StringBuffer的區(qū)別。? 靜態(tài)變量、實(shí)例變量、局部變量線程安全嗎,為什么。 try、catch、finally都有return語句時(shí)執(zhí)行哪個(gè)。? 介紹下B樹、二叉樹。? ajax的4個(gè)字母分別是什么意思。? xml全稱是什么。? 分布式鎖的實(shí)現(xiàn)。? 分布式session存儲(chǔ)解決方案。? 常用的linux命令。
Java面試常見的問題上面給的Java面試題鏈接基本都有,關(guān)于Java面試最初我只提幾點(diǎn):1)寫SQL:寫SQL很常考察group by、內(nèi)連接和外連接。2)手寫代碼:手寫代碼一般考單例、排序、線程、消費(fèi)者生產(chǎn)者。我建議排序算法除了冒泡排序,最好還能手寫一種其他的排序代碼。試想:如果一般面試者都寫的冒泡排序,而你寫的是快速排序/堆排序,肯定能給面試官留下不錯(cuò)的印象。
面試2年工作經(jīng)驗(yàn)Java程序員面試題常問知識(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)線程安全的。? 2)線程相關(guān)問題(必問):? 創(chuàng)建線程的3種方式。? 什么是線程安全。? Runnable接口和Callable接口的區(qū)別。? wait方法和sleep方法的區(qū)別。? synchronized、Lock、ReentrantLock、ReadWriteLock。? 介紹下CAS(無鎖技術(shù))。? 什么是ThreadLocal。? 創(chuàng)建線程池的4種方式。? ThreadPoolExecutor的內(nèi)部工作原理。? 分布式環(huán)境下,怎么保證線程安全。 ? 3)JVM相關(guān)問題:? 介紹下垃圾收集機(jī)制(在什么時(shí)候,對(duì)什么,做了什么)。? 垃圾收集有哪些算法,各自的特點(diǎn)。? 類加載的過程。 雙親委派模型。? 有哪些類加載器。? 能不能自己寫一個(gè)類叫java.lang.String。? 4)設(shè)計(jì)模式相關(guān)問題(必問):? 先問你熟悉哪些設(shè)計(jì)模式,然后再具體問你某個(gè)設(shè)計(jì)模式具體實(shí)現(xiàn)和相關(guān)擴(kuò)展問題。? 5)數(shù)據(jù)庫相關(guān)問題,針對(duì)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包含哪些列。? Explain的Type列有哪幾種值。? 6)框架相關(guān)問題:? Hibernate和Mybatis的區(qū)別。? Spring MVC和Struts2的區(qū)別。? Spring用了哪些設(shè)計(jì)模式。? Spring中AOP主要用來做什么。? Spring注入bean的方式。? 什么是IOC,什么是依賴注入。? Spring是單例還是多例,怎么修改。? Spring事務(wù)隔離級(jí)別和傳播性。? 介紹下Mybatis/Hibernate的緩存機(jī)制。? Mybatis的mapper文件中#和$的區(qū)別。? Mybatis的mapper文件中resultType和resultMap的區(qū)別。? Mybatis中DAO層接口沒有寫實(shí)現(xiàn)類,Mapper中的方法和DAO接口方法是怎么綁定到一起的,其內(nèi)部是怎么實(shí)現(xiàn)的。 ? 7)其他遇到問題:? 介紹下棧和隊(duì)列。? IO和NIO的區(qū)別。? 接口和抽象類的區(qū)別。? int和Integer的自動(dòng)拆箱/裝箱相關(guān)問題。 常量池相關(guān)問題。? ==和equals的區(qū)別。? 重載和重寫的區(qū)別。? String和StringBuilder、StringBuffer的區(qū)別。? 靜態(tài)變量、實(shí)例變量、局部變量線程安全嗎,為什么。 try、catch、finally都有return語句時(shí)執(zhí)行哪個(gè)。? 介紹下B樹、二叉樹。? ajax的4個(gè)字母分別是什么意思。? xml全稱是什么。? 分布式鎖的實(shí)現(xiàn)。? 分布式session存儲(chǔ)解決方案。? 常用的linux命令。
總結(jié)
以上是生活随笔為你收集整理的面试2年经验的Java程序员面试题部分带答案的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: opengl+qt+vs学习笔记1:软件
- 下一篇: java中socket编程实例_Java