3月份找人內(nèi)推了阿里,先后獲得了阿里云和天貓的面試機(jī)會,都是到第二面就掛了,現(xiàn)在記錄一下當(dāng)時(shí)問的一些問題。
阿里云一面
阿里云的一面是在朋友內(nèi)推了2天后打電話來電話面試的。一開始是早上11點(diǎn)左右打電話來,剛好在忙,就讓他下午2點(diǎn)再打過來,面試官答應(yīng)了,就安排在下午兩點(diǎn)電面了。
下面是面試官問的一些問題。
- SpringMVC的原理——因?yàn)槲易龅捻?xiàng)目用了SpringMVC
- Spring的事務(wù)相關(guān)
- 數(shù)據(jù)庫相關(guān),主要問了樂觀鎖和悲觀鎖。java代碼中怎么開啟悲觀鎖,其中面試官問了
select for update,當(dāng)時(shí)不知道有著東西,沒回答上來。 - redis相關(guān),比如問了對redis集群懂多少。
- tomcat調(diào)優(yōu),平?;緵]接觸,沒回答上來
- JVM調(diào)優(yōu)命令,主要回答
jmap、jstack、jps等命令 - JVM內(nèi)存模型、JVM堆怎么劃分的一些簡單的JVM問題,沒有很深入
大概聊了半個(gè)小時(shí),面試官人很好,由于電話信號不好,中途多次聽不清對方講的問題,面試官也很耐心的給我再講一遍。
面試整體感覺還不錯(cuò),有一些點(diǎn)可能沒答好,看面試官的反應(yīng)也覺的應(yīng)該能過。
后面問了我朋友,他也在阿里的內(nèi)推系統(tǒng)上看到我過了一面。
阿里云二面
本以為一面過了,很快就有二面了。結(jié)果二面過了2周才來。先和阿里hr預(yù)約了周末視頻面試。然后到了周末打開hr發(fā)來的郵件上面的鏈接進(jìn)入視頻會議,還要下一個(gè)阿里的軟件好像,叫啥忘了。
下面是面試官問的一些問題。
- 還是先自我介紹,然后問了一些工作中的項(xiàng)目,用到了哪些技術(shù)等等
- 由于在之前的項(xiàng)目中用到了postgresql,面試官便問了mysql和postgresql比較的優(yōu)缺點(diǎn)。
- 之后又問了工作中用到了哪些技術(shù)(可能對我之前的回答不是很滿意),后面我又強(qiáng)行說了一堆,spring、spring MVC、spring Security,Spring JPA等,還有spring事務(wù)管理、spring的定時(shí)任務(wù)這些能說的都說了。后面感覺面試官對這些并不是太感興趣,幾乎都沒問
- 由于之前的回答中說到了nginx,面試官又問了nginx和tomcat的比較。
- 繼續(xù)問tomcat,這次直接問tomcat的架構(gòu)實(shí)現(xiàn)原理懂不懂。我之前有看過一點(diǎn),但是基本都忘光了,就模模糊糊答了一些,應(yīng)該不能讓面試官滿意
- jdk8的特性了解多少(問了我項(xiàng)目目前用的jdk版本是多少)。
- 后面又問了spring Security的底層實(shí)現(xiàn)原理。
- 動(dòng)態(tài)代理的實(shí)現(xiàn)
- springJPA、hibernate和mybatis的區(qū)別、優(yōu)缺點(diǎn)
- 還問了相比工作中和在學(xué)校,學(xué)到的有什么不一樣。
- 問了以后的工作規(guī)劃大概是怎么樣的。
- 在中間有問了微服務(wù)的問題,問我對微服務(wù)了解多少,說說它的優(yōu)缺點(diǎn)等等,我勉強(qiáng)回答了一些。最后又問了一次微服務(wù),看來對我之前的回答不滿意。最后也沒問我有什么問題,剛好又到了飯點(diǎn),直接就結(jié)束了面試。
本次面試難度比一面高了一些,問的問題更偏向?qū)σ粋€(gè)技術(shù)的整體把握,比如更多的都是評價(jià)一個(gè)技術(shù)的優(yōu)缺點(diǎn)之類的問題,底層實(shí)現(xiàn)之類的問題問的偏少。技術(shù)選型這方面感覺自己確實(shí)需要好好提升一下,因?yàn)樽约浩綍r(shí)大多只懂的去鉆研一個(gè)個(gè)技術(shù)的實(shí)現(xiàn)原理而沒有花太多時(shí)間去思考這些更加關(guān)鍵的問題。以后要加強(qiáng)自己對技術(shù)的思考。
這次面完感覺就不是很好,最后朋友查了下,果然掛了。
天貓一面
本以為阿里云的面試掛了,就沒有下文了。但是估計(jì)是我過了一面,所以天貓這邊又從內(nèi)部拿到了我的簡歷,于是大概在阿里云2面兩周的某個(gè)晚上(大概晚上8點(diǎn)多),天貓的面試官打了我電話。
下面是面試官問的一些問題:
- 自我介紹,說說自己做的工作,以及一些亮點(diǎn)。
- hashmap實(shí)現(xiàn)原理,傳參為5的時(shí)候,初試容器是多大
- sycronized和reentrantLock區(qū)別
- 線程池各個(gè)參數(shù)的作用
- 問看過哪些源碼,都從源碼中學(xué)到了哪些。比如設(shè)計(jì)模式這些
- 問是否看過storm和jstorm的源碼
- 后面問了兩道算法題10億個(gè)數(shù)字的文件,只有128M的內(nèi)存,怎么對這個(gè)文件進(jìn)行排序。
- 倒序數(shù)組,查找一個(gè)數(shù) 倒序數(shù)組就是:6,7,8,1,2,3。LeetCode地址:https://leetcode.com/problems/search-in-rotated-sorted-array/
這次的面試感覺很不錯(cuò),因?yàn)槊嬖嚬賳柕亩际堑讓釉恚瑐€(gè)人對這方面比較熟悉,因此基本都有回答上來。還問了兩道算法題,不過都不算太難,第二道算法題還給了10分鐘的思考時(shí)間,很人性。
天貓二面
天貓的二面來的很快,隔天的下午2點(diǎn)就打電話來面試了。
下面是面試官問的一些問題:
- 自我介紹,說下做了哪些項(xiàng)目,擔(dān)任什么角色
- 先自我介紹,然后做過什么項(xiàng)目。
- MAA怎么加速的,然后我說做協(xié)議優(yōu)化,接著面試官繼續(xù)深入問怎么優(yōu)化,沒回答上來。
- 問我們業(yè)務(wù)大數(shù)據(jù)那邊的storm的數(shù)據(jù)處理流程
- 問遇到哪些難點(diǎn),怎么解決的。我就說了業(yè)務(wù)比較復(fù)雜,做過hbase的優(yōu)化。比如用all來代替全部的情況,面試官似乎不太滿意,繼續(xù)追問有沒有更好的解決辦法。
- hbase怎么尋找rowkey的,然后問hbase和mysql的底層存儲結(jié)構(gòu)有哪些不同,沒回答上來
- 跨域訪問問題
- mysql的樂觀鎖和悲觀鎖,回答了一下,但是感覺他不太滿意
- http協(xié)議的幾個(gè)狀態(tài)碼,301 401沒回答上來,平常沒怎么留意。
- 接著問了一些linux的問題,inode相關(guān)知識,怎么看inode詳情。接著top的load是什么意思,怎么計(jì)算出來的。然后問怎么看磁盤狀態(tài)。都沒回答上來。。。
- 問了tcp的3次握手,回答上來了。接著問timeout的相關(guān)問題。沒回答很好
這次面試感覺很糟,雖然面試官很禮貌的讓我提了一些問題,但是掛電話了就知道肯定掛了??偨Y(jié)了下原因,一開始被深入問了maa的加速原理,沒回答上來,后面接連著幾個(gè)問題要么不會,要么面試官稍微一問深一點(diǎn)就也不會,心態(tài)有點(diǎn)崩,導(dǎo)致后面有些問題其實(shí)懂但是沒答好。
這次面試官問的問題確實(shí)大多數(shù)都是我不會的,要么比較深,要么比較細(xì),應(yīng)該是經(jīng)歷過的面試?yán)锩孀铍y的,也是被虐的最慘的。不過經(jīng)歷了這些面試后,也確實(shí)認(rèn)識到了自己很多的不足,比如知識深度把握不夠,一些細(xì)節(jié)平常也沒注意。比如http狀態(tài)碼,做了2年多的web研發(fā),301和401這些狀態(tài)碼代表什么含義都回答不上來確實(shí)有點(diǎn)說不過去。
總結(jié)
總共經(jīng)歷了4次阿里的面試,感覺自己的水平確實(shí)還不夠進(jìn)阿里,需要繼續(xù)努力。雖然沒進(jìn)阿里,但是最后博主也進(jìn)了美圖,美圖也是一家非常好的互聯(lián)網(wǎng)公司。目前已經(jīng)在美圖待了3個(gè)多月了,美圖的技術(shù)氛圍非常好,周圍也很多技術(shù)大咖,經(jīng)常有各種分享以及某個(gè)技術(shù)框架學(xué)習(xí)小組,很適合發(fā)展自己的技術(shù)。
最后,有想進(jìn)美圖的小伙伴可以郵件找我內(nèi)推。我的郵箱是 kongtrio@sina.com