兩年的java工作經(jīng)驗(yàn),面試時(shí)會(huì)被問(wèn)到些什么問(wèn)題
java程序都會(huì)被問(wèn)到的面試問(wèn)題,月薪20k+
多線程相關(guān)問(wèn)題實(shí)現(xiàn)多線程有哪些方式?有什么異同?線程的生命周期線程池常用的有哪些?線程池的工作原理如何啟動(dòng)和銷毀線程什么是線程死鎖悲觀鎖和樂(lè)觀鎖,公平鎖和非公平鎖Java集合原理集合的類圖集合的數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)集合的效率集合的遍歷JVM虛擬機(jī)java的內(nèi)存模型是什么樣的jvm內(nèi)存分為哪些區(qū)域內(nèi)存溢出有些類型,如何解決垃圾回收器有哪些垃圾回收算法有哪些jvm常用的參數(shù)如何定位分析jvm線上問(wèn)題有哪些分析jvm的工具數(shù)據(jù)庫(kù)索引的分類索引的優(yōu)化索引的原理事物的類型聯(lián)合查詢,子查詢效率問(wèn)題如何實(shí)現(xiàn)讀寫(xiě)分離框架類spring(aop,依賴注入)springmvc(原理)dubbo(原理,支持哪些協(xié)議)mybites(原理,常用的配置)算法類常見(jiàn)排序原理和實(shí)現(xiàn)(8種)求二叉樹(shù)的高度二叉樹(shù)的遍歷平衡二叉樹(shù)和紅黑樹(shù)b樹(shù),b+樹(shù)遞歸和分治思想貪婪算法linux服務(wù)器你常用的linux命令有哪些linux權(quán)限系統(tǒng)如何寫(xiě)tomcat重啟腳本如何用命令搜索日志,分析日志web服務(wù)器nginx配置反向代理nginx配置負(fù)載均衡(哪幾種)apache配置反向代理tomcat參數(shù)調(diào)優(yōu)項(xiàng)目你認(rèn)為做的最有成就的一個(gè)項(xiàng)目你在這個(gè)項(xiàng)目中負(fù)責(zé)什么內(nèi)容遇到了哪些難點(diǎn),如何解決的你認(rèn)為這個(gè)項(xiàng)目還有哪些改進(jìn)的地方,為什么這么做那如果有感興趣老友們想要獲取完整面試題的呢...可以去我的主頁(yè)看看我的面試文章,也可以私信我【面試】獲取,很開(kāi)心能分享給大家!我的很多文章都有分享各種架構(gòu)資料,相信對(duì)于已經(jīng)工作和遇到技術(shù)瓶頸或者寫(xiě)博客碼友,在我的主頁(yè)一定都有你需要的內(nèi)容。
java面試的時(shí)候你被提問(wèn)過(guò)哪些問(wèn)題
謝謝邀請(qǐng)!
一般面試官會(huì)基于你的面試簡(jiǎn)歷進(jìn)行相對(duì)應(yīng)的知識(shí)點(diǎn)提問(wèn),例如你的簡(jiǎn)歷中寫(xiě)了精通(精通這兩個(gè)字謹(jǐn)慎使用)Java并發(fā)編程,面試官可能會(huì)問(wèn)CAS的實(shí)現(xiàn)原理、ThreadLocal實(shí)現(xiàn)原理及是否會(huì)出現(xiàn)內(nèi)存泄露、HashMap的實(shí)現(xiàn)原理及為什么會(huì)出現(xiàn)并發(fā)問(wèn)題等,這種就是根據(jù)簡(jiǎn)歷上的描述提出的針對(duì)性問(wèn)題,還有就是根據(jù)你簡(jiǎn)歷上的項(xiàng)目經(jīng)歷,提問(wèn)你在這個(gè)項(xiàng)目中的角色、負(fù)責(zé)那些功能、如何實(shí)現(xiàn)的、遇到那些問(wèn)題及如何解決的,所以你的簡(jiǎn)歷內(nèi)容基本就隱藏了面試官的問(wèn)題,當(dāng)然如果遇到菜鳥(niǎo)面試官,這個(gè)就不一定了,問(wèn)的可能就比較隨意且基礎(chǔ)。
關(guān)于一些面試中可能會(huì)問(wèn)到的經(jīng)典問(wèn)題可以關(guān)注我的頭條號(hào),不斷分享Java面試題,而且都是深入分析答案哦,希望對(duì)你有所幫助!
java面試題有哪些
肝了一個(gè)月的面試題終于來(lái)啦,大家開(kāi)心不。
2020年最新Java面試題整理,全網(wǎng)最全一份,包含各個(gè)技術(shù)棧,Java基礎(chǔ),Java集合,多線程,Java異常,spring,springMVC,springboot,springcloud,netty,dubbo,activemq,Javaweb,jvm,kafka,MongoDB,mybatis,MySQL,Nginx,rabbitmq,Redis,Tomcat,zookeeper,設(shè)計(jì)模式,數(shù)據(jù)結(jié)構(gòu),算法,分布式,限流,降級(jí),cap原理等等知識(shí)點(diǎn)
話不多說(shuō),直接上圖
總共80多個(gè)PDF
【BAT必備】計(jì)算機(jī)網(wǎng)絡(luò)面試題:
鏈接:https://pan.baidu.com/s/1hFggmtdL1ZmE4utBlo8S1g提取碼:qfkh
【BAT必備】設(shè)計(jì)模式面試題
鏈接:https://pan.baidu.com/s/1eXJveIVvQe-m3MdvLcT-fQ提取碼:j0kx
【BAT必備】數(shù)據(jù)結(jié)構(gòu)算法面試題:
鏈接:https://pan.baidu.com/s/1daFN9jY03fXsqwc9LeKi2w提取碼:5ab7
【BAT必備】多線程面試題:
鏈接:https://pan.baidu.com/s/1GdvsNESoHPBjWKN2h-iK7Q提取碼:cqib
【BAT必備】并發(fā)編程鎖面試題:
鏈接:https://pan.baidu.com/s/1hXPPtMY2dvz-g7QcSTc3PA提取碼:zhmy
【BAT必備】tomcat面試題:
鏈接:https://pan.baidu.com/s/1qPZXx4lmLynmaF0XjRTzpQ提取碼:5m16
【BAT必備】zookeeper面試題:
鏈接:https://pan.baidu.com/s/1EhOee9e1Qe-Q6RC8KlthxA提取碼:p2am
【BAT必備】spring全家桶面試題:
鏈接:https://pan.baidu.com/s/1DXGO-N5P6QIGKLZ8LIVOuQ提取碼:m9v7
【BAT必備】rocketMq面試題:
鏈接:https://pan.baidu.com/s/1TEF3yUR4OOaIpj-4ud_79A提取碼:3g3d
【BAT必備】redis面試題:
鏈接:https://pan.baidu.com/s/1qlanxWBfwvKUObnHulCQiA提取碼:rjo7
【BAT必備】rabbitMq面試題:
鏈接:https://pan.baidu.com/s/1ywLiq3IUJVyZosPLNrmyTA提取碼:0td4
【BAT必備】netty面試題:
鏈接:https://pan.baidu.com/s/1Pbv4aelqOt1dUPA2SwEB_Q提取碼:2w1e
【BAT必備】Nginx面試題:
鏈接:https://pan.baidu.com/s/1r8YNyOz0N6MJ9F0045lEZw提取碼:49tl
【BAT必備】MySQL面試題:
鏈接:https://pan.baidu.com/s/1GeX6Fs4nNi6fTUHKxJ2SZw提取碼:8pow
【BAT必備】mybatis面試題:
鏈接:https://pan.baidu.com/s/1xOYiaiQ2JpPt2jb6GdWjaA提取碼:aqd3
【BAT必備】MongoDB面試題:
鏈接:https://pan.baidu.com/s/1QTVx1TF8tDn6LUJr7wdfOQ提取碼:j1qt
【BAT必備】Linux面試題:
鏈接:https://pan.baidu.com/s/1veZ3dBJmz1PduCE5tl-e1A提取碼:txpf
【BAT必備】kafka面試題:
鏈接:https://pan.baidu.com/s/1SWhiBCswleYGsDupSGzE6g提取碼:o1gv
【BAT必備】jvm面試題:
鏈接:https://pan.baidu.com/s/1xi-QLq_I75kha439EGqELw提取碼:kxde
【BAT必備】javaweb面試題:
鏈接:https://pan.baidu.com/s/1r3Bupn9qhJbw5ebR_6h94A提取碼:qba4
【BAT必備】Java基礎(chǔ)面試題:
鏈接:https://pan.baidu.com/s/1J40nYKIoV_VMCumoRpIyhQ提取碼:5xo7
【BAT必備】dubbo面試題:
鏈接:https://pan.baidu.com/s/10flnh7Tb0Oxd3yZPQOnjsA提取碼:5gc9
【BAT必備】activeMQ面試題:
鏈接:https://pan.baidu.com/s/1igNB64dpMCjCQkRzvqCXpQ提取碼:006a
【BAT必備】分布式相關(guān)面試題大全面試題:
鏈接:https://pan.baidu.com/s/1ZcpJDh07B2NPAL4_4VC6jQ提取碼:w4mw
【BAT必備】java面試題大全:
鏈接:https://pan.baidu.com/s/11jw0Ua4CZiI8-S6EadM_iQ提取碼:epmp
【BAT必備】Java面試匯總
鏈接:https://pan.baidu.com/s/1vG9_cNoiYBW5TY32S4wGnQ提取碼:k087
【BAT必備】2020年多家公司整理的350道Java面試題手冊(cè)
鏈接:https://pan.baidu.com/s/1FEGQVTgiyKG0kCasYn-n2g提取碼:f7y1
【BAT必備】Java全部核心知識(shí)點(diǎn)整理
鏈接:https://pan.baidu.com/s/1StG-ib70TDAE1Hb4NVLQRQ提取碼:5rp1
整理這些非常辛苦,大家點(diǎn)個(gè)贊在走吧如果你是面試官,我來(lái)應(yīng)聘一年java后臺(tái)開(kāi)發(fā)經(jīng)驗(yàn),你會(huì)問(wèn)什么
很久沒(méi)有面試過(guò)一年Java開(kāi)發(fā)經(jīng)驗(yàn)的小伙伴了,那如果你是一年開(kāi)發(fā)經(jīng)驗(yàn),并且已經(jīng)通過(guò)了前面的初篩,也就是已經(jīng)約好面試時(shí)間了。
現(xiàn)在開(kāi)始咱們的面試。
面試官:您先自我介紹一下吧~
候選人:我畢業(yè)于xx大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)專業(yè),工作經(jīng)驗(yàn)一年,工作期間主要負(fù)責(zé)xx項(xiàng)目的xx功能開(kāi)發(fā)。熟悉的技術(shù)棧有Java基礎(chǔ),集合,多線程等知識(shí),熟練使用SpringBoot框架。
PS:廢話不要多說(shuō),說(shuō)你真實(shí)的開(kāi)發(fā)項(xiàng)目經(jīng)驗(yàn)和你真正熟悉的技能棧。
面試官:ok,好的,那咱們先聊點(diǎn)Java基礎(chǔ)吧,HashSet在項(xiàng)目中用過(guò)嗎?它的底層實(shí)現(xiàn)你了解嗎?
候選人:HashSet底層是HashMap,HashSet里的每一個(gè)元素就是HashMap里面的key。
面試官:那比如現(xiàn)在我要裝一個(gè)User對(duì)象進(jìn)去,比如Set<User>users=newHashSet<>(10);那么對(duì)于這個(gè)User對(duì)象有沒(méi)有什么要求?
候選人:需要重寫(xiě)hashCode和equals方法。
面試官:ok,為什么要重寫(xiě)hashCode和equals方法呢?
候選人:首先,HashSet的特性是不可重復(fù)的并且是無(wú)序的。因?yàn)樗牡讓邮荋ashMap實(shí)現(xiàn)的,HashMap的key就是HashSet的元素,所以他無(wú)法保證有序。那不可重復(fù)的就是當(dāng)我們put一個(gè)KV數(shù)據(jù)到HashMap中去的時(shí)候,首先需要計(jì)算這個(gè)key的hashcode,然后在和當(dāng)前hashMap的容量-1作與元算,即hashcode(key)&(n-1)來(lái)計(jì)算出他所在hashMap數(shù)組中的下標(biāo)位置,這就是為什么要實(shí)現(xiàn)它的hashcode方法。那為什么還要實(shí)現(xiàn)equals方法呢?因?yàn)閔ashcode方法存在哈希沖突,無(wú)法決定一個(gè)對(duì)象的唯一性。
ps:能說(shuō)到這你就成功了一半了!但是還沒(méi)結(jié)束,因?yàn)槊嬖嚬傧胫滥愕降琢私舛嗌伲?/p>
接下來(lái)會(huì)是什么問(wèn)題呢?
那我們聊聊HashMap吧~HashMap的實(shí)現(xiàn)原理、擴(kuò)容機(jī)制、為什么初始容量是16?為什么擴(kuò)容都是2的n次方?HashMap是線程不安全的,線程安全的有哪些?HashTable、Collections.synchronizedMap、ConcurrentHashMapHashTable、Collections.synchronizedMap、ConcurrentHashMap都是怎么保證線程安全的?Volatile關(guān)鍵字的實(shí)現(xiàn)原理、synchronized關(guān)鍵字的實(shí)現(xiàn)原理鎖優(yōu)化、鎖升級(jí)對(duì)象頭markword用戶態(tài)、內(nèi)核態(tài)先就這些吧,上面你能聊到哪就聊到哪,都是Java基礎(chǔ),不會(huì)了咱就停止,換一個(gè)方向~
后面會(huì)在問(wèn)你數(shù)據(jù)庫(kù)方面的知識(shí),比如Innodb存儲(chǔ)引擎的實(shí)現(xiàn)原理,B+樹(shù),為什么不用B樹(shù)、二叉樹(shù)等等。
什么是聚集索引、什么是非聚集索引、覆蓋索引?回表是什么意思?
還有很多數(shù)據(jù)庫(kù)的知識(shí),有一句話叫做:“你會(huì)的越多,你不會(huì)的越多!”
如果上面你都o(jì)k,不需要問(wèn)你項(xiàng)目經(jīng)驗(yàn),來(lái)干活吧!畢竟你只有一年工作經(jīng)驗(yàn),沒(méi)啥項(xiàng)目可問(wèn)的,又不是你主導(dǎo)的。
實(shí)在上面答的不好,只能問(wèn)問(wèn)你項(xiàng)目中的開(kāi)發(fā)思路怎么樣了,會(huì)嘗試找你開(kāi)發(fā)功能的漏洞,看你怎么臨場(chǎng)發(fā)揮,說(shuō)說(shuō)你的思路,看看你的邏輯思維是否嚴(yán)謹(jǐn)。
以上,看看是否你都會(huì),如果你都會(huì),抓緊學(xué)習(xí)更多的知識(shí)去!如果你不會(huì),抓緊學(xué)習(xí)更多的知識(shí)去!學(xué)無(wú)止盡~
上面的那些,由淺入深,五年十年的都可以問(wèn),有人說(shuō)工作很多年的沒(méi)必要問(wèn)這些基礎(chǔ),我不這么認(rèn)為。如果你開(kāi)發(fā)多年,這些基礎(chǔ)我認(rèn)為你應(yīng)該是深入骨髓的,無(wú)須準(zhǔn)備便可脫口而出的,其他任何理由都是借口。
java面試題:真實(shí)項(xiàng)目中是如何解決多用戶并發(fā)訪問(wèn)的
根據(jù)不同的情況處理:一般在數(shù)據(jù)庫(kù)層面控制,非常嚴(yán)格的情況采用悲觀鎖,常用的方法是樂(lè)觀鎖
java工程師面試完后該怎么向面試官提問(wèn)問(wèn)題呢提問(wèn)一些什么問(wèn)題多多益善
從選擇工作的角度來(lái)說(shuō),一可以問(wèn)問(wèn)工作職責(zé),就是你做什么;二可以問(wèn)問(wèn)團(tuán)隊(duì)情況,就是團(tuán)隊(duì)有多少人,有沒(méi)有牛人,團(tuán)隊(duì)在公司的定位(重不重視);三可以問(wèn)問(wèn)公司發(fā)展,公司有發(fā)展個(gè)人才有更多機(jī)會(huì)。這是從自身成長(zhǎng)的角度,去問(wèn)。
也可以問(wèn)問(wèn)福利待遇,比如自己關(guān)心的,像,是否有年假,再者薪資如果還沒(méi)談具體,可以詢問(wèn)下,別入職前沒(méi)問(wèn)清楚,入職后翻后賬,就惡心了。