成體系化的神級Java進階筆記,2021最新版!
位元組跳動一面
-
自我介紹,我簡歷裡面有一個商城的專案
-
畫一個商城專案的所有的模組,然後講解。
-
在使用者登入的時候,由於HTTP是無狀態的如何識別不同的使用者(session或者cookie) ,然後讓說一下session和cook各有什麼優缺點
-
單點登入的問題如何解決(伺服器叢集的情況下,使用者如何在一-臺伺服器上登入,訪問其他的伺服器就不需要登入了) ?答:伺服器叢集之間廠播session廠播或者使用Redis共享session
-
Redis的底層是通過什 麼實現的?
-
為什麼Redis他是通過hashtable實現的,但是它的擴容的時候並沒有卡頓?
-
為何Redis是單執行緒的還是這麼快?
-
商城如果有使用者註冊的模組,那麼在使用者註冊成功之後一般會返回一個郵箱連線,然後使用者點選連線跳轉到商城主頁。現在要求連線的有效時間為30分鐘,這種服務如何保證?
-
可以在資料表中增加一個超時時間的欄位,使用者點選連線的時候判斷是否已經超時
-
在進行商品展示的時候,如果一個商品有不同的分配,那麼可能會涉及到有多級分類的問題- -》如何涉及資料庫表,來實現商品的多級分類。
-
把你知道的TCP都說下?
-
說一些TCP的三次握手、四次揮手?以及各自的狀態
-
在四次揮手的情況下,如果伺服器端出現了大量處於close-wait的連線狀態,分析一下原因,如何設定引數解決這樣的問題?
-
在客戶端time-wait的狀態-般會持續多長時間?為什麼要持續這麼長時間?如何有大量的time-wait狀態,出現這種情況的原因是什麼?如何解決?
-
兩個字串的最大子序列問題
位元組跳動二面
- 對於你的商城專案,如果對於同一個分類有多個賣家,如何設計資料表?
- 對於高併發的系統,如何設計架構才能避免瞬間資料庫收到瞬間高流量的衝擊? Redis訊息佇列
- 如果你用Redis實現的話,可能會出現商品超賣的問題,那麼你是如何結果商品超賣問題的?
- 一般在支付的過程中,使用者支付、賬戶被凍結、訂單的生成、賣家庫存減少、賣家收到錢,這是個一系列的過程,那麼你如何設計實現分散式的事務?答:訊息佇列
- 如果使用者在提交訂單之後向訊息佇列傳送訊息,這個時候網路出現異常,訊息佇列並沒有接收到使用者傳送的訊息怎麼辦?答:訊息佇列會有一個回撥介面,對於那些沒有確認或
- 者取消的訊息不斷的輪訓,判斷是否提交成功。
- 對於不同的業務我們會進行分庫儲存,說一下MySQL的主備模式?
- MySQL的主從同步時如何實現的?日誌
- 在MySQL的主從同步過程中,SQL執行緒可不可以並行的執行?答:不可以,因為這樣可能SQL執行的順序不同,導致事務提交時間有差異
- 說一下NIO機制、select系 統呼叫函式?
- B B+樹的特點?
- 字串匹配
- 二叉搜尋樹的第K小節點
- 連結串列每隔K個節點進行翻轉。
卡著我的專案一直問,大家去面試的時候,一定要對簡歷中所用到的知識點有一定的見解,不要被面試官的連環炮嚇到了!
最後
做任何事情都要用心,要非常關注細節。看起來不起眼的、繁瑣的工作做透了會有意想不到的價值。
當然要想成為一個技術大牛也需要一定的思想格局,思想決定未來你要往哪個方向去走, 建議多看一些人生規劃方面的書籍,多學習名人的思想格局,未來你的路會走的更遠。
更多的技術點思維導圖我已經做了一個整理,涵蓋了當下網際網路最流行99%的技術點,在這裡我將這份導圖分享出來,以及為金九銀十準備的一整套面試體系,上到集合,下到分散式微服務
如何獲得這套優質的資料呢?