隨着拿到蘑菇街的offer,個人校招季便算是結束了。現在閒下來。想寫篇總結下以前的校招路,記念一下。我的水,大神請輕拍。。html
。java
總共參加了4場面試,而後拿到一家offer。而後就沒有而後。本身太懶,沒再去找了。。。nginx
背景:無牛逼競賽經歷,無牛逼項目,無牛逼實習,三無人員,目標JAVA開發。面試
阿里(1面):算法
阿里是校招第一家面試,各類忐忑。數據庫
面試官看上去蠻兇的,先是自我介紹。而後看着簡歷問。編程
1:項目介紹,說說java socket,服務端怎樣知道client發生中斷;設計模式
2:多線程問題,若是有n個線程,怎樣讓它們同一時候開始運行,不可以邊新建邊start。數組
我說讓所有線程一開始都堵塞在一個對象鎖上,而後用notifyAll。面試官不愜意這個回答。緩存
3:實習相關的問題,大量數據狀況下數據庫的處理方式,我說採用的分表。而後問分表怎樣實現。任意說了點。面試官依然不愜意,而後寫SQL語句。
4:B樹怎樣實現。我畫了個圖。而後說了些B樹的性質,面試官讓我代碼實現,寫了一會,寫不下去了。。。
5:算法題:若是甲乙兩人分隔兩地。甲知道甲乙兩人間距離,乙什麼都不知道但可以打電話問甲兩人間距離。乙可以每走10分鐘打電話問甲兩人間的距離。問怎樣最少次數的通話使得乙走到甲那裏。
一開始被面試官氣場弄慌了,發揮很很差。
搜狗(1面):
面試官說搜狗就一輪終面。感受本身發揮還行。結果仍是跪了。。。
依然看簡歷。問問題
1:項目介紹,權限管理怎麼實現。session、cookie相關問題,緩存問題。
2:數據庫相關,索引的實現,B樹B+樹,吸收阿里教訓,特意看過一遍,答得還行。而後問在兩個字段建索引,不一樣順序的影響。結合B+樹說了一點。
3:JAVA基礎。內存溢出的幾種狀況,分別說了棧、堆、方法區出現OutOfMemoryError的狀況,而後說了堆的內存模型:年輕代(Eden、Survivor)、年老代,而後說了幾種垃圾收集算法(複製、標誌-整理)。
4:Linux相關,怎樣查看磁盤空間佔有狀況,怎樣查看進程中某線程狀態。
5:Tomcat怎樣實現,說了鏈接器、四種容器的實現,又問了tomcat高併發存在的問題。說了下nginx中epoll的實現。
6:算法題:一個數組。裏面元素先從大到小排列再從小到大排列,怎樣最優找到最小值。
基本搜狗的問題都回答出來了,結果被刷,無奈。。
。
百度(三面):
一面:
1。介紹項目。hibernate幾級緩存,mybatis與hibernate的差異,你對兩個框架的理解。隨便答了些。
2,問了Spring的源代碼,ioc、aop怎樣實現,annotation知道多少,用過哪些annotation。水水地說了一些。而後又問爲何用SSH不用SpringMVC,答不上來。
3,Java集合相關,List、Set、Map差異。ArrayList、HashMap怎樣實現,對hashcode方法有什麼理解。有準備答得還行。
4,談了些實習作的事。
5。算法題:給你一個字符串,輸出該字符串的全排列(去重),寫完代碼。和麪試官說了下思路。面試官說複雜度過高。怎樣優化,沒優化出來,面試官說可以優化到線性複雜度,讓我回去想。
二面:
1,介紹項目。
2,設計模式相關,說說你知道的設計模式。一一列舉,而後讓我實現適配器模式,寫了代碼,面試官又問,適配器模式和中介模式差異,依照本身理講解了點。
3,介紹實習。
4。線程池怎樣實現。因而把本身寫的線程池說了一遍。
5,java內存模型,垃圾收集。
6,算法題1:一個數組,有三個數出現超過1/4,找出這三個數。要求時間複雜度O(n),空間複雜度O(1)。這道題和麪試官討論了很久,當時有點亂,只是思路應該是對的。
算法題2:非遞歸實現二叉樹深度,寫完代碼,面試官看了沒說什麼,而後時間差點兒相同到了。就回去了。
三面:
1,介紹項目。介紹實習,面試官興趣不大。
2,說說互聯網發展趨勢的見解。你最常用的app,對O2O的見解等問題。
3。你最自豪的事。你和周圍同窗相比有什麼優點。
4。跟我介紹了百度的員工培訓。好像很是厲害的樣子,還要修學分。。。
百度基本上把我知道的都問了個遍,等於幫我梳理了下知識,儘管沒進,但收穫很是大。
蘑菇街(拿到offer):
一面:
1,介紹項目,簡歷上寫的項目問了個遍,介紹實習,實習遇到的問題等等。
2。java內存模型,垃圾收集。java socket相關。
3,tomcat怎樣實現的。
4。線程池怎樣實現的。
5,職業規劃。
二面:
二面兩我的。一人先是問了項目和實習,又問了線程池、tomcat、java內存模型。
還有一人就是聊天了。你印象最深的事。聊聊經歷之類的,問面過哪些公司。因爲什麼緣由沒過,又問了若是好幾個offer,怎樣排序的。
蘑菇街是我以前挺想進的,又正好在杭州,因而拿到offer後就再也不找了,最重要的仍是因爲懶。
推薦書籍:
深刻理解操做系統,現代操做系統;
計算機網絡
組合數學
大話設計模式
深刻理解java虛擬機:jvm高級特性與最佳實踐
how tomcat works
劍指offer、編程之美、
推薦站點:
http://hawstein.com/archive.html
http://leetcode.com/
July結構之法算法之道
總結:
因爲以前準備比較充分,筆試都能經過。成績也還不錯。但本身作的項目在面試官看來沒啥深度,沒有某方面能力很是突出,這是本身的硬傷。面試官不重視你不會什麼,而是重視你會什麼。因此假設有某方面知道得比較深那是極好的(比方:網絡編程、操做系統、數據庫、算法等等)。