阿里Java高級工程師的一份面試總結(jié)

面試技巧

1、背熟你的簡歷

原因:面試的第一個問題花墩,一般都是讓你簡單介紹下你自己悬秉,或者介紹一下你最近的項目,而一個面試者冰蘑,如果連自己的簡歷都無法熟知和泌,對里面提到的項目、技術(shù)都無法描述清楚的話懂缕,我想沒有哪家公司會接受這樣的允跑,哪怕你是超級人才,你自我表述不行搪柑,估計也會為此頭疼聋丝,所以,切記:一定要背好自己的簡歷工碾,不要求你能全部記下弱睦,至少要熟記你最近所待過的兩家公司,這兩家公司里面你做過的項目渊额,你負責(zé)的模塊况木,項目里面用到的技術(shù)以及相對應(yīng)的技術(shù)實現(xiàn)方案(這個尤為重要)。

2旬迹、深入了解并熟記部分Java基礎(chǔ)知識

原因:大部分公司無論面試初級還是高級火惊,無論是筆試還是面試,都會問到一系列基礎(chǔ)題奔垦,這些基礎(chǔ)題大概涵括jvm屹耐、字符串、集合椿猎、線程等等惶岭,如果說每一個讓你死記硬背你肯定記不住寿弱,那么就是理解中記憶了,拿jvm來說 按灶,如果讓你談?wù)勀銓vm的理解症革, 那么你首先得知道JVM有哪些結(jié)構(gòu)組成,每個結(jié)構(gòu)用來做什么的鸯旁,然后考慮一個Java對象從創(chuàng)建到回收噪矛,如何途徑JVM這些結(jié)構(gòu)的。如果你從這些方面來綜合記憶羡亩,相信事半功倍摩疑,并且你理解的更透徹。

至于如果讓你談集合畏铆,舉例List集合下面ArryList雷袋、LinkedList、Vector等集合的區(qū)別辞居,那么同樣的方法楷怒,你需要理解每一個的結(jié)構(gòu)組成是什么,你才能知道他有什么作用瓦灶,這樣你在平時的用法上會更精煉鸠删,而且在面試過程中,也不至于啞口無言贼陶。

3刃泡、保持自信心和沉重冷靜的心態(tài)

原因:面試過程中,自信是少不了的碉怔,相信你可以烘贴, 面試的路上可以自己對自己說一句: I belive I can ! 反正我就是這么做的,自我的心里暗示吧撮胧,其實面對面試官的時候桨踪,你自信的狀態(tài)也會讓面試官覺得你是個很有底氣的人,至少從感覺上會給你打個高分芹啥。

另外還有就是保持沉重冷靜锻离,如果是讓你提供技術(shù)方案或者說說某個技術(shù)原理,沒必要一緊張一咕嚕的什么都說墓怀,你可以對面試官說:我先想想汽纠,然后自己組裝記憶中的知識,組裝下語言傀履,有條理的說出來疏虫,這樣能更好的表現(xiàn)你的才能,不是嗎? 面試誰都會緊張卧秘,我也會緊張,有時候明明記得的知識點忘了官扣,沒關(guān)系翅敌,大膽的說忘了,或者直接說不知道惕蹄。 要記住蚯涮,有部分不知道沒關(guān)系,如果全都知道卖陵,那你應(yīng)該是CTO級別了(開個玩笑)遭顶。

4、盡量記住面試過程中你回答不出來或者存在不妥的問題

原因:面試失敗了沒關(guān)系泪蔫,畢竟每個公司的要求不一樣棒旗,問的問題和你擅長的方面可能有所出入,但是請記住一點:面試過程中那些你回答不出來問題撩荣,或者你自己感覺回答不太準(zhǔn)確的問題铣揉,自己記下來,如果不會的餐曹,你可以當(dāng)場問問面試官有沒有好的解答逛拱,如果面試官不愿意告訴你(一般是基礎(chǔ)方面面試官就懶得答你),那么你就自己回家慢慢查資料台猴,如果是某些特定的技術(shù)朽合,也可以自己寫寫案例什么的,畢竟知識點就那么多饱狂,問題百變曹步,原理不變,面試也是一個學(xué)習(xí)知識的過程嗡官,讓你了解大部分公司目前需要或者要求的技術(shù)箭窜。這次不知道,下次就知道了衍腥。

5磺樱、去面試之前,最好先了解你要去面試公司的情況

原因:俗話說婆咸,知己知彼竹捉,百戰(zhàn)不殆,面試就是一場戰(zhàn)斗尚骄,你需要了解你面試公司基本情況块差,包括崗位要求,這樣你就能大概知道你需要面試的這家公司的技術(shù)要求情況。 為何讓你去了解這家公司的主營產(chǎn)品和項目呢憨闰,就是讓你大概了解這家公司的一個技術(shù)架構(gòu)的情況状蜗,包括你可能對他們的一種實現(xiàn)方式提出質(zhì)疑和疑惑,相信面試官很愿意幫你解答這些問題的鹉动。這樣你既圖了表現(xiàn)轧坎,也學(xué)到了知識,何樂而不為泽示。

6缸血、合理安排你的面試時間

原因:估計很多人都不理解這個,可能大部分的人對于如何安排面試時間比較迷茫械筛,隨意安排捎泻。可是這里有個技巧埋哟,如果同時有多個面試機會笆豁,你把你最想去的公司放到最末尾去面試,這樣你經(jīng)歷過了前面的這些公司篩選定欧,如果成功了是個機會渔呵,如果沒成功,也是為最后做鋪墊砍鸠。

不過這里就需要考慮兩點:1扩氢、你需要記住你投簡歷的公司和基本情況(這說明你不是海投的) 2、如果記不住爷辱,那么可以先應(yīng)答一個時間录豺,后續(xù)了解公司信息之后,通過郵件或者其他方式與其約定饭弓,調(diào)整面試時間双饥。而且建議安排一天的面試公司不要超過兩家,最好的是上午一家弟断,下午一家咏花,這樣你能有充足的時間調(diào)整狀態(tài)。

面試題基礎(chǔ)總結(jié)

1阀趴、JVM結(jié)構(gòu)原理昏翰、GC工作機制詳情

答:具體參照:JVM結(jié)構(gòu)、GC工作機制詳解刘急,說到GC棚菊,記住兩點:1、GC是負責(zé)回收所有無任何引用對象的內(nèi)存空間叔汁。 注意:垃圾回收回收的是無任何引用的對象占據(jù)的內(nèi)存空間而不是對象本身统求,2检碗、GC回收機制的兩種算法,a码邻、引用計數(shù)法 b折剃、可達性分析算法( 這里的可達性,大家可以看基礎(chǔ)2 Java對象的什么周期)像屋,至于更詳細的GC算法介紹微驶,大家可以參考:Java GC機制算法。

2开睡、Java對象的生命周期

答:創(chuàng)建階段 、 應(yīng)用階段 苟耻、不可見階段 篇恒、不可達階段 、收集階段 凶杖、終結(jié)階段胁艰、 對象空間重新分配階段等等,具體參照:Java 對象的生命周期智蝠。

3腾么、Map或者HashMap的儲存原理

答:HashMap是由數(shù)組+鏈表的一個結(jié)構(gòu)組成,具體參照:HashMap的實現(xiàn)原理杈湾。

4解虱、當(dāng)數(shù)據(jù)表中A、B字段做了組合索引漆撞,那么單獨使用A或單獨使用B會有索引效果嗎殴泰?(使用like查詢?nèi)绾斡兴饕Ч?/p>

答:看A、B兩字段做組合索引的時候浮驳,誰在前面悍汛,誰在后面,如果A在前至会,那么單獨使用A會有索引效果离咐,單獨使用B則沒有,反之亦然奉件。同理宵蛀,使用like模糊查詢時,如果只是使用前面%瓶蚂,那么有索引效果糖埋,如果使用雙%號匹配,那么則無索引效果窃这。

5瞳别、數(shù)據(jù)庫存儲日期格式時征候,如何考慮時區(qū)轉(zhuǎn)換問題?

答:使用TimeStamp , 原因參照:Java編程中遇到的時區(qū)轉(zhuǎn)換問題祟敛。

6疤坝、JavaObject類中有哪些方法?

答:Object有哪些方法馆铁。

7跑揉、HTTP協(xié)議,GET和POST 的區(qū)別

答:淺談HTTP中GET和POST的區(qū)別埠巨。

線程历谍、設(shè)計模式、緩存方面

1辣垒、SimpleDataFormat是非線程安全的望侈,如何更好的使用而避免風(fēng)險呢?

答:關(guān)于SimpleDateFormat安全的時間格式化線程安全問題勋桶。

2脱衙、如何看待設(shè)計模式,并簡單說說你對觀察者模式的理解

答:1例驹、設(shè)計模式有神馬用2捐韩、觀察者模式類圖及實現(xiàn)。

3鹃锈、集群環(huán)境中荤胁,session如何實現(xiàn)共享

答:1、Java集群之session共享2仪召、session多服務(wù)器共享方案寨蹋,還有一種方案就是使用一個固定的服務(wù)器專門保持session,其他服務(wù)器共享扔茅。

4已旧、分布式、集群環(huán)境中召娜,緩存如何刷新运褪,如何保持同步?

答:A玖瘸、緩存如何刷新秸讹?1、定時刷新 2雅倒、主動刷新覆蓋璃诀,每個緩存框架都有自帶的刷新機制,或者說緩存失效機制蔑匣,就拿Redis和 Ehcache舉例劣欢, 他們都有自帶的過期機制棕诵,另外主動刷新覆蓋時,只需獲取對應(yīng)的key進行數(shù)據(jù)的覆蓋即可凿将。

B校套、緩存如何保持同步? 這個redis有自帶的集群同步機制牧抵,即復(fù)制功能笛匙,具體參考:基于Redis分布式緩存實現(xiàn),Ehcache也有分布式緩存同步的配置犀变,只需要配置不同服務(wù)器地址即可妹孙,參照:Ehcache分布式緩存同步。

5获枝、一條sql執(zhí)行過長的時間涕蜂,你如何優(yōu)化,從哪些方面映琳?

答:1、查看sql是否涉及多表的聯(lián)表或者子查詢蜘拉,如果有萨西,看是否能進行業(yè)務(wù)拆分,相關(guān)字段冗余或者合并成臨時表(業(yè)務(wù)和算法的優(yōu)化)旭旭;

2谎脯、涉及鏈表的查詢,是否能進行分表查詢持寄,單表查詢之后的結(jié)果進行字段整合源梭;

3、如果以上兩種都不能操作稍味,非要鏈表查詢废麻,那么考慮對相對應(yīng)的查詢條件做索引。加快查詢速度模庐;

4烛愧、針對數(shù)量大的表進行歷史表分離(如交易流水表);

5掂碱、數(shù)據(jù)庫主從分離怜姿,讀寫分離,降低讀寫針對同一表同時的壓力疼燥,至于主從同步沧卢,MySQL有自帶的binlog實現(xiàn) 主從同步;

6醉者、explain分析sql語句但狭,查看執(zhí)行計劃披诗,分析索引是否用上,分析掃描行數(shù)等等熟空;

7藤巢、查看mysql執(zhí)行日志,看看是否有其他方面的問題息罗;

個人理解:從根本上來說掂咒,查詢慢是占用mysql內(nèi)存比較多,那么可以從這方面去酌手考慮迈喉。

設(shè)計方案相關(guān)

面試還會問到一些關(guān)于設(shè)計方案相關(guān)的問題绍刮,比如:

1、你的接口服務(wù)數(shù)據(jù)被人截包了挨摸,你如何防止數(shù)據(jù)惡意提交孩革?

答:我們可以在接口傳輸參數(shù)里面設(shè)置一個業(yè)務(wù)編號,這個編號用來區(qū)分是否重復(fù)提交得运。這樣即使數(shù)據(jù)被抓包了膝蜈,對方也無法區(qū)分每個字段你的含義,這時熔掺,這個業(yè)務(wù)編號的作用就來了饱搏。

2、假設(shè)服務(wù)器經(jīng)常宕機置逻,你從哪些方面去排查問題推沸?

答:這個就留個各位看官補充了。

總而言之該看的還是得看券坞,還學(xué)的還是得學(xué)鬓催。再次強調(diào),基礎(chǔ)很重要恨锚!面試技巧同樣很重要宇驾,還是那句話:祝愿各位看官都能找到心儀的工作吧~~

另外,奉勸大家不要頻繁跳槽猴伶,這些知識點能提升固然好飞苇,不要盲目跳槽,找工作很累的蜗顽,而且沒有哪家公司喜歡頻繁跳槽的員工布卡。

Java程序猿跳槽應(yīng)該學(xué)哪些方面的技術(shù)

互聯(lián)網(wǎng)產(chǎn)品、大型企業(yè)級項目常會用到的:

1.并發(fā)處理技術(shù)雇盖。具體到Java上通常是涉及java.util.concurrent忿等、并發(fā)鎖機制、NIO等方面崔挖,當(dāng)然最近比較火爆的Netty框架也可以作為高并發(fā)處理的備選方案之一贸街,這需要對Java的線程調(diào)度機制有著比較深的理解庵寞。不過這些可能會涉及并發(fā)控制的對象(比如reentrantlock等)只能存在于一個JVM里的問題,一旦系統(tǒng)規(guī)模大到需要部署多個JVM來處理并發(fā)的情況薛匪,則需要采用共享session的技術(shù)(比如spring-session)捐川,或者盡可能將系統(tǒng)后臺設(shè)計為無狀態(tài)的服務(wù),這需要對RESTful有著較深的理解逸尖。

2.高可用古沥、負載均衡技術(shù)〗扛互聯(lián)網(wǎng)產(chǎn)品岩齿、企業(yè)級應(yīng)用通常要求一年里的Downtime控制在很小的范圍內(nèi),這需要足夠的高可用和負載均衡架構(gòu)來支撐苞俘,這個一般和Java技術(shù)本身沒太大關(guān)系盹沈,但卻是一名初級程序員向高級程序員甚至是架構(gòu)師CIO進階的必備技術(shù),因此可以適當(dāng)了解一下Nginx吃谣、HAProxy等對這方面的支持乞封。另外現(xiàn)在最“時髦”的做法是將應(yīng)用docker化,配合ETCD岗憋、kubernetes等工具在容器的層面上實現(xiàn)高可用和負載均衡歌亲,當(dāng)然這需要看實際的需求,最時髦的不見得是最適用的澜驮,要考慮構(gòu)建成本。

3.緩存技術(shù)惋鸥。緩存應(yīng)該是大型系統(tǒng)中或高并發(fā)條件下提高響應(yīng)速度的亙古不變的真理(雖然也看到過淘寶搜索商品功能采用的大數(shù)據(jù)處理技術(shù)實現(xiàn)的零緩存的文章杂穷,但能達到淘寶的體量和技術(shù)水平一般不太可能),這方面的工具太多了卦绣,ehcache耐量、memcached、redis……從Java的角度來講滤港,需要了解的一是Java對這些工具的連接器廊蜒,二是緩存技術(shù)背后的JSR-107標(biāo)準(zhǔn),可以參考spring-cache的實現(xiàn)溅漾,閱讀一下源碼加深理解山叮。

4.異步處理技術(shù)。這通常也是抵消高并發(fā)的處理手段之一添履,從Java的角度看最簡單的異步處理就是新啟動一個異步線程屁倔,這同樣也需要對Java的線程調(diào)度有所了解,當(dāng)然也可使用Spring中的@Async之類的也可以簡單實現(xiàn)異步線程的處理暮胧。如果是非常消耗資源的業(yè)務(wù)處理锐借,簡單的異步線程是滿足不了需求的问麸,這就需要一些消息中間件來做這些異步處理了,消息中間件有很多钞翔,activemq严卖、rabbitmq、kafka……需要了解的是Java對這些中間件的連接器布轿。不過異步處理中最關(guān)鍵的是事務(wù)保證的問題哮笆,這可能需要對事務(wù)的兩步提交有所了解。

最后

希望找工作的朋友都能找到一份滿意的工作驮捍。下面具體整理出了一份面試常見的知識點文檔疟呐,供大家參考,希望對你有所幫助东且。加群956058372即可獲取启具。

獲取方式:加群956058372即可免費領(lǐng)取

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市珊泳,隨后出現(xiàn)的幾起案子鲁冯,更是在濱河造成了極大的恐慌,老刑警劉巖色查,帶你破解...
    沈念sama閱讀 219,039評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件薯演,死亡現(xiàn)場離奇詭異,居然都是意外死亡秧了,警方通過查閱死者的電腦和手機跨扮,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來验毡,“玉大人衡创,你說我怎么就攤上這事【ǎ” “怎么了璃氢?”我有些...
    開封第一講書人閱讀 165,417評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長狮辽。 經(jīng)常有香客問我一也,道長,這世上最難降的妖魔是什么喉脖? 我笑而不...
    開封第一講書人閱讀 58,868評論 1 295
  • 正文 為了忘掉前任椰苟,我火速辦了婚禮,結(jié)果婚禮上树叽,老公的妹妹穿的比我還像新娘尊剔。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,892評論 6 392
  • 文/花漫 我一把揭開白布须误。 她就那樣靜靜地躺著挨稿,像睡著了一般。 火紅的嫁衣襯著肌膚如雪京痢。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,692評論 1 305
  • 那天祭椰,我揣著相機與錄音,去河邊找鬼方淤。 笑死,一個胖子當(dāng)著我的面吹牛携茂,可吹牛的內(nèi)容都是我干的你踩。 我是一名探鬼主播,決...
    沈念sama閱讀 40,416評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼带膜,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了鸳谜?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,326評論 0 276
  • 序言:老撾萬榮一對情侶失蹤咐扭,失蹤者是張志新(化名)和其女友劉穎芭挽,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蝗肪,經(jīng)...
    沈念sama閱讀 45,782評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,957評論 3 337
  • 正文 我和宋清朗相戀三年穗慕,在試婚紗的時候發(fā)現(xiàn)自己被綠了妻导。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,102評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡术浪,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出胰苏,到底是詐尸還是另有隱情,我是刑警寧澤醇疼,帶...
    沈念sama閱讀 35,790評論 5 346
  • 正文 年R本政府宣布法焰,位于F島的核電站倔毙,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏陕赃。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,442評論 3 331
  • 文/蒙蒙 一傻丝、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧葡缰,春花似錦、人聲如沸运准。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽米者。三九已至,卻和暖如春蔓搞,著一層夾襖步出監(jiān)牢的瞬間胰丁,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評論 1 272
  • 我被黑心中介騙來泰國打工喂分, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留锦庸,地道東北人。 一個月前我還...
    沈念sama閱讀 48,332評論 3 373
  • 正文 我出身青樓甘萧,卻偏偏與公主長得像,于是被迫代替她去往敵國和親扬卷。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,044評論 2 355

推薦閱讀更多精彩內(nèi)容