【微信小程序】目前最全的《Java面试题及解析》
開頭
在找工作的過程中,對于 Redis 技術(shù)知識的掌握已經(jīng)成為必須的技能。美團(tuán)面試常常就會被問到Redis相關(guān)知識,而這次我就差點(diǎn)倒在了美團(tuán)3面,面試官連問我以下幾個Redis的問題,然后就卡殼了…
redis了解嗎?你說說怎么用redis實(shí)現(xiàn)分布式鎖?
Redis常用數(shù)據(jù)結(jié)構(gòu)及底層數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)
如何解決 Redis 的并發(fā)競爭 Key 問題
如何保證緩存與數(shù)據(jù)庫雙寫時的數(shù)據(jù)一致性?
剩下的不太記得了…為此面試完回來針Redis專門做了一個面試問題大總結(jié)
一、不少培訓(xùn)班候選人的簡歷中,缺乏足夠的商業(yè)項(xiàng)目年限
不少同學(xué)會有這樣得感受:投出去不少簡歷,但就沒有面試機(jī)會,對培訓(xùn)班出身的朋友來說,可能這種情況更甚,原因是,這些簡歷沒過篩選。
沒過篩選的原因無非有兩個
- 第一,關(guān)鍵技術(shù)的項(xiàng)目實(shí)踐經(jīng)驗(yàn)沒達(dá)到該職位的規(guī)定年限
- 第二,簡歷上描述的技術(shù)和該職位的需求嚴(yán)重不符。
比如本崗位需要一個有3年Java開發(fā)經(jīng)驗(yàn)的人,某簡歷上寫,雖然有3年經(jīng)驗(yàn),但不是做Java,只是最近3個月在某培訓(xùn)學(xué)校里呆過,雖然這三個月的經(jīng)歷寫得花團(tuán)錦簇,但抱歉,頂天也只能算3個月學(xué)習(xí)經(jīng)驗(yàn),甚至還沒法算成是商業(yè)項(xiàng)目經(jīng)驗(yàn),可能我所在的是大公司,所以這類簡歷一定沒法通過篩選,更沒有面試機(jī)會。
我看過不少此類簡歷,相關(guān)商業(yè)項(xiàng)目年限缺乏到不值得面試。相反,我也見過不少錦上添花型的培訓(xùn)經(jīng)歷,比如某人一直在做Java,最近參加某個培訓(xùn)班,上了大數(shù)據(jù)或機(jī)器學(xué)習(xí)或云等高端技術(shù),那么此類簡歷是憑足夠的項(xiàng)目年限過篩選,而在面試中,如果從培訓(xùn)班里學(xué)到的技能也講得很好,那么絕對是優(yōu)先考慮。
這部分能給出的建議是,不論是否參加培訓(xùn)班,首先得挖掘相應(yīng)的商業(yè)項(xiàng)目經(jīng)驗(yàn),如果你的項(xiàng)目經(jīng)驗(yàn)介于學(xué)習(xí)和商業(yè)項(xiàng)目之間,那么盡量往商業(yè)項(xiàng)目上靠。
1.兼職類項(xiàng)目,比如你本職干c#,但幫朋友干了私活用java,而公司職位介紹需要java,那么可以著重挖掘你的java經(jīng)驗(yàn)。
2.我知道有些培訓(xùn)班有實(shí)訓(xùn)項(xiàng)目,就從外面公司里接了項(xiàng)目讓老師帶領(lǐng)著做,這塊,一定得寫成商業(yè)項(xiàng)目。
3.你之前在公司主要是做測試,但好歹也用過java,那么在申請java工作時,一定得重點(diǎn)寫java。
- 什么叫商業(yè)項(xiàng)目?你做的項(xiàng)目能掙錢就叫商業(yè)項(xiàng)目。如何在簡歷中區(qū)分商業(yè)項(xiàng)目和學(xué)習(xí)項(xiàng)目?突出客戶,上線部署過程,項(xiàng)目管理和使用情況這些要素。
二、直接描述培訓(xùn)班學(xué)習(xí)經(jīng)歷會帶來的負(fù)面影響
我拿到一份最近幾個月脫產(chǎn)在培訓(xùn)班學(xué)習(xí)的簡歷,我首先會想:為什么他要上培訓(xùn)班,是不是之前沒有相關(guān)經(jīng)歷?相信很多面試官都有相關(guān)顧慮。如果候選人剛從學(xué)校里出來,公司對他的期望不高,那還不要緊。但如果需要的是個有3年經(jīng)驗(yàn)的崗位,那么就要著重看簡歷乃至重點(diǎn)面試了。
比如簡歷上,除了培訓(xùn)班有相關(guān)經(jīng)驗(yàn)外其它沒,那么估計(jì)連面試機(jī)會都沒。有些培訓(xùn)班會幫忙優(yōu)化簡歷,之前的項(xiàng)目經(jīng)驗(yàn)描述雖然匹配職位介紹,但這類候選人會被非常仔細(xì)地盤問。
而且,去培訓(xùn)班一般會導(dǎo)致若干月的空檔期,這對下份工作來說,不是好事,畢竟拳不離手曲不離口,而且這在背景調(diào)查時能通過看社保等看出來,無法作假。
換句話說,你在培訓(xùn)班學(xué)習(xí)脫產(chǎn)的學(xué)習(xí)經(jīng)歷會給你帶來兩大不利因素,第一暗示面試官你缺乏相關(guān)經(jīng)驗(yàn),第二會有“未被雇傭”的時間段。如果某些同學(xué)確實(shí)不得不通過培訓(xùn)班來改變自己,別無他法。但如果你目前工作還算穩(wěn)定,是想通過培訓(xùn)班來提升自己,那么如下的建議或許對你有用。
1.有條件的話,盡量別脫產(chǎn)學(xué),如果有必要,報一個周末班。
2.或者,你可以找些視頻資料,邊上機(jī)邊學(xué),不過這就需要一定的毅力。學(xué)什么,怎么學(xué)?找份大綱和系列的課程資料。
3.還是這句話,首先要做的是,在平時工作中挖掘相關(guān)經(jīng)驗(yàn)。比如你在做測試,想轉(zhuǎn)java,那么在學(xué)習(xí)之余,一定得在公司里找個java實(shí)踐機(jī)會,怎么找?多觀察,多動腿跑,多動手實(shí)踐,外帶多動嘴請教人。要知道,接下來換工作,更看重得是直接的項(xiàng)目經(jīng)驗(yàn)。
- 那么是否要在簡歷上寫明培訓(xùn)班經(jīng)歷呢?其實(shí)這不是問題。當(dāng)你已經(jīng)在脫產(chǎn)學(xué)了,那么你不寫,這段經(jīng)歷又該如何描述呢?如果你是自學(xué),那么公司工作的經(jīng)歷絕對要比培訓(xùn)班經(jīng)歷好看。所以這里的問題還是會歸結(jié)為:要不要報脫產(chǎn)的培訓(xùn)班,而不是簡歷該怎么寫。
三、大齡轉(zhuǎn)行Vs年輕的初級程序員,公司一般會如何選擇?
如果大齡IT人要轉(zhuǎn)行,去培訓(xùn)班咨詢,我不知道相關(guān)人員會怎么說,但我就從面試官角度來說明。可能我一直在大公司,就站在這個角度來分析。
兩份簡歷
- 一份是28歲,本科,最近1年是java,之前是其它
- 另一份是24歲,全部工作經(jīng)驗(yàn)是1年,都在做java。
首先看技能,比如基礎(chǔ),對框架的理解,對數(shù)據(jù)庫等優(yōu)化的技能,如果兩者差不多,年輕人很占優(yōu)勢,畢竟錢一般能少給,而且精力充沛。而大齡程序員的經(jīng)驗(yàn)不對口,本職位用不到。
確實(shí),培訓(xùn)班能提升學(xué)習(xí)效率,相當(dāng)于用錢買時間,而有些大齡程序員缺的就是時間。但對這些人而言,更缺乏相關(guān)技能的實(shí)踐經(jīng)驗(yàn),如果要報培訓(xùn)班,這是你自己的事情,但同時還得想辦法補(bǔ)充相關(guān)經(jīng)驗(yàn)。這點(diǎn)在本文里已經(jīng)有過描述,在本人的其它博文里,也有相關(guān)描述。
四、經(jīng)過培訓(xùn)班突擊后,可以先面試小公司
在上文里,培訓(xùn)班出身的同學(xué)可能看到的是比較悲觀的描述,這里要說明,因?yàn)槲宜诘墓疽?guī)模不小,而且給出的工資不算低,所以要求也相對高些。
但大家也可以想下,更多的是中等規(guī)模或人數(shù)較少的公司,這類公司可能更需要的是能直接動手的人,所以大齡轉(zhuǎn)行或通過培訓(xùn)班突擊經(jīng)驗(yàn)的同學(xué),或者因?yàn)橄嚓P(guān)經(jīng)驗(yàn)比較少,剛開始可以考慮這類公司。
又如,當(dāng)我有時候招外包員工時,同等職位的要求也會大大降低。什么叫外包員工呢?
- 比如某大公司A,出于預(yù)算的考慮,針對工作3年的初級崗,會開放若干正式員工崗和外包崗。外包崗是,這類員工和某外派公司B簽合同,但和正式員工一起上班,這類員工的面試要求會低不少,也經(jīng)常招些剛從培訓(xùn)班里出來的同學(xué)。
此類外包崗,由于要求不高,而且能獲取大公司的工作經(jīng)驗(yàn),同時若干年后還有可能轉(zhuǎn)成正式員工,可以是相關(guān)同學(xué)的首選。如果培訓(xùn)班推薦就業(yè)的老師沒相關(guān)渠道,你可以自己通過朋友或獵頭找。
五、面試官怎么面試有培訓(xùn)班經(jīng)歷的人?論培訓(xùn)班同學(xué)如何準(zhǔn)備面試?
上文的主要內(nèi)容是,如何規(guī)劃自己的學(xué)習(xí)和如何挖掘項(xiàng)目經(jīng)驗(yàn)。哪怕是培訓(xùn)班的學(xué)生,簡歷上只要稍微用心點(diǎn),通過篩選并不難,但面試前更得準(zhǔn)備。
1.如上所述,我首先得考察商業(yè)項(xiàng)目經(jīng)驗(yàn)的真實(shí)性,會問:項(xiàng)目幾個人做?做了多久?用什么管理方式?(比如敏捷方式)多久發(fā)布一次?部署在哪類服務(wù)上?如何部署?打包部署流程是什么樣的?目前有哪些客戶在用?諸如此類問題,確認(rèn)的是項(xiàng)目真實(shí)性。
我聽到的不大好的回答有,項(xiàng)目直接部署在windows系統(tǒng)上,直接打成jar包然后手動放到服務(wù)器上,沒有日志監(jiān)控等手段,說不清項(xiàng)目的管理方式和發(fā)布周期等一定會經(jīng)歷過的要素。有人還會說,做完了,但過了很久,還沒客戶用,所以沒部署,產(chǎn)品網(wǎng)站沒流量。至于該怎么說,項(xiàng)目是大家做的,自己得想好。 在我其它博文里,也有相關(guān)說辭的介紹。
2.問全棧流程,比如前端用什么,后端用什么,數(shù)據(jù)庫用什么?更重要的是,部署相關(guān)的分布式組件大致用什么。我不求候選人講清楚業(yè)務(wù),但要候選人用一個需求點(diǎn)講清楚全棧流程。培訓(xùn)班出來的同學(xué),往往會某塊講比較清楚,而缺乏整體流程。這塊其實(shí)也未必要講非常仔細(xì),比如nginx如何配置負(fù)載均衡,我不要求你結(jié)合底層代碼講清楚實(shí)現(xiàn)機(jī)制,你通過配置文件簡單說明即可。同時,每塊你至少能通過簡單的配置和代碼講清楚流程。
3.隨后再問技術(shù)點(diǎn)。這里的建議是,先刷題,再精通,最好結(jié)合需求,通過底層代碼說明。
比如考察Java核心知識點(diǎn),你先通過刷題,了解些基本說辭,先讓面試官感覺你全都會。然后深挖一塊,比如線程并發(fā),你可以結(jié)合你業(yè)務(wù)需求,說這塊你用到線程池,具體參數(shù)怎么配,如何同業(yè)務(wù)整合,這里你可以背一些底層代碼,說下線程如何回收,超時時如何處理,這樣面試官就會認(rèn)為你很精通。
4.再問優(yōu)化點(diǎn)和組件。其實(shí)這塊已經(jīng)屬于加分項(xiàng)了。比如數(shù)據(jù)庫調(diào)優(yōu)你有哪些經(jīng)驗(yàn)?框架層面Spring Cloud你用過哪些組件。這里的回答要求是,不求多,但要結(jié)合業(yè)務(wù)說清楚一塊。比如數(shù)據(jù)庫調(diào)優(yōu)方面,你說你知道索引,執(zhí)行計(jì)劃,分庫分表,但都是理論經(jīng)驗(yàn)。這還不如你就結(jié)合一個業(yè)務(wù)點(diǎn),本來sql語句怎么樣,但我通過加索引,讓這句話優(yōu)化到10秒執(zhí)行完。類似的,你結(jié)合業(yè)務(wù)說清楚幾點(diǎn),就一定能證明自己的能力。
以上可以說是培訓(xùn)班出身同學(xué)面試時的通病,大家如果注意,就可以超越不少對手。
六、簡歷和面試過程中要不要回避培訓(xùn)經(jīng)驗(yàn)
可能不同的人有不同的觀點(diǎn),我的建議如下。
-
第一,如果你這個時間段除了寫培訓(xùn)班經(jīng)歷沒其它好寫,與其寫待業(yè)中,還不如寫在培訓(xùn)班里學(xué)習(xí)。或者你剛從學(xué)校里出來,或者剛畢業(yè),本身經(jīng)驗(yàn)少,那么可以寫上培訓(xùn)班經(jīng)歷。
-
第二,剛才我已經(jīng)給出了寫明培訓(xùn)經(jīng)歷的后果,大家如果感覺能在面試中用技術(shù)或經(jīng)驗(yàn)說服面試官,那你可以寫上。或者說難聽點(diǎn),債多不愁,你找相關(guān)工作時的不利因素也夠多了,不差這一條,而又得靠培訓(xùn)班經(jīng)歷來撐臺面,那么可以寫上。
-
第三,再啰嗦一句,不管如何,更多得是挖掘相關(guān)項(xiàng)目經(jīng)驗(yàn),而培訓(xùn)經(jīng)驗(yàn)可以落實(shí)到商業(yè)項(xiàng)目經(jīng)驗(yàn)里。比如你報了個周末班,在其中學(xué)到了netty等分布式組件的知識。同時你在平時上班的項(xiàng)目里也在用,也遇到半包粘包或零拷貝等問題,但在上培訓(xùn)班前你沒重視,那么你就可以把培訓(xùn)班學(xué)到的技能優(yōu)化這部分的簡歷。
七、總結(jié):進(jìn)階道路可以曲折,但別小富即安
培訓(xùn)班出身的同學(xué)后面的發(fā)展得靠自己,剛出來后,可以找個能提供實(shí)踐機(jī)會的公司。比如我在上海,經(jīng)常聽說有公司招不到人,對他們來說,不在乎候選人的出身,甚至不在乎學(xué)歷,只要能干活久行,而培訓(xùn)班出身的同學(xué)能證明這點(diǎn)還是綽綽有余的。
另外,我經(jīng)常到培訓(xùn)班網(wǎng)站去了解我的對手,在看完他們項(xiàng)目描述之余,每次都會看他們學(xué)生的就業(yè)情況,具體我不多說,大家也可以自己觀察思考,不過大家可以從中看到不少積極的因素:進(jìn)小公司應(yīng)該是沒太大問題的。
總之,要不要進(jìn)培訓(xùn)班大家自己考慮,自己發(fā)心看資料也是一種選項(xiàng)。不過話說回來,**培訓(xùn)班出身的程序員找到工作并不難,至少在上海是這樣,就工資和工作時間的問題。**但穩(wěn)定后絕不能沾沾自喜,更得繼續(xù)掌握高級開發(fā)乃至架構(gòu)師的知識,從而力圖進(jìn)大的好的公司,力求更高工資的職位。
最后
以上分享的全部分布式技術(shù)專題+面試解析+相關(guān)的手寫和學(xué)習(xí)的筆記pdf,高清完整版戳這里免費(fèi)領(lǐng)取
還有更多Java筆記分享如下:
以上分享的全部分布式技術(shù)專題+面試解析+相關(guān)的手寫和學(xué)習(xí)的筆記pdf,高清完整版戳這里免費(fèi)領(lǐng)取
還有更多Java筆記分享如下:
總結(jié)
以上是生活随笔為你收集整理的【微信小程序】目前最全的《Java面试题及解析》的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 不孕不育常见症状
- 下一篇: 绝经后子宫内膜异位症会好吗