頭條面經

職位

後臺開發算法

一面

  • 算法 12322121343434 1232212134343*4 必須插入五個星號,每一個數字必須在0-600之間,有幾種插入方法數據庫

  • 一個進程,有10個子進程,那麼一個子進程fork一個子進程,那麼這個子進程有多少個進程。spa

  • 物理地址和虛地址進程

  • http傳入的Request和返回的Response開發

  • 503和500區別。301和302區別字符串

  • http close-wait狀態get

  • 滑動窗口和TCP流量控制it

  • 若是滑動窗口爲0,則怎麼辦class

  • buffer和cacahe區別集羣

  • Redis集羣搭建

  • 添加一個節點如何分配槽(說詳細具體過程)

    • 有兩種狀態。

    • 源節點:MIGRATING狀態 目標節點:IMPORTING狀態

    • 源節點:得到最多count個屬於槽slot的鍵值對的鍵名。將被選中的鍵原子地從源節點遷移至目標節點

  • 遷移slot的過程當中,我get或者set怎麼辦?

    • 當客戶端向A請求插槽0中的鍵時,若是鍵存在(即還沒有遷移),則正常處理,若是不存在 ,則返回一個ASK跳轉請求,告訴客戶端這個鍵在B裏。客戶端接收到ASK跳轉請求後,首先向B發送ASKING命令,而後再從新發送以前的命令。相反,當客戶端向B請求插槽0中的鍵時,若是前面執行了ASKING命令,則返回鍵值內容,不然返回MOVED跳轉請求,這樣一來客戶 端只要可以處理ASK跳轉,則能夠在數據庫遷移時自動從正確的節點獲取到對應的鍵值,避免了鍵在遷移過程當中臨時」丟失」的問題。

  • Redis 10W的QPS瓶頸點在哪裏

  • 一個上T的文本文件,裏面不少字符串而且用空格分隔,找到不一樣的字符串數量

 

難度是真的很大

相關文章
相關標籤/搜索