2018秋招面經(jīng)-Java開發(fā)工程師(網(wǎng)易跨境電商事業(yè)部) 2技術(shù)面+1hr面

2017年9月5日更新:豬廠offer已到手.

利益相關(guān):2018屆二本師范類大學網(wǎng)絡(luò)工程專業(yè)本科生,應(yīng)聘的是豬廠杭州的跨境電商事業(yè)部,也就是考拉海購。

之前看了這么多別人的面經(jīng),今天趁著還沒把昨天面試的問題忘光,趕緊寫出來分享一下攢攢人品。

總體感受

昨天在豬廠呆了一天,感覺環(huán)境還是非常nice的----園區(qū)雖然不大,但是里面設(shè)施齊全:免費的食堂、健身房、咖啡吧、郵局、銀行、考拉和嚴選的線下實體店以及網(wǎng)易農(nóng)場的水果店等等。

雖然我是下午面試,但是早上就到了園區(qū),先感受了一下食堂

早上拿著面試短信進公司大門的時候行政小姐姐對我這種面試安排在下午結(jié)果早上就過來了的同學表示非常的驚訝,然后問我為啥這么早就來了。我也不能說我是想來蹭飯的吧?唉,只好說是因為買的早上到杭州的火車票,下了火車沒哪里去就直接過來了。她一臉不相信的樣子(用家鄉(xiāng)話來說她可能打心底就覺得我是個要佬吧 哈哈哈哈)然后放我進去了,并且叮囑我不許亂跑,只能呆在C棟的一樓。嗯,結(jié)果我轉(zhuǎn)眼就溜進餐廳吃早餐了。

面試大廳
面試叫號前臺

后來上午在咖啡吧稍微準備了一下,看了看項目代碼然后隨便逛了逛,中午吃完飯就去等面試了。

一面(50分鐘左右)

一面面試官看起來還是挺和藹的,先讓我做自我介紹然后他一邊看我的簡歷。
問題列表

  • 我看你簡歷上寫到了熟悉JVM虛擬機運行機制,你能給我介紹一下Java虛擬機運行時數(shù)據(jù)區(qū)域嗎?

于是我就向他要了張草稿紙,把運行時區(qū)域畫了下來比較全面地講了一遍,并且把Java虛擬機中的一些東西和底層操作系統(tǒng)中的東西作了以下對比,后來面試官點了點頭,就問下一個問題了。
其實我對Java虛擬機還是蠻熟的,看了很多關(guān)于這方面的知識。平時在學習的過程中也寫了不少關(guān)于這個的博客,對這部分知識不太熟悉的同學可以參考一下我的博客。
深入理解Java虛擬機---自動內(nèi)存管理機制
Java虛擬機規(guī)范(Java SE 8版)讀后總結(jié)

  • 我看你對虛擬機挺了解的啊,垃圾回收你了解嗎?給我講講

我先講了下內(nèi)存布局中的新生代、Survivor區(qū)域以及老年代的劃分,然后講了下對象動態(tài)年齡判斷、分配空間擔保等。接著從引用計數(shù)法開始講,后來我說虛擬機中一般都不會用這個垃圾回收算法了,然后面試官打斷了我讓我直接從可達性分析開始介紹。我又把GC Roots的判定,哪些對象可以作為GC Roots、G1垃圾收集器的回收過程等講了一遍。面試官看起來比較滿意,就沒繼續(xù)深入地問虛擬機相關(guān)知識了。
在這里要強烈安利一本關(guān)于垃圾回收算法的書,是一個日本作家寫的,R大在知乎上也安利過這本書。(在這里要感謝@zpauly去狼廠實習的時候沒把這本書帶走而是留在了寢室,我正好前兩天翻了翻,還了解了一下保守式垃圾回收和增量式垃圾回收)
《垃圾回收的算法與實現(xiàn)》

  • 你說你閱讀過某些主流WEB框架的源碼(Spring IoC和AOP),那么你告訴我IoC中會有AOP嗎?

額...之前還這沒想過這個問題,因為這兩部分我當時都是分開來看的,并沒有總結(jié)它倆之間的聯(lián)系。后來我說AOP中要生成代理對象,而由于控制反轉(zhuǎn)的存在,代理對象的生成以及其生命周期的管理工作肯定是需要IoC容器來完成的,所以我覺得它倆之間有一衣帶水,緊密相連的關(guān)系。

  • 那好吧,你說說看BeanFactory和FactoryBean有什么區(qū)別?

我說BeanFactory定義了IoC容器最基本的形式,相當于在Java語言中的Object一樣,是所有IoC容器的基類。我們在實際進行框架開發(fā)的過程中不會直接拓展BeanFactory,而是用它的子類DefaultListableBeanFactory。然后我在描述FactoryBean的時候不知道怎么組織語言,說了一堆之后面試官說:你這說了等于沒說嘛。后來還被吐槽到底有沒有認真看過源碼。我暈...后來面試結(jié)束之后我覺得應(yīng)該把FactoryBean描述為類似于一個工廠方法中生成對象的一個東西。
下面是我之前寫的相關(guān)博客:
Spring源碼探究:IoC容器初始化過程詳解
Spring源碼探究:IoC容器在Web容器中的創(chuàng)建及初始化
Spring源碼探究:深入理解Spring AOP的設(shè)計與實現(xiàn)

  • AOP中動態(tài)代理的實現(xiàn)機制你了解嗎?給我說說原理。

一開始我以為面試官直接讓我說底層實現(xiàn)機制,稍微講了下JDK動態(tài)代碼實現(xiàn)方式我就開始講它的源碼了,后來面試官說沒讓我說源碼,只是看下我知不知道怎么用。然后我就把JDK動態(tài)代理以及CGLIB動態(tài)代理講了一下。因為前幾天剛寫了博客,所以非常熟悉。
深入理解JDK動態(tài)代理機制
深入理解CGLIB動態(tài)代理機制

  • 你說你熟悉Mysql,講一講吧

這里講了一些很基本的東西,包括ACID、隔離等級、Myisam和Innodb兩種引擎、Innodb索引的底層實現(xiàn)(b+樹)、b+樹的原理、然后拓展地講了下b樹和b*樹,說了它們的優(yōu)勢劣勢。在我后面講項目的時候還提到了封鎖協(xié)議以及封鎖等級等等。
可以參考下我之前的博客,我覺得總結(jié)的挺完善的。
數(shù)據(jù)庫相關(guān)知識回顧與總結(jié)

  • 你這個秒殺系統(tǒng)還挺有意思的,我們來說說這個吧

網(wǎng)購模擬秒殺系統(tǒng)是我之前學習了大型網(wǎng)站架構(gòu)以及系統(tǒng)優(yōu)化相關(guān)知識之后動手實現(xiàn)的一個小Demo,由于面的是考拉,所以之前又把項目好好看了看。面試的時候談了很多關(guān)于系統(tǒng)優(yōu)化、并發(fā)削峰以及流量控制、數(shù)據(jù)冷熱備份的問題,這里不詳細講了。感興趣的同學可以買下面這兩本書來看看。
大型網(wǎng)站技術(shù)架構(gòu)
大型網(wǎng)站系統(tǒng)與Java中間件開發(fā)實踐

后來面試官就說可以了,然后讓我過十分鐘去前臺問有沒有面試。因為感覺一面表現(xiàn)蠻好,我就找了個地方又把項目代碼看了一遍,因為怕二面深入地問項目。

二面(20多分鐘)

二面真的是非常迷.....因為全程都在問算法題,后來和zby學姐一起吃晚飯的時候交流了一下,我們都覺得二面面試官是做數(shù)據(jù)挖掘或者是大數(shù)據(jù)方向的。

  • 你做個自我介紹吧,我先看下一面面試官對你的評價。
  • 一個鏈表,求中間結(jié)點

第一題還挺簡單的,leetcode上很多和鏈表有關(guān)的題目都會用到這個,很快就寫出來了。

  • 有兩個int類型的數(shù)a和b,你能寫出幾種交換它們值的辦法?越多越好

中間變量、異或、用兩數(shù)和加減運算(這里可能會發(fā)生整形溢出)

  • 一個1TB的文件,你有什么最快的辦法能夠求出重復(fù)次數(shù)最多的TOP5行數(shù)據(jù)?

這題答得不好。。

  • 給你1到100萬的連續(xù)整數(shù),我從中取出一個數(shù)然后打亂數(shù)組,你給我求出被取出的是什么數(shù)。

這題真的很迷。。我一開始說排序之后遍歷,他說達不到他的要求,于是我就知道想要時間復(fù)雜度為O(n)的答案。我就一直在往二進制異或之類的方面靠,后來還是沒答出來。結(jié)果今天早上突然想到一個用高中知識完全可以解決的辦法:用等差數(shù)列求和公式求出1到100萬的和,然后再一一減去數(shù)組中的數(shù)字,就可以求出被取出的數(shù)了。

二面之后心里十分的忐忑,心想肯定得GG了,結(jié)果去前臺問了下說還有hr面。

hr面

hr面就比較輕松了,就像聊天一樣。

  • 做個自我介紹吧(主要是校內(nèi)生活、競賽經(jīng)歷、獎學金、學生干部、辯論隊、專業(yè)學習等)
  • 你是網(wǎng)絡(luò)工程專業(yè)的學生,其實培養(yǎng)方案不太側(cè)重軟件開發(fā)吧?說說你平時都是怎么進行自學的?。?/li>
  • 為什么不考研?
  • 之前投過其他公司嗎?
  • 這幾個項目中你主要承擔什么角色?
  • 如果拿到了offer什么時候可以來實習?

以上。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,323評論 25 708
  • 寫了個顯眼的標題,就真得說幾句有用的話。 5月份一個很偶然的機會,加了葉神的微信,還收到了祝福。一激動就承諾說寫...
    batbattle閱讀 13,694評論 1 57
  • 打了一上午的游戲,有點昏頭昏腦的我走在校園陰涼的小道上,不由自主的覺得有種想完全把握自己的想法。 來到這所陌生的大...
    苦難人間閱讀 529評論 0 0
  • (videos)"International Conference on Learning Representat...
    hzyido閱讀 515評論 0 0
  • 相機里面的焦距 指:鏡片中心到感光原件(底片)的距離。 鏡頭焦距=底片對角線 則鏡頭為標準鏡頭,接近人的視覺印象 ...
    淺淺君子閱讀 387評論 0 0

友情鏈接更多精彩內(nèi)容