跳槽這件事情陕贮,每時每刻都在身邊發(fā)生堕油,送走老伙計,迎來新伙伴。新老交替中掉缺,面試環(huán)節(jié)必不可少卜录,這也最讓人頭疼,遇到一個滿意的候選人眶明,猶如炭中取栗艰毒,很難!面試結(jié)果是雙方?jīng)Q定的赘来,你看上候選人现喳,覺得他和當前職位特別合適凯傲,可惜他只是來練手的犬辰。
作為面試官,經(jīng)過這么久的面試經(jīng)歷冰单,我總結(jié)了以下幾點幌缝,如果你都能滿足,那你99.999%可以拿到滿意的offer诫欠。
工作經(jīng)歷
自我介紹是99%的面試開頭涵卵,這個環(huán)節(jié)可以考察兩點:
1、溝通表達能力荒叼,能否清晰轿偎、準確、簡練的介紹自己和項目被廓。 2坏晦、業(yè)務理解能力,能否用簡短的幾句話嫁乘,介紹項目的架構(gòu)昆婿、業(yè)務模型、以及技術(shù)棧蜓斧。
遇到過不少候選人仓蛆,簡歷上寫了一堆項目,深入一問挎春,就開始支支吾吾看疙,把鍋甩到隊友身上:這塊功能是xxx開發(fā)的,具體細節(jié)我沒去了解過直奋。
寫在簡歷上就是你的了狼荞?
編程能力
可以手寫一個完整的算法,當然了帮碰,算法題不會太難相味,不要總想著手撕紅黑樹,一般5分鐘左右可以完成殉挽。寫出來之后丰涉,需要能夠清楚地講清思路拓巧,分析當前的算法空間、時間復雜度一死,是否還有可優(yōu)化部分肛度,怎么優(yōu)化?
如果沒有任何思路投慈,基本上就see u again了
Java基本功
從簡單的題目慢慢深入承耿,有些毛腳候選人,在簡單的部分就跪了伪煤,比如
HashMap和HashTable有什么區(qū)別加袋?很簡單!但就是不知道抱既。
我這邊一般會側(cè)重考察線程池的相關原理职烧,因為其內(nèi)部實現(xiàn)涉及到了很多并發(fā)相關的知識點。能夠把它的實現(xiàn)原理講清楚的候選人防泵,其它方面也差不到哪里去蚀之。
除了JDK相關的考察,JVM也是必不可少捷泞,這方面的內(nèi)容足删,我一般不會問的特別細致,沒有必要锁右,主要提問三個問題:
1失受、講講你對JVM的理解,越多越好贱纠。
等他講完,大概就能夠知道他對JVM的了解程度了
2响蕴、是否有過JVM調(diào)優(yōu)經(jīng)驗
3谆焊、是否遇到過GC問題?你是如果解決的浦夷?
對于2辖试、3問題,就等于在考察候選人JVM相關實戰(zhàn)經(jīng)驗劈狐。
問題解決能力
這是一個開放性問題罐孝,自己所負責的項目中是否遇到過什么問題,如果排查問題肥缔?如何解決問題莲兢?如何避免該類問題?
可以考察候選人思路是否開闊,能否從本質(zhì)上解決問題改艇。
系統(tǒng)設計
如果候選人獨立負責過整個項目的系統(tǒng)設計收班,系統(tǒng)架構(gòu)、設計模塊的選型谒兄,這對于面試結(jié)果來說摔桦,絕對是一個加分項。
一般會從以下幾個方面考察:
可用性
可擴展性
性能
安全性
大數(shù)據(jù)量
高并發(fā)
分布式設計
學習能力
為了考察候選人的潛力承疲,一般會這樣問:
最近在學習哪方面的東西
具體怎么學習的
學習過程中邻耕,有遇到什么坑
學習這些東西,主要解決了什么問題
機會都是留給有準備的人燕鸽,只有充足的準備兄世,才可能讓自己可以在候選人中脫穎而出。毫不夸張的說绵咱,Java是現(xiàn)階段中國互聯(lián)網(wǎng)公司中碘饼,使用最為廣泛的編程語言熙兔。掌握了Java技術(shù)體系悲伶,不管你在成熟的大公司,快速發(fā)展的風口公司住涉,還是早期創(chuàng)業(yè)型公司麸锉,都能讓你有立足之地。最后分享一份框架源碼學習視頻舆声,掌握了這些知識點花沉,在候選人中又可以奪目不少,暴擊9999點媳握。
如何增進自己Java的功力呢碱屁?讓自己拿到offer的幾率更大?
一種方法是“被動學習”蛾找,即娩脾,遇到什么問題,要用到什么方案打毛,臨時去網(wǎng)上搜索相關知識柿赊,進行學習。這種方法能夠快速解決問題幻枉,但很難將各知識點串聯(lián)碰声,也不清楚進階路線,不夠體系化熬甫。
另一種方法是“主動學習”胰挑,即,先體系化了解學習路線圖,制定計劃進行學習瞻颂。在學習過程中脚粟,如果有同行小伙伴一起溝通交流,更能夠事半功倍蘸朋。
這里有一份核无,Java技術(shù)體系進階路線圖,涵蓋了當前互聯(lián)網(wǎng)公司最常用的技術(shù)藕坯,包涵Java高并發(fā)团南、微服務、源碼分析炼彪、高性能吐根、分布式等方向,建議大家收藏辐马。
一:工程化與工具
工欲善其事必先利其器拷橘,一個好的工具,讓工作事半功倍喜爷,提升團隊開發(fā)效率和協(xié)作效率:
二:常見模式與工具
設計模式的使用冗疮,是優(yōu)雅代碼的基礎;而經(jīng)久不衰的Spring檩帐,給項目敏捷開發(fā)按上了“飛輪”术幔;MyBatis,更加便捷的使用數(shù)據(jù)庫...
三:分布式架構(gòu)
架構(gòu)師的核心本領:分布式架構(gòu)原理湃密,分布式架構(gòu)策略诅挑,分布式中間件,分布式架構(gòu)實戰(zhàn).....
四:微服務體系
微服務體系泛源,架構(gòu)進階必經(jīng)之路:
五拔妥、性能優(yōu)化
性能調(diào)優(yōu),一定程度上看出你的功底:
六达箍、底層知識
知其然没龙,知其所以然,“掃地神僧”必須深入了解底層原理:
七幻梯、容器化專題
1.1 docker入門
1.2 docker進階
1.3 docker最佳實踐
2.1 K8S前言篇
2.2 K8S入門
2.3 K8S進階
2.4 K8S最佳實踐
除了路線圖兜畸,還有同僚收集了相關Java技術(shù)棧資料,并組織了互助學習小組碘梢,相互督促咬摇,相互探討,共同學習與提高煞躬。