我晚上剛健完身,而後去外面吃了一頓豬腳飯。正準備吃呢,忽然來了一個浙江杭州的電話。面試
而後就開始了我慘無人睹的電話一面(人生中第一次面試居然是阿里巴巴)redis
如何優化:
用了redis緩存,spring的聲明式事物算法
ConcurrentHashMap你知道多少
Java基本數據類型(byte, short, int, long, float, double, boolean, char)
接口實現接口用extends
Java垃圾回收機制(標記清除算法, 標記複製算法, 標記整理算法)
類加載機制:「經過一個類的全限定名來獲取描述此類的二進制字節流」,雙親委派模型
啓動類加載器 -> 擴展類加載器 -> 應用類加載器
線程如何同步(volatile + JMM模型,鎖也行)
Java是靜態語言spring
圖遍歷(dfs + bfs)
二叉樹特性:
性質1:在二叉樹的第i層上至多有2i-1個結點(i≥1)。(數學概括法可證)
性質2:深度爲k的二叉樹最多有2k-1個結點(k≥1)。(由性質1,經過等比數列求和可證)
B樹和B+樹的區別:
因爲B+樹的數據都存儲在葉子結點中,分支結點均爲索引,方便掃庫,只須要掃一遍葉子結點便可,
可是B樹由於其分支結點一樣存儲着數據,咱們要找到具體的數據,須要進行一次中序遍歷按序來掃
,因此B+樹更加適合在區間查詢的狀況,因此一般B+樹用於數據庫索引,而B樹則經常使用於文件索引。數據庫
osi七層模型:物理層,數據鏈路層,網絡層,傳輸層,會話層,表示層,應用層
三次握手四次分手
http協議(HTTP是Hyper Text Transfer Protocol(超文本傳輸協議)的縮寫)
HTTP是一個應用層協議,由請求和響應構成,是一個標準的客戶端服務器模型。
HTTP是一個無狀態的協議。
HTTP 5xx狀態碼(服務器內部錯誤)設計模式
鏈表反轉用O(n)複雜度 劍指Offer原題,用三個指針(left, mid, right三個指針)緩存
其實說實話問的都很基礎。但因爲我複習尚未到位,並且不少東西都忘了。安全
並且當時我在吃豬腳飯,外面的車和人呼呼的過,太吵了,不少都沒有聽清。服務器
答是答出來了,但不少沒有答全,並且細節也沒有答好,感受要GG網絡
1: 項目:redis放到MySQL這中間一段時間,若是有大量用戶涌進怎麼辦
2: TCP三次握手過程
3: 第二次握手出現問題怎麼解決?
ans: 超時重傳機制。大概5次就認爲失敗了。
4: 第三次握手出現問題怎麼解決?
ans: 此時客戶端認爲鏈接已經創建了,但因爲第三次失敗,那麼服務器端就沒有創建鏈接。服務器端就會屢次催促客戶端,我還須要一個ack。若是屢次請求收不到,那麼就認爲這次三次握手失敗了。
5: 滑動窗口
6: arraylist多線程擴容。
ans: 能夠直接拋出一個異常給客戶端 (儘早的拋出錯誤,這是面試官一直想要的答案,但我一直沒get他的點,很傷神。)
7: arraylist for循環的時候刪除元素
8: HashMap for循環刪除元素
9: redis持久化
ans: RDB,fork子線程定時執行。AOF,相似於添加日誌,添加一條執行一條
10: MySQL底層索引用的什麼結構
11: 設計模式
12: jvm內存怎麼管理的。
ans: 棧 + 堆。堆又分爲新生代和老年代。新生代又分爲Eden + from survivor+ to survivor
13: 線程池 (newFixedThreadPool, newCachedThreadPool, newSingleThreadExecutor, newScheduledThreadPool)
14: 線程池拒絕策略。(拋異常,不拋異常,LRU拋棄最先的,阻塞主線程,用主線程來執行)
1: MySQL存儲引擎 (InnoDB)
2: 索引結構 (B+樹) 是否爲平衡樹?
3: 樹的遍歷
4: explain命令
5: 談一下對Spring框架的理解 (IoC, AOP)
6: AOP底層如何實現 (HandlerInvole, MethodIntercepter)
7: Spring的單例 是否爲線程安全? 看bean的具體類
8: HashMap是否爲線程安全
9: JVM模型
10: volitile有沒有了解過?
11: 代碼如何編譯打包部署?maven用過沒有?
12: 沒有eclipse如何編譯Java代碼?
13: ant有用過麼?
14: rpc遠程調用有沒有用過?
15: Java中的鎖
16: 死鎖產生有沒有了解?
17: 如何避免死鎖?
18: 最近在看什麼計算機的書?
19: 本科沒有想到去讀碩士嘛?
20: 何時能夠實習?
1: 內部推薦?誰推薦?
2: 大三沒有考研的打算?
3: 成績如何?
4: 你以前有過什麼實踐的經歷?
5: 除了在公司,有沒有跟着老師作一些項目?
6: 本身找了什麼項目來作
7: 項目作了多久
8: 大學學習計劃如何
9: 之後想往什麼的方向,爲何?
10: 怎麼達成這個目標
11: 周圍有沒有特別崇拜的技術牛人
12: 參加acm成績不理想的緣由?
13: 周圍人怎麼評價你,你本身怎麼評價你
14: 你在校最要提高的是什麼
15: 實習計劃
16: 你有什麼問題