? ? ? ?前兩天拿了去哪兒(Qunar)的offer,不打算接著找了,心累,結束我的校招生涯吧,寫寫這段時間的經歷。
?
? ? ? ?本科生一只,普通一本,非211/985學校,出了省就沒人認那種,計算機專業,目前大四。找工作大概從大三下學期開始吧,那時候各大廠開始招實習,接著陸陸續續的有七八月份的內推,九、十月份的校招,一路面試過來,跪了一路。個人是做Java開發的,做過爬蟲,做過Web,學過一點機器學習算法,然后就踏上了找工作的不歸路。
?
? ? ? ?找實習的時候內推了幾個公司,不過不多,只面了阿里和美團。心酸的面試經歷就從這里開始了。
?
? ? ? ?阿里實習內推面,先是簡歷面,掛了。面試就隨便問問簡歷,問問個人情況,看什么書,學習涉及到哪些領域啊之類的,人生中第一次面試,也不懂什么面試技巧,跟面試官瞎侃,然后簡歷面就掛了,不開心。后來還有一次校招內推面試,下面會提到。
?
? ? ? ?然后是美團實習內推面,電話面,一面就掛了。面試官不錯,加了微信,用的微信打過來聊的。問了Java源碼,HashMap的實現,問題比較細,實現方式,還有插入的時候是插入到鏈表的哪個位置,擴容是在插入前還是插入后,加載因子什么作用,默認長度和加載因子是多少。然后問到如果重寫compareTo()方法或實現Comparator接口要遵循什么,就是自反性對稱性傳遞性一致性這些,主要是為了問Jdk中集合類的排序用什么方法。Jdk1.7的實現方案由歸并排序改成TimSort了,如果被比較的類實現的比較器不能嚴格遵守自反性對稱性傳遞性一致性這些原則,原來在jdk.6中運行正常的代碼在升級到Jdk1.7中、后會出問題,所以說面試點主要在這里,估計是面試官踩過這坑。當然,這些東西,當時的我是一點都不知道的。又問到虛擬機調優,用到過什么工具,又問了一道算法題,對有序數組中找出和為給定值的兩個數,比較簡單。又問到用命令在linux中找出某文件中多行數據中重復次數排前幾的數據。問到項目,爬蟲的url去重問題,bloom filter原理,項目中的測試,等等,最后又聊了聊機器學習算法,MapReduce,PageRank算法,以及一些其他的,給了我一些建議,面試官很nice。
?
? ? ? ?有了這兩次面試經歷之后,查缺補漏,哦,不對,應該算是女媧補天了,認真補了補各種知識,然而大廠的實習已經過去了。所以后來暑假七八月份只能去了海爾某部門實習做后臺開發。這期間差不多就是各大廠的校招內推時間,又是一波內推。這段時間其實也蠻無奈的,各廠都內推了一遍,最后得到面試機會的只有阿里和網易。
?
? ? ? ? 先是阿里內推的面試,面完hr之后掛了,內推了簡歷兩天后,上午正在公司寫代碼,接到了阿里的面試電話,沒想會到這么快。面試官上來問我知道Dubbo框架么,然后問到Hadoop,又問到數據庫的一些知識,問到了丟失修改的解決方案,悲觀鎖或者樂觀鎖,我數據庫一直很弱,當時沒答出來。然后又問到我的項目,還是bloom filter,還有一個web項目,遇到什么問題,或者說有什么比較有創意的想法blabla....接著問到緩存啊,反向代理啊,以及分布式環境中怎么保證同一個用戶多次請求,每次都能訪問到它的session,解決方案是用一個緩存服務器來專門存儲session,或者是用反向代理根據客戶端的ip把請求交給相同的服務器來處理。框架方面問到了Spring的FactoryBean和BeanFactory,還問了什么記不清了,時間久了,最后讓我問問題,我就問他那個防止丟失修改用什么解決方案,他也沒直說,一步一步提示我,最后還是我自己給出了版本號方式的樂觀鎖解決方案。
?
? ? ? ? ?本來對一面是不抱什么希望的,結果晚上就接到阿里二面的電話,嚇死了好嗎,怎么會這么快!二面應該是總監級別的,面試的時候總是樂呵呵的,但是分析總結能力極強。面試問到的多是一些安全相關的,問到了項目,遇到過什么反爬蟲策略,還聊到淘寶會根據用戶的行為軌跡來判斷是不是爬蟲,問到網絡的幾層模型,http和https,怎么加密的,公鑰從哪來,還有項目中怎么防止sql注入。中間有問到在倒計時搶購時怎樣保證客戶端與服務器時間同步做到所有客戶端公平,主要是用到了NTP協議。大體就這么多吧,當時以為gg了,沒想到過了一段時間竟然接到了hr面的預約。阿里的hr面真的不想多談,傳說中的聞味官,第一次面到hr面,面試的感覺真是....如鯁在喉,很不爽。妥妥的,最后掛了。校招筆試沒過,阿里的校招個人頁面,筆試面試的記錄,列的滿滿的全是Rejected。
?
? ? ? ?然后是網易的面試,跑杭州去面的,順便再杭州玩了兩天,止步二面。一面面試官挺好,問到java內存模型,運行時數據區,辣雞回收,volatil關鍵字的可見性以及是否線程安全,并發包,concurrentHashMap原理,synchronized底層實現,Redis數據類型,Spring框架源碼,BeanFactory,ApplicationContext,AOP原理,動態代理,Spring事務原理Mybatis中#和$的區別。還問到了一些架構問題和高并發問題,限量搶購時怎么保證不超賣,給出四種解決方案,分別是悲觀鎖、樂觀鎖、隊列、分布式文件鎖,怎樣防止服務器雪崩現象,可以采用快速失敗。一面過程中聊得很愉快,雖然有些東西沒答出來,還是給了機會二面。
?
? ? ? ?二面就不爽了,主要是因為面試官似乎不怎么愛聊,態度很冷淡。去找面試官的時候正巧還有個同學跑去問他為什么二面把他給掛了。面試內容其實還不如一面難,問題主要都是一面中問到過的一些問題,沒聊多久就結束了。最后前臺hr告訴說面試沒過。在杭州又玩了一天半,回青島繼續做碼農。
?
? ? ? ?一直到九月份,都沒有任何內推面試,其他公司簡歷都沒過,只能校招了。
?
? ? ? ?校招也是跪了一路,先是京東,筆試過了之后去北京面試,中秋前面完技術面,中秋過后回學校hr電面。面試過程一直很輕松愉快,問題也沒有跑出以前面試被問到的范圍,然后我就安心等通知了,等到10月中旬,終于等到了...拒信。老實講對京東蠻無語的。
?
? ? ? ?面過京東后又做了n多筆試,一周之后收到了百度的面試通知,又趕去北京面試。一天面完,三面技術面,沒有hr面。一面Java面試官,先是讓手擼個快排,擼完之后拿過幾張紙,上面都是題,讓我一個一個指著說答案,有linux下各種操作和權限的問題,還有java基礎的一些東西,一不小心就踩了很多坑。接著問設計模式,問到責任鏈設計模式,設計模式的六大原則,開閉原則是什么,問到項目等等,還有一些根據項目拓展的設計題,答的并不好,結果一面就過了,等了一會二面,結果是個c艸面試官,然后就是各種智力題各種手寫代碼,手寫socket通信,寫sql,聊項目,答得也不算好,面試官給個面子讓過了,有幸來到了三面。好吧,三面又是個c艸面試官,以為不談基礎,結果上來就讓我寫了個鏈表奇偶位置交換的算法,然后對著我的代碼拿樣例一行一行的測試,臥槽。接著是個在數據中找有兩個只出現一次的數的算法,又問了兩個智力題,聊了聊項目,談談個人規劃,目前怎么做的,平時怎么學習,等等,然后就回去了。至今仍未給消息,想必已經妥妥掛掉了。
?
? ? ? ?百度面完已經是九月末了,就回家了。正巧又接到北京某IT教育公司的面試預約,回到家視頻面了兩面,輕松拿到offer,不過薪資略低,再加上崗位跟我方向不對路,沒打算去,但也沒立刻回絕,算是拿到的第一個offer吧。
?
? ? ? ?其后投簡歷一直投的是一些銀行證券或者金融類的科技公司,因為個人以后想做機器學習偏金融方向。做了n多筆試題,結果還是杳無音信。期間也拿到了幾個面試機會,魅族,YY,華數,不過因為時間關系或者薪資太低就沒去。最后意料之外的接到了去哪兒的面試邀請,第二天就坐車去北京面了,去的時候信心滿滿,也順利拿到了offer。
?
? ? ? ?一面又是c艸面試官,不過這次算是與c艸面試官聊得相當不錯的一次了,問了道算法題,我說了思路,他貌似沒太懂,就接著問了。問到設計模式,手寫一個代理模式,什么是死鎖,手寫一個死鎖例子,問到tcp,udp,握手揮手差錯處理等一些老掉牙的問題,讓我解釋一下JVM的內存管理,辣雞回收,運行時數據區,Java里面怎么解決的引用計數法中引用成環導致的內存泄漏,主要是因為Hotspot采用的是可達性分析算法,只要不可達,形成環也會也會被回收。問了一些項目的問題,最后就把我領到hr那里等二面了。
?
? ? ? ?二面是個金融部門leader,先是問了一些機器學習的算法,又讓我講一下最熟悉的算法,就跟他簡單聊了下推薦算法。問了下Object中有哪些方法,問了道算法題,然后是關于網絡的問題,迅雷的瀏覽器在相同帶寬下誰下載的快,為什么。我說迅雷下載的快,因為是P2P,面試官說不考慮P2P的話,其實是因為迅雷采用的多線程,而瀏覽器采用的是單線程下載,又讓我解釋一下為什么這樣會下載的比較快。我說每個線程與服務器建立一條鏈接,而服務器對待每個連接都是平等的,所以迅雷多線程更快。然后他居然捏著下巴沉思夸道"平等"這個用的非常好,你是怎么想到這個詞的呢?,我表示很無奈,不知道是不是這個拉高了面試的印象分。又問了些Java內存管理,運行時數據區,辣雞回收,堆區的分區設計的原理。最后我問了他一堆問題,就讓我去等著hr面了。
?
? ? ? ?這時候已經基本算是拿到offer了,在去哪兒只要面到hr,基本都會現場發offer。等了會就到了hr面,聊的過程很愉快,hr很nice,不像阿里的hr,一趟面下來讓人生厭。談了談各方面的東西,問了我期望薪資之后就直接把offer甩給我了,然后我問了不少問題了解公司情況,走的時候送了我一只小駱駝手辦。
?
? ? ? ?回去的路上想了想,薪資還可以接受,暫且決定去哪兒了,結束校招生涯。一路走來雖然面的公司不多,但是苦等不到面試機會也是難熬,面完之后等不到offer更是難熬,有段時間每天睡覺都睡不好,夜里做各種關于offer的夢,患得患失,白天精神狀態也是奇差。也許是因為學校和學歷的原因,兩三個月以來飽嘗挫敗,不過畢竟大學是自己考的,沒考到一個好的大學只怪當初自己不努力,人總要為自己的行為買單,現在或以后。過兩天回學校拿三方,我的校招生涯告一段落。新的生活開始了。
? ? ?