2020年字節跳動面試題

字節跳動一面面試題:

  • 自我介紹
  • 聊聊項目,時間大概15種左右,面試官會根據項目的一些設計點來提問,提前做好準備,別自己坑了自己
  • 分佈式鎖是鎖住一部分還是整個系統,既然是鎖住整個,爲什麼不用消息隊列?
  • 詳細講下怎麼用 mq 實現的最終一致性,還有怎麼利用的消息事務?
  • tcp 於 http 的關係,如何基於 tcp 實現 http
  • Java 打開一個 http 流不關閉的後果
  • io 流是基於抽象類還是接口實現的
  • 數據庫的樂觀鎖和悲觀鎖是什麼
  • 樂觀鎖實現原理,講到一半,來寫一個樂觀鎖吧
  • java 的類中有什麼方法
  • 線程安全是什麼?
  • volatile 和 synchorized 的區別
  • 假如有一個類 A 和一個 類 B,這兩個類都有一個變量和一個自增操作,A 類的變量用 volatile 修飾,B 類沒有用,B 類的自增操作用 synchorized 修飾,他們都是線程安全的嗎,如果都是,那爲什麼要用 synchorized ,volatile 不是更輕量嗎,synchorized 有什麼作用。
  • 智力題:島上有羣人,各自戴着紅帽子或者白帽子,但都不知道自己帽子顏色,只有知道自己帽子顏色,第二天才能出島,這時候有個人進來說了句“你們之中至少有一個人戴了頂紅帽子”,問島上的人最後的離開情況
  • 算法:矩陣中的最長上升序列

字節跳動二面面試題:

  • 自我介紹
  • 項目介紹
  • java集合框架全部介紹,從list set queue到map
  • hashmap底層擴容線程安全問題
  • 如果一個對象 要作爲hashmap的key需要做什麼?
  • Threadlocal類以及內存泄漏
  • 線程同步方式,具體每一個怎麼做的
  • jvm類加載雙親委派模式,有沒有能破壞這個模式的方法?類加載整個過程解釋
  • 垃圾回收算法,垃圾回收器有什麼?
  • synchronized用在靜態和非靜態方法的區別
  • 你做項目的思路是什麼,看過什麼源碼,什麼開源網站經常訪間,看是什麼學的的書不?

字節跳動三面面試題:

  • 問項目相關的技術棧
  • 懟問:爲什麼要用MongoDB?爲什麼不用MySQL?MongoDB有哪些特性,能說一下嗎?
  • 文檔型數據庫有哪些?ES與MongoDB有什麼區別?爲什麼ES搜索更快?
  • 數據庫都有哪些類型,關係型數據庫和NoSQL有什麼區別?
  • NoSQL有哪些?他們的使用場景都說一下
  • 問JVM,類加載到卸載的過程都說一下
  • UML都有哪些圖?如何從這些UML的圖中來實現你的需求設計?
  • 設計模式說一下,Spring源碼看過吧?那說一下設計模式是如何在Spring中體現的?
  • Spring爲什麼要用簡單工廠模式?
  • 微服務瞭解過吧(瞭解過一點),微服務都有什麼好處?
  • 微服務都有哪些框架或中間件?
  • SpringCloud都有哪些組件啊?和阿里開源的這些有什麼不同呢?如果要你用你該如何選擇?
  • SOA瞭解過吧?那什麼是SOA?SOA與微服務相比有什麼優缺點?
  • 如果讓你提高一個系統,你該怎麼做?如果讓你設計一個系統,你要考慮哪些方面?
  • 對什麼技術比較熟悉(回答的Java多線程),JDK提供了什麼來實現線程安全啊?
  • 超線程是什麼?知道嗎?
  • 對未來的技術有什麼規劃?你爲什麼要學這些技術?
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章