公司最近在招Java開發(fā)崗,居然一天內(nèi)就收到200多份簡(jiǎn)歷!想不到吧?
光篩選簡(jiǎn)歷都用了很久,一天面好多個(gè)都快面吐了,現(xiàn)在想招個(gè)合適的Java開發(fā)太不容易了,需要去挖的細(xì)節(jié)太多了。很多工作3-5年的Java開發(fā)人員,平時(shí)接觸的都是一些傳統(tǒng)項(xiàng)目,像上面的一些實(shí)際場(chǎng)景案例,根本沒遇到過。一旦被面試官問到,因?yàn)榻佑|的太少,掌握的都是零散的知識(shí)點(diǎn),基本回答起來都很片面,支支吾吾的。最后只能是回家等通知…比如我們總監(jiān)最喜歡問的一個(gè)問題:線上系統(tǒng)突然CPU100%,你怎么排查?我這邊可以給大家看一下我的解答思路:1.先通過top命令找到消耗cpu很高的進(jìn)程id,假設(shè)是2732;top 命令是我們?cè)?Linux 下最常用的命令之一,它可以實(shí)時(shí)顯示正在執(zhí)行進(jìn)程的 CPU 使用率、內(nèi)存使用率以及系統(tǒng)負(fù)載等信息。其中上半部分顯示的是系統(tǒng)的統(tǒng)計(jì)信息,下半部分顯示的是進(jìn)程的使用率統(tǒng)計(jì)信息。2.執(zhí)行top -p 2732單獨(dú)監(jiān)控該進(jìn)程
3.在第2步的監(jiān)控界面輸入H,獲取當(dāng)前進(jìn)程下的所有線程信息4.找到消耗cpu特別高的線程編號(hào),假設(shè)是3288
5.執(zhí)行jstack 2732對(duì)當(dāng)前的進(jìn)程做dump,輸出所有的線程信息
6.將第4步得到的線程編號(hào)3288轉(zhuǎn)成16進(jìn)制是0xCD87.根據(jù)第6步得到的0xCD8在第5步的線程信息里面去找對(duì)應(yīng)線程內(nèi)容
8.解讀線程信息,定位具體代碼位置最后根據(jù)線程名稱相關(guān)信息進(jìn)行具體排查(這里明顯是GC線程占用了CPU)
像JVM、多線程、數(shù)據(jù)結(jié)構(gòu)和算法、高并發(fā)、設(shè)計(jì)模式這些內(nèi)容,基本上都會(huì)被問到,面試官會(huì)通過這些內(nèi)容評(píng)估Java開發(fā)人員的技術(shù)棧,如果這些不掌握的話基本直接GG了。
上面這些答上來才會(huì)進(jìn)入真正的面試環(huán)節(jié)。大廠面試必問JVM,那么請(qǐng)大家嘗試回答一下以下關(guān)于JVM的問題:1、JVM內(nèi)存區(qū)域有哪些?為什么這么劃分?2、JVM 垃圾回收時(shí)如何確定垃圾?GC Roots有哪些?3、堆和棧的區(qū)別是什么?Java中的數(shù)組是存儲(chǔ)在堆上還是棧上的??4、Java中的對(duì)象創(chuàng)建有多少種方式??對(duì)象創(chuàng)建的過程是怎么樣的??5、你做過JVM 參數(shù)調(diào)優(yōu)和參數(shù)配置嗎?請(qǐng)問如何查看 JVM 系統(tǒng)默認(rèn)值?6、對(duì)于 JDK 自帶的監(jiān)控和性能分析工具用過哪些?8、JVM內(nèi)存泄漏與內(nèi)存溢出的區(qū)別,怎么排查內(nèi)存泄漏?9、一個(gè)億級(jí)流量系統(tǒng),讓它幾乎不發(fā)生Full GC。你來進(jìn)行JVM調(diào)優(yōu),怎么做?怎么樣?你能答上來多少?自信能答對(duì)的又有多少?關(guān)于JVM 很多面試都會(huì)深挖到底層的匯編、Linux服務(wù)器實(shí)戰(zhàn)等,因?yàn)榭梢酝ㄟ^JVM排查到許多高并發(fā)高可用問題,甚至在問題產(chǎn)生前就把問題解決。如果面試的時(shí)候可以主動(dòng)深入講解JVM調(diào)優(yōu)實(shí)戰(zhàn),絕對(duì)可以讓面試官眼前一亮,給面試加分。為了讓大家有針對(duì)性的提升JVM調(diào)優(yōu)技術(shù),我特邀前58架構(gòu)師King老師帶來《JVM精品之底層設(shè)計(jì)與調(diào)優(yōu)實(shí)戰(zhàn)》實(shí)戰(zhàn)直播課,從JVM運(yùn)行時(shí)數(shù)據(jù)區(qū)、垃圾回收算法與垃圾回收器、JVM常見面試題解析,到JVM調(diào)優(yōu)工具、JVM調(diào)優(yōu)實(shí)戰(zhàn)等,讓你輕松征服面試官,升職跳槽更有底氣!
2、想深入學(xué)習(xí)JVM性能調(diào)優(yōu);4、立志成為高級(jí)工程師、架構(gòu)師的IT人;以大量的實(shí)戰(zhàn)來增加你的理解和記憶,理論結(jié)合實(shí)踐,進(jìn)而加深對(duì)JVM的理解。從而建立體系化的JVM知識(shí),而不是碎片化的內(nèi)容。課程中以實(shí)際場(chǎng)景作為出發(fā)點(diǎn)來解答面試中的問題,助力高級(jí)Java崗位面試,讓你快速成為成為Java高級(jí)、資深工程師。3、能夠?qū)€上應(yīng)用進(jìn)行優(yōu)化和故障排查大量的JVM調(diào)優(yōu)實(shí)戰(zhàn),掌握它們,你能夠非常容易地定位到應(yīng)用中的問題,并提供優(yōu)化思路,這會(huì)讓你在實(shí)際工作中事半功倍。1:提供學(xué)習(xí)直播+預(yù)習(xí)資料+源碼+答疑2:今天加入額外再贈(zèng)送一份目前最“火”的【Java Github 超硬核面試 “備戰(zhàn)” 手冊(cè)】;這套面試手冊(cè)的組成內(nèi)容主要有以下3大主題,5個(gè)主要模塊,35個(gè)小板塊:
程序員簡(jiǎn)歷模板(900份)發(fā)送暗號(hào)“666” 給小姐姐,秒通過如遇掃碼受限,請(qǐng)?zhí)砑游⑿牛?/span>xxktqq168