字節跳動 教育線

一面

  • 自我介紹
  • 業務和項目
  • rabbit mq 三種模式
  • rabbit mq 持久化策略
  • 分頁查詢優化
  • 索引
  • 線程池及場景
  • nio
  • 算法題:

【二分查找數組中的元素】

給出一個有序數字數組,再給出一個數字,使用二分查找法,找到這個數字在數組中最後一次出現的位置(從 0 開始計數),

如果找不到,則返回 -1。

例如,給出數組 [1,3,3,4,4,4,5,6,7],給出數字 4,返回 5。

輸入描述

第一行是一個數組,英文逗號分割,如 1,3,3,4,4,4,5,6,7

第二行是要查找的數字

輸出描述

輸出爲要查找的數字在數組中的位置

示例1

輸入

1,3,3,4,4,4,5,6,7

4

輸出

5

說明

輸出元素在數組中最後出現的位置

示例2

輸入

1,2,3,4,5

6

輸出

-1

說明

如果元素不在數組中,返回 -1

 

二面

  • 自我介紹
  • 業務和項目
  • 業務鏈路和架構和相關優化
  • 重構 及 帶來的意義
  • 數據雙寫
  • 更新時老表成功,新表更新時還沒有這個數據怎麼辦
  • 灰度開關  及 後續規劃
  • mysql 和 redis數據不一致怎麼辦

mysql更新成功,redis set失敗怎麼辦

  • 怎麼保證數據一致性
  • 分庫分表
  • 分表 sharding key
  • 分片多會造成什麼問題
  • 分表裏有一個表存很多熱點數據,怎麼改善

除了改善hash算法,還能怎麼辦

  • 服務治理
  • 監控系統
  • 災備多活
  • 多機房數據怎麼同步
  • 丟消息和重複發消息怎麼辦
  • 算法題:

給定一個只包含三種字符的字符串:( ,) 和 *,寫一個函數來檢驗這個字符串是否爲有效字符串。有效字符串具有如下規則:

任何左括號 ( 必須有相應的右括號 )。

任何右括號 ) 必須有相應的左括號 ( 。

左括號 ( 必須在對應的右括號之前 )。

* 可以被視爲單個右括號 ) ,或單個左括號 ( ,或一個空字符串。

一個空字符串也被視爲有效字符串。

示例 1:

輸入: “()”

輸出: True

示例 2:

輸入: “(*)”

輸出: True

示例 3:

輸入: “(*))”

輸出: True

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章