? ? 陽(yáng)春三月,萬(wàn)物復(fù)蘇,柳綠花紅,鶯歌燕舞,大地一片全民跳槽的景象。話說(shuō)三月是個(gè)跳槽的好日子赏参,各路大神也紛紛走在面試的道路上蚯窥。本菜雞也不例外,在求職的道路上越挫越勇童谒,從不言退单旁。帶著三年的Java軟件開(kāi)發(fā)經(jīng)驗(yàn)奔走在各大互聯(lián)網(wǎng)公司之間,阿里饥伊、平安象浑、善林、厚本撵渡、快牛融柬、愛(ài)回收...。經(jīng)過(guò)了20多天十幾家公司共三十多輪的面試之后趋距,拿到了幾家公司的offer粒氧。重要的不是結(jié)果,重要的是面試的過(guò)程:電面节腐,筆試外盯,在線測(cè)評(píng)摘盆,輪詢(xún),A4紙手寫(xiě)代碼饱苟,視頻面試以及和HR砍價(jià)孩擂,總之收獲匪淺啊。三月即將結(jié)束箱熬,跳槽也該告一段落类垦,靜下心來(lái)總結(jié)以下幾點(diǎn)心得:
1.自我介紹
? ? 自我介紹一般是每次面試的開(kāi)頭,其實(shí)自我介紹的內(nèi)容自己來(lái)把握城须,主要說(shuō)下姓名蚤认,哪里人,什么時(shí)間畢業(yè)于什么學(xué)校的什么專(zhuān)業(yè)糕伐,畢業(yè)之后分別在什么公司做過(guò)什么砰琢,時(shí)間控制在2分鐘左右即可。自我介紹環(huán)節(jié)其實(shí)是給面試官預(yù)留一些時(shí)間看你的簡(jiǎn)歷良瞧,所以最好把簡(jiǎn)歷重點(diǎn)部分提一下陪汽,比如個(gè)人擅長(zhǎng)、重點(diǎn)項(xiàng)目以及個(gè)人成就等褥蚯。最后注意一下談吐自然挚冤,語(yǔ)速不快不慢,微笑中透露著自信遵岩,內(nèi)容簡(jiǎn)潔有重點(diǎn)即可你辣。
2.介紹項(xiàng)目
? ? 介紹一個(gè)最能體現(xiàn)你個(gè)人技術(shù)或最有成就感的項(xiàng)目,這一般是面試的第二個(gè)環(huán)節(jié)尘执,面試官是想知道你做什么比較擅長(zhǎng),有哪些工作經(jīng)驗(yàn)宴凉,使用過(guò)什么技術(shù)框架誊锭。有的面試官在你介紹的過(guò)程中也會(huì)陸續(xù)的問(wèn)你些技術(shù)問(wèn)題,比如某個(gè)框架是怎么使用的弥锄,模擬個(gè)業(yè)務(wù)場(chǎng)景你會(huì)怎么處理丧靡,項(xiàng)目是否使用多線程,高并發(fā)籽暇,分布式等技術(shù)温治;如果系統(tǒng)復(fù)雜,面試官也會(huì)讓你手畫(huà)系統(tǒng)模塊和架構(gòu)圖戒悠,從而判斷你對(duì)系統(tǒng)的理解程度和全局視野熬荆;如果你做的系統(tǒng)太多,想一一描述的話這是不明智的绸狐,因?yàn)檠远啾厥笨遥哂嗟膬?nèi)容反而沒(méi)有重點(diǎn)累盗。我一般是先總結(jié)一下做過(guò)的系統(tǒng)名(xx運(yùn)營(yíng)系統(tǒng)、xxOA系統(tǒng)突琳、xx服務(wù)若债、xx門(mén)戶(hù)網(wǎng)、xx平臺(tái)拆融、xx微信小程序)蠢琳,說(shuō)3到5個(gè),然后說(shuō)一個(gè)最nb的系統(tǒng)詳細(xì)吹一下镜豹。
3.技術(shù)面試
? ? 技術(shù)面試就是比較直接了傲须,可能在面試的各個(gè)環(huán)節(jié)都會(huì)出現(xiàn),這也是我在阿里面試的時(shí)候得到的教訓(xùn)逛艰,技術(shù)永遠(yuǎn)是軟件行業(yè)的核心競(jìng)爭(zhēng)力躏碳,一家公司三四輪的技術(shù)面試也是常有的事情,所以技術(shù)儲(chǔ)備和面前準(zhǔn)備是非常重要的散怖。下面進(jìn)入正文菇绵,面試會(huì)問(wèn)的問(wèn)題和整理:
java基礎(chǔ):1.HashMap的數(shù)據(jù)結(jié)構(gòu)是什么? 2镇眷、HashSet 是如何保證不重復(fù)的 3咬最、HashMap 是線程安全的嗎,為什么不是線程安全的(最好畫(huà)圖說(shuō)明多線程環(huán)境下不安全)? 4欠动、HashMap 的擴(kuò)容過(guò)程 5永乌、HashMap 1.7 與 1.8 的 區(qū)別,說(shuō)明 1.8 做了哪些優(yōu)化具伍,如何優(yōu)化的翅雏? 6、final finally finalize 7人芽、強(qiáng)引用 望几、軟引用、 弱引用萤厅、虛引用 8橄抹、Java反射的實(shí)現(xiàn)原理 9、Arrays.sort 實(shí)現(xiàn)原理和 Collection 實(shí)現(xiàn)原理 10惕味、LinkedHashMap的應(yīng)用 11楼誓、cloneable接口實(shí)現(xiàn)原理 12、異常分類(lèi)以及處理機(jī)制 13名挥、數(shù)組在內(nèi)存中如何分配 14.io的模型和nio selectionkey是什么
多線程:1.什么是多線程疟羹,多線程的目的是什么? 2.什么是線程安全,非線程安全阁猜? 3.線程的有那幾個(gè)狀態(tài)以及相互間的轉(zhuǎn)換 4.wait/notify為什么必須存在于synchronized塊中丸逸? 5.多線程volatile關(guān)鍵字的作用? 6.Runnable剃袍,Thread黄刚,Callable三者的區(qū)別? 7.ThreadLocal 的作用民效,怎么使用它憔维? 8.Lock與synchronized的區(qū)別? 9.請(qǐng)對(duì)比hashTable , concurrentHashMap, HashMap的區(qū)別畏邢? 10.什么是線程死鎖业扒?產(chǎn)生的原因?如何避免死鎖舒萎? 11.什么是Executors框架程储? 12.什么是Callable和Future? 13.在靜態(tài)方法上使用同步時(shí)會(huì)發(fā)生什么事? 14.什么是線程餓死臂寝,什么是活鎖章鲤?
線程池:1.解釋線程池的作用? 2.線程池的處理流程咆贬? 3.jdk提供的線程池工具類(lèi)有哪些败徊,區(qū)別是什么? 4.關(guān)閉線程池的方法有哪些掏缎?區(qū)別是什么皱蹦?
MySqL:1.sql優(yōu)化方法? 2.建索引有哪些策略和原則眷蜈? 3.索引存儲(chǔ)原理沪哺? 4.mysql數(shù)據(jù)庫(kù)鎖有哪幾種? 5.寫(xiě)一個(gè)數(shù)據(jù)庫(kù)死鎖的sql酌儒? 6.如何做數(shù)據(jù)庫(kù)分庫(kù)分表凤粗?(mycat) 消息隊(duì)列: 1.RabbitMQ的exchange有哪幾種? 2.mq的使用場(chǎng)景有哪些今豆? 3.RabbitMQ的系統(tǒng)架構(gòu)? 4.RabbitMQ的任務(wù)分發(fā)機(jī)制有哪些柔袁?
Redis:1.使用redis有哪些好處? 2.redis相比memcached有哪些優(yōu)勢(shì)呆躲? 3.redis常見(jiàn)性能問(wèn)題和解決方案? 4.redis集群有哪些模式? 5.redis中穿透捶索,擊穿與雪崩的預(yù)防及解決插掂? 6.redis哨兵模式集群的原理?
Spring:1.IOC和AOP的實(shí)現(xiàn)原理? 2.AOP的應(yīng)用場(chǎng)景有哪些辅甥?以及動(dòng)態(tài)代理原理是什么? 3.事務(wù)的傳播屬性有哪幾種? 4.bean的生命周期彰居? 5.Spring有哪些模塊牧抽,分別有哪些作用和功能?
SpringMVC:1.SpringMVC的工作原理夏块,舉例說(shuō)明流程疏咐?
MyBatis:1.Mybatis的二級(jí)緩存?
Zookeeper:1.zk的作用和原理脐供? 2.zk設(shè)計(jì)要滿(mǎn)足哪些特性浑塞?分別解釋一下? 3.zk的選舉機(jī)制是什么政己?是否有了解Paxos算法酌壕?
Nginx:1.什么是Nginx?Nginx的作用是什么歇由? 2.Nginx 有哪些特點(diǎn)卵牍?
分布式:1.什么是分布式系統(tǒng)?解決什么問(wèn)題印蓖? 2.如何提升系統(tǒng)吞吐量辽慕? 3.如何降低延遲? 4.如何做故障恢復(fù)赦肃? 5.如何做日志統(tǒng)一系統(tǒng)溅蛉? 6.怎么實(shí)現(xiàn)通訊編程?如rpc服務(wù)他宛,webService服務(wù)等船侧; 7.高并發(fā)秒殺解決方案有哪些? 8.分布式系統(tǒng)有哪些優(yōu)勢(shì)厅各? 9.分布式系統(tǒng)會(huì)面臨什么挑戰(zhàn)镜撩? 10.如何設(shè)計(jì)分布式系統(tǒng)? 11.如何做分布式事務(wù)队塘?
其他問(wèn)題:1.如何將一個(gè)請(qǐng)求由原來(lái)的10s減少到3s袁梗?可以從哪些地方優(yōu)化? 2.如何支持大量流量的訪問(wèn)憔古?可以在哪些地方進(jìn)行優(yōu)化遮怜? 3.雙11流量怎么控制? 4.1億無(wú)序的數(shù)據(jù)文件鸿市,如何找出最小的10個(gè)數(shù)并去重锯梁?(topk算法) 5.分布式環(huán)境下即碗,如何對(duì)一個(gè)web請(qǐng)求的做監(jiān)控?
4.不可避免的問(wèn)題
? ? 請(qǐng)說(shuō)一下你為什么想跳槽陌凳?為什么選擇我們呢剥懒?你最近在關(guān)注那些領(lǐng)域的知識(shí)?你的職業(yè)規(guī)劃是什么合敦?你對(duì)自己未來(lái)的定位是怎樣的初橘?最近是否有打算深造提升自己?你平時(shí)是如何自學(xué)的蛤肌?你喜歡讀書(shū)嗎壁却,都有那些書(shū)?你除了工作之外還有哪些興趣愛(ài)好裸准?工作中遇到挑戰(zhàn)你通常是怎么處理的展东?工作時(shí)是否遇到溝通中發(fā)生爭(zhēng)執(zhí)?你如何看待加班這件事炒俱?你覺(jué)得自己有哪些優(yōu)勢(shì)盐肃?生活中別人是如何評(píng)價(jià)你的?自己有哪些優(yōu)點(diǎn)和缺點(diǎn)权悟?你的期望薪資是多少砸王?最低能接受多少?低于*k是否就不考慮了峦阁?......這些問(wèn)題在面試的過(guò)程中會(huì)被經(jīng)常聞到谦铃,回答這些問(wèn)題的同時(shí)體現(xiàn)了個(gè)人性格、修養(yǎng)榔昔、愛(ài)好驹闰、知識(shí)面、工作態(tài)度撒会、做事方式嘹朗、溝通能力、主動(dòng)性诵肛、邏輯思維等屹培,以便于面試官能更高的了解你。
5.學(xué)習(xí)方法
? ? 剛開(kāi)始面試的時(shí)候怔檩,可能效果并不是很好褪秀,許多知識(shí)點(diǎn)沒(méi)有準(zhǔn)備好,問(wèn)題也沒(méi)有想過(guò)怎么回答薛训,一臉懵逼的回來(lái)溜歪;但是越到后面越會(huì)發(fā)現(xiàn)問(wèn)的內(nèi)容大體一致,范圍也越來(lái)越明顯许蓖。這個(gè)時(shí)候需要找到好的學(xué)習(xí)方法,勤總結(jié)與后續(xù)準(zhǔn)備;我的學(xué)習(xí)方法是先收集面試題膊爪,搞懂題目自阱,準(zhǔn)備筆記,然后再去面試米酬,發(fā)現(xiàn)有回答不上來(lái)的問(wèn)題沛豌,面后回來(lái)想想,查資料赃额,然后加入筆記加派,然后再去面試,循環(huán)往復(fù)跳芳。4到5次面試后基本上技術(shù)面試沒(méi)有什么難度了芍锦。
6.總結(jié)
? 面試不僅是為了找到一份喜歡的工作,同時(shí)也是審核一下自己掌握的知識(shí)飞盆,尋找一些與某公司的差距娄琉,填補(bǔ)知識(shí)的不足與空缺,最后祝愿各位面試順利吓歇。四月是一個(gè)美好的季節(jié),桃花夭夭,淥水盈盈孽水。