今天5點(diǎn)半接到一個(gè)杭州的電話,是螞蟻金服打來(lái)的,當(dāng)時(shí)心里一陣發(fā)慌,由于還在上班,就和面試官約定6點(diǎn)下班之后再來(lái)。掛完電話,心里忐忑的不行,感覺(jué)自己這也沒(méi)準(zhǔn)備好,那也沒(méi)準(zhǔn)備好。剩下半個(gè)小時(shí)完全沒(méi)有心思再工作了,把常問(wèn)的HashMap,concurrentHashMap底層看了一下,算是臨時(shí)抱佛腳吧。一下班,就收拾出發(fā)在公司樓下找了個(gè)地方等面試電話。
沒(méi)一會(huì)兒,電話如期而至。先是聊了下大概情況,然后聊了下工作經(jīng)歷。叫我挑選一個(gè)自己覺(jué)得掌握的最好的項(xiàng)目開(kāi)始發(fā)問(wèn)。
最開(kāi)始問(wèn)了你覺(jué)得項(xiàng)目中最難的地方,自己因?yàn)楫厴I(yè)了一直在小公司,也沒(méi)有感覺(jué)遇到特別困難的地方,憋了半天憋不出來(lái)。面試官也放棄了,直接問(wèn),項(xiàng)目中用到Map集合吧,用到過(guò)哪些Map。自己就說(shuō)了個(gè)最熟悉的HashMap。但是面試官好像不太想問(wèn)這個(gè),又問(wèn)有沒(méi)有用到過(guò)排好序的Map,當(dāng)時(shí)自己腦子短路了,沒(méi)想到TreeMap是排序的,當(dāng)時(shí)竟然一時(shí)想不出有排好序的Map,就說(shuō)了沒(méi)有排好序的Map,但是可以實(shí)現(xiàn)Compareble接口來(lái)實(shí)現(xiàn)排序。肯定面試官也很無(wú)語(yǔ),這送分題都不會(huì)啊!然后又問(wèn)HashMap put方法的時(shí)間復(fù)雜度,我說(shuō)因?yàn)镠ashMap底層是數(shù)組加鏈表實(shí)現(xiàn)的,如果沒(méi)有hash碰撞時(shí)間復(fù)雜度就是O(1),有碰撞最壞情況就是O(n)。然后看到我建立上有寫線程池,就問(wèn)了下創(chuàng)建線程池的具體參數(shù)的含義,這個(gè)沒(méi)啥難的,然后又問(wèn)線程池的緩存隊(duì)列,然后又問(wèn)是否自己去實(shí)現(xiàn)過(guò)緩存隊(duì)列。最后一問(wèn)完全不知道咋回答,因?yàn)槠綍r(shí)都是直接使用現(xiàn)成的。然后繼續(xù)發(fā)問(wèn),問(wèn)了下JDK bin目錄下的工具除了java javac還有沒(méi)有用過(guò)其他的。我心里想,面試官啊,你把我用過(guò)的工具都說(shuō)完了。然后就只有說(shuō)沒(méi)有使用過(guò)。自然又是跳過(guò)。然后又問(wèn)項(xiàng)目除了開(kāi)發(fā),有沒(méi)有用到優(yōu)化方面的。我想肯定是想問(wèn)JVM方面的了。就說(shuō)了下自己在測(cè)試環(huán)境服務(wù)老是啟動(dòng)沒(méi)多久就掛了,自己調(diào)整了下堆內(nèi)存的大小。其實(shí)當(dāng)時(shí)只是試探性的加大了堆內(nèi)存,根本沒(méi)有怎么去分析過(guò)。然后面試官問(wèn),你是根據(jù)什么覺(jué)得要去調(diào)整堆內(nèi)存大小的,自己當(dāng)時(shí)就慌了,因?yàn)闆](méi)有實(shí)際做過(guò),所以就說(shuō)自己在啟動(dòng)項(xiàng)目的時(shí)候加了輸出GC日志的命令,看到有很多Full GC,所以就調(diào)整了。感覺(jué)面試官不是很滿意。然后又問(wèn)我你知道JVM垃圾回收機(jī)制嗎?自己其實(shí)對(duì)JVM垃圾回收這一塊還是挺熟悉的,但是這么一問(wèn)自己一時(shí)不知道怎么回答,就把垃圾收集器說(shuō)了一下,但是感覺(jué)不是很對(duì)。后來(lái)回來(lái)百度JVM垃圾回收機(jī)制,感覺(jué)都有說(shuō)到JVM內(nèi)存結(jié)構(gòu),對(duì)象可達(dá)性分析,垃圾回收算法,垃圾回收器都有講到。其實(shí)自己這塊挺熟悉的,但是一籠統(tǒng)的問(wèn)JVM垃圾回收機(jī)制當(dāng)時(shí)一直在想我該回答哪一塊的內(nèi)容。最后面試官問(wèn)了如果你要讓現(xiàn)在做的項(xiàng)目更好,你回添加一些什么功能。但是自己想了半天也不知道如何回答。面試官應(yīng)該也很無(wú)語(yǔ),但是不得不說(shuō)面試官全程都是態(tài)度非常好,電話面試都能感受到面試官是一個(gè)又謙虛又有真才實(shí)學(xué)的人。給了我很多建議,說(shuō)我們程序員一定要一直保持學(xué)習(xí),要多學(xué)習(xí)底層方面的東西。其實(shí)自己也很想學(xué)習(xí)底層的東西,但是底層的確實(shí)要難很多,很多書看不動(dòng),還是要繼續(xù)努力才行啊。面試官說(shuō),如果有下一步會(huì)發(fā)郵件,叫我注意關(guān)注下。
這次面試雖然表現(xiàn)很差,但是還是讓我獲益很多。我知道大的公司都喜歡面試底層,所以自己也對(duì)底層有過(guò)一些關(guān)注,在網(wǎng)上看到都會(huì)問(wèn)HashMap , concurrentHashMap所以對(duì)這兩個(gè)的底層是看了又看,特別是concurrentHashMap的實(shí)現(xiàn)1.8之前怎么實(shí)現(xiàn),1.8之后怎么實(shí)現(xiàn)都做了很深的了解,然而今天并沒(méi)有被問(wèn)到。連簡(jiǎn)單的TreeMap都忘了,也是自己平時(shí)沒(méi)怎么使用。平時(shí)的業(yè)務(wù)確實(shí)也沒(méi)有涉及到。還有自己對(duì)自己做的項(xiàng)目完全沒(méi)有一個(gè)總結(jié),面試官問(wèn)的關(guān)于自己項(xiàng)目的問(wèn)題自己都回答的簡(jiǎn)直像坨翔一樣。更深的感覺(jué)就是不管是什么東西,一定要自己動(dòng)手去敲,去實(shí)現(xiàn),這樣面試官問(wèn)你你才能完完全全的回答出來(lái),而不是去背書,背書的話隨便拐彎問(wèn)兩下你就現(xiàn)原形了。
接下來(lái),總結(jié)項(xiàng)目,根據(jù)項(xiàng)目用到的技術(shù)復(fù)習(xí)吧。螞蟻金服是真看中基礎(chǔ),面試了半個(gè)多小時(shí),完全沒(méi)有問(wèn)一道框架方面的問(wèn)題,我還以為會(huì)問(wèn)Spring,Springboot相關(guān)的,然而一道題都沒(méi)有,也不知道是不是因?yàn)樽约呵懊婊A(chǔ)知識(shí)回答得確實(shí)太差了,已經(jīng)不想再問(wèn)框架的了。面試了這一次也好,也知道該怎么準(zhǔn)備了,接下來(lái)就是好好努力,努力看書,努力敲代碼了。以后爭(zhēng)取每一個(gè)知識(shí)點(diǎn)都自己去用代碼敲出來(lái),直到把鍵盤敲爛為止。
-
工程師
+關(guān)注
關(guān)注
59文章
1566瀏覽量
68450 -
JAVA
+關(guān)注
關(guān)注
19文章
2960瀏覽量
104565
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論