Java面經 面試經驗 網際網路公司面試經驗 後端面試經驗

大型網際網路架構技術v發表於2018-04-03

應聘相關

宣告:

1,程式設計師相關的哈

2,萬事無定論,比如說,就算你小學畢業,但是java基礎卻紮實到變態,我相信open的公司還是會給你機會的。

3,心態很重要,雖然日常的心態不容易控制,面試那倆小時的心態,只要你想,就能控制。

1,先來一份前輩的勸戒

1,堅持三年 ,不管在哪幹,有一個好的平臺,堅持三年以上才能出效果。

2,如果跳的話,新公司需要穩定,最少過了B輪融資,,五萬比一是創業型公司的失敗率

3,不要著急,不要比較為了5000塊的工資差價跳,不值得跳,從一萬到三萬,並且有一個好的平臺的話,才值得跳。

4,長期的看普華挺好的,從平臺上講,除了BAT華為,基本沒有更好的

5,每天要多投些簡歷,每天投個幾十份,彆著急,多面面。

2,再來一份傲驕的網際網路公司的不收標準

符合以下條件的不要

1,二本以下,特別是學校名XXX學院

2,應屆或者未畢業

3,在職並且不打算換工作

4,目標非北京

5,純 windows / asp / c# / c sharp / .net / dot net

6,純嵌入式

7,純移動端 android / iOS

8,特別底層,比如作業系統核心裁剪

9,非計算機專業,計算機工作經驗在一年以下

10,最近的專案,空白超過半年,比如現在8月份,專案經歷只寫到2月

11,87 年以前,除非背景特別牛

12,有基礎培訓經歷的,比如達內

13,碩士學校比本科差的

說到這,如果小哥你已經不想著跳了。就不用往下看了(你往下看,我寫的也不一定能看,哈哈)

面試的心態很重要

如果可以的話,**建議以一個和麵試官交流的心態去面試**。而且普通面試大部分問答都是有一些套路的。

一般公司的筆試、面試(以java說)

**java** java基礎必考,執行緒、集合(list、map、linklist、array,什麼無key遍歷map啊,連結串列倒置啊,這幾個東西的資料結構和插入查詢特性啊,執行緒建立方式和同步啊)相關必問。最好能說清楚常見的設計模式、要能手寫一個單列模式。

傲驕公司的筆試、面試(不知道什麼樣的公司驕傲?那算了,如果你不是剛畢業那就轉行吧,哈哈)

總括

這樣的公司,一般演算法和資料結構是必考的,作業系統也經常被問。如果是校招的話,筆試中還會有一些排列組合啊,語文表達啊,思維擴充啊(你咋不去高中招?高中剛畢業的時候比較符合需求!!),其次,筆試過了還會有好幾輪面試,不管你說你扣過原始碼,還是跟過還可以的專案,都會被往深裡問,再往深裡問,再再往深裡問!

比如說:你說你看過springMVC的原始碼,描述一遍請求處理流程肯定是必需的,然後你說完了,就會被挑一個點,接著往深裡問!比如說:你說根據request找到handler,然後用handlerMapping找到對應的handlerAdapter,那麼這一步具體是怎麼實習的???問的我一臉矇蔽啊,雖然還知道點,但是這種問題根本不會提前想到,只能現場組織語言。

再比如說:說說,你在這個專案裡做的得意的東西是什麼?然後你就說,說完了會問細節,怎麼實現的?然後你再說,再說完了就讓你優化,然後你墨跡半天終於優化完了,重點來了,讓你重構!!如果讓你從新設計這個系統,你會有哪些改進的地方??,,想想都心酸 ,,哈哈哈哈。

下邊是一個簡單的面試記錄

問:說說你的突出點

答:java基礎紮實(這個慌說的次數多了,現在說起來都沒感覺了,哈哈),框架使用熟練(這個慌說了你們也發現不了,所以也沒啥感覺),熟悉Tomcat原始碼,springMVC原始碼和結構。

問:如果想要統計springMVC每一個訪問時長,放到log檔案裡,你在哪裡做這個統計?為什麼?

答:在preHandle攔截器裡記錄訪問開始的時間,在postHandle裡判斷是哪個訪問,計算訪問時間並儲存。

問:在posthandler裡計算,並儲存是吧。答:是。

問:為什麼?

答了一個錯誤答案,然後又是一頓鄙視。,,

再問:用一個什麼變數存?ThreadLocal?還是一個函式內部區域性變數,?

答:執行緒內,(其實是在猜)。

問:為什麼? 你不要猜,也不用在乎我的反應,無論你答什麼我都會問你為什麼。

答:函式內變數可能會不能覆蓋整個訪問的歷程,,一頓鄙視,然後突然反應過來,不對,我說的有問題,外層函式是可以的,那就放在函式內區域性變數裡,節省資源。

問:如果我想把計算結果存到log裡,在哪裡做這個事情?

答:(悠長的停頓) 在posthandler處理結束,返回請求之前

問:為什麼?

答:不佔用處理請求的資源,(錯誤答案,已經慌亂)

問:確定?

答:不確定,,,停頓,,不對 ,還是會佔用資源。

問:然後呢

答:(不說話了,,,)(後來想想,這事兒應該另起一個執行緒去做)

(鄙視狀,,,)

問:恩,說說Tomcat

答:(內心:幸虧沒問tomcat優化,JVM優化,,不過,說說?說啥啊?難道說說這個幹啥用的?還是說說哪個公司出的?說這些會不會直接趕人啊,,,就這樣過了最少一分鐘,哈哈)然後我就說了下tomcat的結構,和啟動過程。

接著問:Tomcat和裡面的Servlet是一個程式還是多個程式,

答:一個程式內

一頓鄙視,再問:為什麼,,,??

答:因為我覺得程式是分配資源的基本單位,一般來講,一個應用就是一個程式。

問:你確定?

(內心:大爺的,估計已經掛了,那我還怕個球,,,於是乎,坐直,平視,語氣和神態突然就平靜了)

答:確定。

問:你大學什麼專業?學過作業系統嗎?

答:電腦科學與技術,當然學過,我清楚的記得這一點,程式是分配資源的基本單位,不過,可能太久了,記不清了(其實內心是:你長的美,你說的都對)。

問:ok,一個應用可以啟多個程式嗎?

答:不可以

問:(鄙視狀)確定?

答:(平靜狀)不太確定

問:呵呵

答:麻煩您給講講吧,我不太懂。

問:一個應用當然是可以啟多個執行緒的,更何況還有跨應用的執行緒呼叫,資源也是可以動態分配的,,,(當時沒聽太懂,也記不清了。)。末了來一句,難道你就沒開啟過你的資源管理器看過嗎?

答:當然看過,不過都是卡了才看,看哪個程式佔用太高,給結束了。(內心:看過,但是跟這個問題有毛關係嗎??)

上邊是倆個長問題,還有一些其他的,例如:

問:你覺得要做一個厲害的程式設計師應該具備哪些特點?

這個就是一些,FQ啊,工具啊,總結啊,交流啊什麼的;比如說,善用google,要至少對一個跨平臺的工具很瞭解,善於學習最新的技術,善於掌握有力的工具,多逛各大社群,善於總結。(我就隨便一寫,找工作的話,要提前準備類似問題。)

問:我看你學了這麼多東西,但是好像沒有認真的去思考過為什麼,你有沒有想過當你記憶達到一個上限時你還能學什麼?你還能幹什麼?

這個當然是要反駁的,我說我當然有思考,然後問你思考的啥,然後答當時就想知道Tomcat到springMVC的銜接是怎麼銜接的,然後被鄙視:那你直接打幾個斷點除錯一下不完了嗎,java的除錯不是很強嗎?(貌似這個他也不太確定。而我也不知道斷點打到哪去,更不用提怎麼除錯,哈哈)。

問:我看你這寫的有一個瞭解分散式處理,分散式處理是什麼?我怎麼沒聽過。(這個就是一個概念問題,不重要。)

如有錯誤歡迎指正,暫時就這樣吧,最近略忙,後邊可能會改。

----名白

轉載註明出處:http://www.cnblogs.com/mingbai/p/2017SummerInterview.html

相關文章