前言:
最近一朋友離了職黔州,在北京前前后后面試了6天耍鬓,一共10家公司,我找他分享出面試過程及經(jīng)驗流妻,希望能對各位正在面試中或者準備面試的童鞋有所幫助牲蜀,以下面試企業(yè)為了保密不說實際名稱。以下為第一人稱绅这。
第一家公司:簡稱A
由于剛剛開始面試選擇試試水涣达,就在智聯(lián)上投遞了一寫公司,這家就是第一個讓我去面試的公司证薇。這家企業(yè)是新三板上市的一家公司度苔,大約有700人那樣。面試時間定在早上10點浑度,去了以后給了一份面試題
內(nèi)容如下:
一寇窑、Spring
1.請說明spring實現(xiàn)AOP的兩種方式及其區(qū)別
2.請說明Spring生命周期中的可擴展接口及其定義的方法,如FactoryBean.
3.請簡述Spring Cloud的名個組件及其功能箩张。
二疗认、MyBatis
4.請說明MyBatis中DAO接口的實現(xiàn)機制。
5.現(xiàn)在需要增加一個計算SQL執(zhí)行時間的插件伏钠,請簡述該插件的實現(xiàn)原理與方式横漏。
三、前端
6.請簡述Prototype的應用場景及其基本用法熟掂。
7.請簡述Promise的應用場景及基本用法缎浇。
四、分布式及中間件
8.請簡述CAP理論赴肚。
9.請簡述Redis 2.X實現(xiàn)高可用的方法及如何水平擴展素跺。
10.請列舉常用的消息中間件及其特點二蓝。
11.請簡述HBase的基本概念、應用場景及其與關系型數(shù)據(jù)庫的區(qū)別指厌。
五刊愚、Java
12.請簡述Sring.intern()方法。
13.請簡述jdk的類加載機制踩验、ClassLoader及雙親委派模型鸥诽。
14.請說明Executor、ExecutorService箕憾、Executors牡借、ThreadPoolExecutor之間的關系。15.請簡述Java并發(fā)編程中袭异,鎖的幾種類型钠龙。
16.請說明CountDownLatch、CyclicBarrier御铃、Semaphore的適用場景碴里。
17.請說明ConcurrentHashMap在1.7 和1.8中實現(xiàn)的不同之處。
18.請簡述volatile關鍵字的含義上真、JMM內(nèi)存模型及happens-before原則咬腋。
六、設計19.請簡述Observer模式及其在JDK中的應用谷羞。
20.請給出一個分布式網(wǎng)絡爬蟲的設計架構(gòu),支持每天G級的爬取數(shù)據(jù)量溜徙。
然后hr一會告訴我筆試不過湃缎,無法進入面試。這個還是很難受的蠢壹。因為在面試過程中不管如何都會和面試官聊下嗓违,起碼知道哪些題不對,也可能是我自己準備不充分導致图贸,第一次面試就這樣草草結(jié)束蹂季。
第二家公司:簡稱B
這家公司規(guī)模很小,大約就50人吧疏日,是boss直聘上一個hr主動聯(lián)系讓去試試偿洁,所以就去,對于這家企業(yè)還是信心滿滿的沟优,想找點自信涕滋,結(jié)果恰恰相反。
去了以后也沒面試題挠阁,寫了一個登記之后hr就讓我和面試官聊天宾肺,首先讓我把項目流程介紹一下溯饵,我說了以后。他說我看了你的github代碼感覺還不錯锨用,你給我show一段丰刊。有點懵逼,猛下這么說出乎我的意料增拥,我就說寫個2分查找吧啄巧,就隨手寫了一個但是我竟然犯了一個致命錯誤,返回值有些問題寫成null跪者,但是明顯我采用的是int而不是integer棵帽。
然后接著問我web前端遇到過什么問題沒有,我說平時這方面遇到問題倒不是太多渣玲,他說好你給我寫個過濾器逗概,這個實在是沒法寫出來,平時可能都是電腦寫忘衍,足以說明我準備的確實不充分逾苫,后來又讓我寫個sql,雖然最終寫出來了但是時間過久枚钓。然后聊點其他的就說你回去吧铅搓,后續(xù)通知,我就知道這次面試再次掛了搀捷。心情低落極點了星掰。
第三家公司:簡稱C
這家企業(yè)規(guī)模還不錯,有上千人吧嫩舟,環(huán)境也可以氢烘,是拉鉤上看到的一家企業(yè)。也是10點面試家厌,去了給了一個面試題播玖,一份心理測試題,面試題難度還是有點的饭于,10道選擇題考察知識多少final蜀踏,static,do which等知識難度倒是一般掰吕,后面是大題果覆,比如寫出ssh的配置 ,數(shù)據(jù)庫連接池配置殖熟,thread和runnable是什么區(qū)別随静,寫幾種單利模式,Linux一些查找命令,一個復雜的sql語句燎猛。Linux我不太熟悉恋捆,沒寫出來,ssh配置這個平時看的也是重绷,寫的很一般沸停,數(shù)據(jù)庫連接池配置寫的也一般。
然后是心理測試昭卓,這個測試題非常多而且考察東西也多愤钾,包括一些國外的名人問他干嘛的,設計怎么讓北京三環(huán)不堵車候醒,還有怎么設計類似摩托車但是不耗油等等吧能颁,答完題大約11點半,然后第一面竟然是hr倒淫,聊了還不少伙菊,關于為啥跳槽,發(fā)展方向敌土,以前做啥等镜硕。第二面大約就幾分鐘,問我會Linux不返干,我說不怎么會兴枯,以前你干嘛的然后就說你回去吧我們后續(xù)通知【厍罚基本也掛了财剖。
第四家公司:簡稱D
從第四家公司開始變得順利,連續(xù)過了6家公司癌淮。經(jīng)過前3家失敗躺坟,我回去總結(jié)下,把基礎知識復習一下该默,避免死在這樣的問題上瞳氓。這家企業(yè)大約300人策彤,一家傳統(tǒng)的公司栓袖,主要大數(shù)據(jù)方面的。去了也是一份面試題店诗,這個面試題對我來說比較簡單裹刮,選擇題就不題了,大題是三個一個問什么是ioc和aop庞瘸,一個是設計模式捧弃,一個是sql。
大約半小時就寫好了,然后面試官看了一眼面試題也沒問面試題上問題违霞,問我你說咱們聊什么知識嘴办,我就說多線程吧,然后他問我Java線程池幾種方式买鸽,我回答4種涧郊,各位自己查哪幾種,然后又聊thread和runnable眼五,接著問hashtable和ConcurrentHashMap,因為看過這兩個的源碼所以回答還是挺輕松的。陸陸續(xù)續(xù)問了一些線程安全問題倔监,最后又聊了一些存儲過程知識销睁,這個平時用的少回答的一般,但是我觀點是盡量少用存儲過程诵姜,避免把大量業(yè)務放在數(shù)據(jù)庫處理汽煮。
還問了一些數(shù)據(jù)庫索引設計問題,這個我會茅诱,所以答的也可以逗物。最后問下我薪水我說最低多少,就開始二面了瑟俭。二面是一個不是Java的翎卓,是這整個團隊的組長,主要問了一些如何處理幾億日志查詢摆寄,我說可以采用存儲過程還有內(nèi)存數(shù)據(jù)庫什么的失暴,她說不是好的方案,接著我問你們有什么好的方案微饥,她說我們暫時沒有逗扒,用的就是你剛剛說的∏烽伲總體還是挺滿意的然后問我薪水矩肩,讓我等下說讓總監(jiān)決定我的薪水,然后總監(jiān)不在肃续,這個確實不在黍檩,他領著我去人事那邊做個登記說明天給電話來復試。
大約2天后打電話讓去復試始锚,因為我手里有offer了就給hr說了情況刽酱,我說你問下,如果薪水不到瞧捌,我就不去了棵里。后來hr回復他們確實給不了润文,我說那就算了。這家公司是好的開頭殿怜,整個信心提升了好多典蝌。
第五家公司:簡稱E
這家企業(yè)大約700人,300多個研發(fā)头谜,辦公環(huán)境倒是一般赠法,下午2點過去的,也沒有面試題乔夯,主要問線程知識砖织,然后問我你熟悉哪個數(shù)據(jù)結(jié)構(gòu)說個,然后我隨便說了幾個他說可以末荐,又問我要多少薪水侧纯,最低多少我說了下他說沒問題,就讓我去二面了甲脏。
二面問的是數(shù)據(jù)庫眶熬,線程方面知識,我感覺答的倒是一般块请,大約聊了半個小時娜氏,然后說我們今天就聊到這,然后我就回去準備下一家墩新,然后回來路上一面就給我打電話說你面試通過了贸弥,薪水按照你說的來,問我啥時候入職我說下周海渊,他說盡快绵疲,最后hr也給我說了薪水,過了一天就發(fā)了offer臣疑,這家公司感覺還行吧盔憨,最后只是感覺挺對不起hr的,答應去沒去讯沈,打電話時候明顯生氣了郁岩。
第六家公司:簡稱F
這家公司規(guī)模還不錯,可能有些買水果支付錢的時候還用到缺狠,但是總部在上海问慎,北京新成立不久。這家沒面試題儒老,主要是針對項目蝴乔,問我遇到過什么問題记餐,為什么這么設計驮樊,好處在哪里,我都一一解答了,聊得時間蠻久的囚衔,最后他說他們加班可能會少挖腰,團隊目前就5個人,問我能否接受练湿,然后又說自己公司很有前景什么的一堆猴仑,我個人不喜歡這樣小團隊,坑太多就說我回去考慮下給你打電話肥哎,當然薪水他也說可以按照我要的來辽俗。因為不喜歡這樣環(huán)境所以也沒打電話給他。
第七家公司:簡稱G
這個公司可以算是3線互聯(lián)網(wǎng)了篡诽,小有名氣崖飘,規(guī)模也比較大,當時是很想拿下的杈女,下午2點過去的朱浴,不過面試的還挺多的,就我那一屋子就3個人达椰,面試題是一個小時翰蠢,第一題主要是針對目前流行的一些技術(shù),讓解釋下啰劲。
我大約搞定了80%梁沧,因為平時看的多,但是也很多只是知道存在并不知道用法蝇裤,第二題是一個排序趁尼,我寫了一個快排,第三題是求一個數(shù)的質(zhì)數(shù)第四題是二叉樹(個人覺得出的有問題我后來問題這個題意義是什么他說考察一下是否會寫遞歸)第五題是設計題我參考了一下集合方面的設計猖辫,采用接口+抽象類+類這種方式酥泞。最后是一個排序,我沒有多少思路啃憎。
面試時候可能人多直接由技術(shù)總監(jiān)面試芝囤,技術(shù)考察點倒不是很多,著重考察個人辛萍,問你如何展開工作悯姊,你是什么樣的人等等我回答的還可以,然后他說你的薪水多少我說下贩毕,然后他簽字說去找hr吧悯许。這家過的很輕松。
hr給的薪水明顯低些辉阶,但是他們4個月獎金先壕,3個月一發(fā)瘩扼,考核是0.8到1.2基點。offer合同也有寫垃僚,應該比嘴上說我們幾個月年終獎靠譜多了集绰。這家企業(yè)我猶豫了好久,因為后面我成功面試了另外一家谆棺,這家技術(shù)總監(jiān)給我打電話聊了有半小時說了一下他們的前景而且薪水會加到比我拿到的只多不少栽燕,hr后來打電話也確認了這件事。
在后來屬于我的直屬上司又打電話和我聊聊改淑,不過說實話挺感動碍岔,我說我們加微信吧,以后有機會再合作朵夏,因為互聯(lián)網(wǎng)圈子很小付秕。
第八家公司:簡稱H
這家企業(yè)規(guī)模還挺大,讓寫一個心理測試題侍郭,主要是php開發(fā)询吴,根本就沒有Java開發(fā),主要想招幾個人做一些項目維護亮元,來了一個面試還挺帥的猛计,主要就問項目,沒什么具體技術(shù)點爆捞,就是我們相互吹吹牛逼奉瘤,他吹完我在吹,然后說小伙子很不錯煮甥,要不要考慮來啊盗温,我說這個壓力山大啊,你容我考慮考慮就回去了成肘,反正我肯定不想在這樣環(huán)境工作卖局,很苦逼。
第九家公司:簡稱I
這家公司知名度挺大的双霍,估計大家也都知道砚偶。下午本來約好是4點面試,但是我中間有事遲到了洒闸,4點半過去的染坯。第一面的面試官很nice,感覺人特別的好丘逸,也很隨和单鹿,生活中是值得交的朋友。第一個問題問我什么事面向?qū)ο笊罡伲凑一卮鹛咸喜唤^仲锄。
第二個問了hashtable相關的知識這個我也會接著我們又聊聊volatile劲妙,我又說了Java內(nèi)存模型,后來讓寫個算法昼窗,寫的不太好,他說沒關系涛舍,我只是想看看你的代碼風格澄惊。然后又讓寫個sql,我隨手就寫出來富雅,然后他說你在寫個那個有點復雜沒寫出來掸驱,他說沒關系,這個不是面試的范疇没佑,有點難為你了毕贼,這個不算啊,不要在意蛤奢。
后來我記得還問了數(shù)據(jù)庫索引方面知識鬼癣,最后告訴我你的一面過了,你等下一面吧(反正這個面試官給了我很深的印象啤贩,人確實不錯)待秃。
二面主要考查的是項目,主要問了我最后一個項目包括很多細節(jié)痹屹,如何優(yōu)化的并且畫圖章郁,同樣也讓寫個算法,不過比較好的是讓偽代碼就行志衍,所以我還是寫出來了暖庄,不過又問有沒有更好的方式,我想了想說目前我也沒更好的方式了楼肪。(遇到算法題哪怕在復雜只要實現(xiàn)就寫培廓,能寫出來比不會寫強很多)整個面試還是圍繞項目展開的。
后來面試結(jié)束他說整體還可以春叫,某些細節(jié)沒答出來医舆,但是整個思路都是對的,那時候都7點多了象缀,問我明天再來一次復試怎么樣蔬将,我說我只有上午有時間,下午我有面試央星。他說你等下我去找老板(就是他的領導)霞怀,然后展開三面,三面上來問了一下整個項目的流程我再次解釋并畫圖莉给,然后聊天過程核心還是團隊協(xié)作問題毙石,如何和產(chǎn)品經(jīng)理溝通廉沮,還有一個如果你是組長你會怎么樣做,側(cè)重管理能力徐矩,因為我在第二段工作做過類似所以回答起來還是很輕松滞时,其實和產(chǎn)品溝通,研發(fā)溝通最主要是換位思考滤灯,懂的尊重別人坪稽。
面試完畢都快9點了,他說hr肯定面不了了鳞骤,你明天還要不要在來一次窒百,我說明天下午有面試來不了,他說那沒事我讓她電話聯(lián)系你豫尽,我說薪水我要多少合適啊篙梢,他說你隨便,我說我有offer了說下offer薪水美旧,他說你可以提渤滞,我們這邊會給你一個考核的。
最后走的時候說你明天和hr聊天注意點說話不要被刷了榴嗅,盡量不要說你領導過多好話蔼水。反正意思保持中立。前前后后到發(fā)offer用了2天時間录肯,hr確實也沒問薪水問題直接他們評定的趴腋。我覺得挺理想的。
第十家公司:簡稱J
這家同樣是大企業(yè)论咏,名氣也不小优炬。由同事內(nèi)推過去的。面試的人簡直了實在太多了厅贪,感覺所有面試加起來100人都不止蠢护,去了也沒筆試題,一面就問我?guī)讉€問題养涮,一個是二叉樹的順序排序葵硕,會先跟,后跟贯吓,中跟就是不會順序懈凹,尷尬了。
第二個讓寫一個單例模式悄谐,寫了一個內(nèi)部類介评。第三個問題問了hashMap的<操作,我回答的不算好,主要考查源碼的们陆,然后讓我寫個歸并排序寒瓦,這個同樣寫不出來,連續(xù)幾個就知道完蛋坪仇,肯定不過杂腰。果真不過,然后問我面試怎么樣我說還行拿到幾個offer椅文,他說恭喜之類的話就讓回去了喂很。
總結(jié):
整個面試下來,覺得面試也有運氣成分雾袱,但是更多是實力體現(xiàn)恤筛,我們不要抱著僥幸的心理官还,把基礎打雜事芹橡,注意說話的方法,一定洋溢著自信望伦。
1林说、誠懇
注意一點是當面試官問你你有什么想問他的不,把握好機會屯伞,也會可以逆轉(zhuǎn)局勢腿箩。你可以問他需要什么樣人然后定位自己看看自己是不是,說到底面試的人想要招人過去劣摇,記得一定要誠懇珠移。
2、不說大話
不要說什么大話末融,什么我精通多線程之類的钧惧。就說你自己性格特點能做什么樣事,也許面試官會給你一個機會勾习。
3浓瞪、面前準備
還有就是面試之前記得準備充分,關于是否要看面試題巧婶,如果可以還是要看一下乾颁,注意一下問題的細節(jié),為自己創(chuàng)造多一點機會艺栈。
4英岭、面后總結(jié)
還有就是面試完畢之后進行總結(jié),千萬失敗否定自己垂頭喪氣湿右。
如果感覺公司還不錯巴席,就可以踏踏實實工作,不要眼高手低诅需,錯過機會漾唉,當你實力很強的時候就是企業(yè)主動找你的時候荧库。