日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

這次面試字節跳動也是做了很多的準備,還好順利拿到了offer,特分享一下這次的4面技術面真題,以及一份字節2-2師兄整理的面試手冊,希望能夠給一些正在面試字節或計劃面試大廠的朋友提供幫助。

3年經驗硬抗字節Java崗,25天4輪面試終拿意向書,復述原題及經驗

 

字節跳動技術一面

  • 講一下線程參數的含義
  • Innodb的索引實現
  • 為什么是B+樹?
  • redis的使用,分布式鎖的實現
  • 操作系統虛擬內存換頁的過程
  • TCP三次握手
  • volatile關鍵字的作用
  • 樂觀鎖、悲觀鎖
  • 之前用過哪些設計模式?
  • 算法題:滑動窗口

字節跳動技術二面

  • 說一下B樹和B+樹的區別
  • 說一下HashMap的實現,擴容機制,擴容時如何保證可操作?
  • Redis擴容機制(漸進式單線程擴容)
  • Spring IoC的原理,如何實現,如何解決循環依賴?
  • 兩線程對變量i進行加1操作,結果如何?為什么?怎么解決?
  • CAS概念、原子類實現原理
  • synchronize底層實現,如何實現Lock?
  • AQS有什么特點?
  • 手寫項目中某個模塊代碼。
  • 介紹各種網絡協議。
  • DNS在網絡層用哪個協議,為什么。
  • 介紹HTTPS協議,詳述SSL建立連接過程。
  • 代碼題:反轉單鏈表。
  • 代碼題:復雜鏈表復制。

字節跳動技術三面

  • 算法題多到爆炸,感覺是算法專場,宇宙條果真名不虛傳
  • 說一下JAVA垃圾回收機制
  • 64匹馬,8個賽道,找最快的4匹馬
  • 給出兩個升序數組A、B和長度m、n,求第k個大的
  • 給出數組A,長度為n,數組中元素的值位于[0, n - 1]之間,求是否有重復元素
  • 講一下多線程與多進程區別
  • JVM中什么時候會進行垃圾回收?什么樣的對象是可以回收的?
  • Spring主要思想是什么?

字節跳動技術四面

  • 場景題目:設計一個短域名服務:短信存不了太長網站,需要弄成短域名,你該如何設計一個服務,可以為全國的網址服務。
  • TCP為什么是三次握手四次揮手?
  • 數據庫的隔離級別
  • sql題,寫了個連表查詢外加模糊查詢
  • 算法:鏡像二叉樹 ......

4月11號郵件收到信息,HR直接給了意向書,查收然后確認好了,確定了入職時間。

總的來說,自己如果有想要去的大公司,一定要提升好自己,讓自己的能力和素質與公司匹配的上,我也一直相信,機會永遠是留給有準備的人。

Java

基礎

Java 基礎這部分有一些太簡單的問題就直接沒有放上來。小伙伴們可以參考:Java 基礎知識點總結[2]。

  • Java 中的幾種基本數據類型是什么?對應的包裝類型是什么?各自占用多少字節呢?
  • String 、 StringBuffer 和 StringBuilder 的區別是什么? String為什么是不可變的?
  • == 與 equals?hashCode 與 equals ?
  • Java 反射?反射有什么缺點?你是怎么理解反射的(為什么框架需要反射)?
  • 談談對 Java 注解的理解,解決了什么問題?
  • Java 泛型了解么?什么是類型擦除?介紹一下常用的通配符?
  • 內部類了解嗎?匿名內部類有了解嗎?
  • BIO,NIO,AIO 有什么區別?
3年經驗硬抗字節Java崗,25天4輪面試終拿意向書,復述原題及經驗

 

Java 集合框架

  • 說說 List,Set,Map 三者的區別?三者底層的數據結構?
  • 有哪些集合是線程不安全的?怎么解決呢?
  • 比較 HashSet、LinkedHashSet 和 TreeSet 三者的異同
  • HashMap 和 Hashtable 的區別?HashMap 和 HashSet 區別?HashMap 和 TreeMap 區別?
  • HashMap 的底層實現
  • HashMap的長度為什么是 2 的冪次方
  • ConcurrentHashMap 和 Hashtable 的區別?
  • ConcurrentHashMap 線程安全的具體實現方式底層具體實現
3年經驗硬抗字節Java崗,25天4輪面試終拿意向書,復述原題及經驗

 

jvm

  • jvm 內存結構
  • jvm 調優參數
  • 什么是類加載?何時類加載?類加載流程?
  • 知道哪些類加載器。類加載器之間的關系?
  • 類加載器的雙親委派了解么?結合 Tomcat 說一下雙親委派(Tomcat 如何打破雙親委托機制?
  • 為什么需要雙親委派
  • Java 內存模型
  • 棧中存放什么數據,堆中呢?
  • 大對象放在哪個內存區域
  • 堆區如何分類
  • 垃圾回收有哪些算法
  • GC 的全流程
  • GC 中老年代用什么回收方法?
3年經驗硬抗字節Java崗,25天4輪面試終拿意向書,復述原題及經驗

 

多線程

  • 線程和進程的區別。
  • 什么是上下文切換?
  • 什么是線程死鎖?如何避免死鎖?
  • 樂觀鎖和悲觀鎖了解么?
  • 說說 sleep() 方法和 wait() 方法區別和共同點?
  • Java 線程池有哪些參數?阻塞隊列有幾種?拒絕策略有幾種?新線程添加的流程?
  • 實現 Runnable 接口和 Callable 接口的區別。
  • 講一下 JMM(Java 內存模型)。volatile 關鍵字解決了什么問題?說說 synchronized 關鍵字和 volatile 關鍵字的區別。
  • AQS 原理了解么?AQS 組件有哪些?
  • 用過 CountDownLatch 么?什么場景下用的?
3年經驗硬抗字節Java崗,25天4輪面試終拿意向書,復述原題及經驗

 

網絡

  • OSI 與 TCP/IP 各層的結構與功能,都有哪些協議?為什么網絡要分層?
  • 計算機網絡的一些常見狀態碼
  • ping 所使用的協議
  • TCP 的三次握手與四次揮手的內容?TCP 為什么連接是三次握手而斷開是四次握手?
  • TCP 與 UDP 的區別及使用場景
  • TCP 是如何保證傳輸的可靠性?
  • 一次完整的 HTTP 請求所經的步驟
  • HTTP 協議了解么?HTTP 是基于 TCP 還是 UDP 的?
  • HTTP 報文的內容簡單說一下!HTTP 請求報文和響應報文中有哪些數據?
  • HTTP 和 HTTPS 的區別了解么?
  • HTTP 請求有哪些常見的狀態碼?
  • HTTP 長連接和短連接了解么?
  • Cookie 和 Session 的關系
  • URI 和 URL 的區別是什么?
3年經驗硬抗字節Java崗,25天4輪面試終拿意向書,復述原題及經驗

 

算法和數據結構

  • LRU 算法了解嗎?你能實現一個嗎?
  • 寫排序算法(快排、堆排)
  • 使用數組實現一個棧
  • 使用數組實現一個隊列
  • 實現一個鏈表、反轉鏈表、
  • ......

數據結構

  • 數組 vs 鏈表
  • 棧的應用場景
  • 隊列的分類、應用場景
  • 紅黑樹的特點、紅黑樹 vs 二叉查找樹
  • 哈希表、哈希表應用場景
  • 布隆過濾器了解嗎?
  • ......
3年經驗硬抗字節Java崗,25天4輪面試終拿意向書,復述原題及經驗

 

設計模式

  • 何為設計模式?有哪些常見的設計模式?
  • 單例模式了解么?說一下單例模式的使用場景。手寫一個單例模式的實現。
  • 觀察者模式了解么?說一下觀察者模式的使用場景。
  • 工廠模式了解么?說一下工廠模式的使用場景。
  • 責任鏈模式了解么?哪些開源項目(Netty、MyBatis ...)中用到了責任鏈模式?怎么用的?
  • SOLID 原則了解么?簡單談談自己對于單一職責原則和開閉原則的理解。
  • 閱讀 Spring 源碼的時候什么設計模式最讓你影響深刻?能簡單講講嗎?

常見框架

Spring

  • 什么是 Spring 框架?
  • 列舉一些重要的 Spring 模塊?
  • 談談自己對于 Spring IoC 和 AOP 的理解
  • Spring Bean 的生命周期說一下
  • Spring 中的 bean 的作用域有哪些?
  • 攔截器和過濾器了解么?
  • Spring 動態代理默認用哪一種
  • hibernate 和 mybatis 區別
  • Spring Boot 和 Spring 的區別
  • 說出使用 Spring Boot 的主要優點
  • 什么是 Spring Boot Starter?
  • 介紹一下@SpringBootApplication 注解
  • Spring Boot 的自動配置是如何實現的?
  • Spring Boot 支持哪些嵌入式 web 容器?
3年經驗硬抗字節Java崗,25天4輪面試終拿意向書,復述原題及經驗

 

Netty

  • BIO,NIO 和 AIO 有啥區別?
  • Netty 是什么?為啥不直接用 NIO 呢?
  • 為什么要用 Netty?Netty 應用場景了解么?
  • 介紹一下 Netty 的核心組件?
  • Bootstrap 和 ServerBootstrap 了解么?
  • NioEventLoopGroup 默認的構造函數會起多少線程?
  • Netty 線程模型了解么?
  • 什么是 TCP 粘包/拆包?有什么解決辦法呢?
  • Netty 長連接、心跳機制了解么?
3年經驗硬抗字節Java崗,25天4輪面試終拿意向書,復述原題及經驗

 

權限認證

  • 認證 (Authentication) 獲授權 (Authorization)的區別是什么?
  • 什么是 Cookie ? Cookie 的作用是什么?如何在服務端使用 Cookie ?
  • Cookie 和 Session 有什么區別?如何使用 Session 進行身份驗證?
  • 如果沒有 Cookie 的話 Session 還能用嗎?
  • 為什么 Cookie 無法防止 CSRF 攻擊,而 token 可以?
  • 什么是 Token?什么是 JWT?如何基于 Token 進行身份驗證?
  • 什么是 OAuth 2.0?
  • 什么是 SSO(單點登錄)?

微服務/分布式

RPC

RPC 基礎:

  1. 了解 RPC 嗎?有哪些常見的 RPC 框架?
  2. 如果讓你自己設計 RPC 框架你會如何設計?
  3. 服務之間的調用為啥不直接用 HTTP 而用 RPC?

Dubbo:

  1. Dubbo 了解嗎?
  2. Dubbo 的工作原理了解么?注冊中心扮演了什么角色?注冊中心掛了可以繼續通信嗎?
  3. Dubbo 的負載均衡策略了解么?
  4. Dubbo 的 spi 機制了解么?帶來了啥好處?
3年經驗硬抗字節Java崗,25天4輪面試終拿意向書,復述原題及經驗

 

消息隊列

  1. 為什么要用消息隊列?
  2. 對比一下常見的消息隊列?
  3. 如何保證消息不被重復消費?
  4. 如何保證消息消費的順序性?
3年經驗硬抗字節Java崗,25天4輪面試終拿意向書,復述原題及經驗

 

分布式 ID

  1. 何為 ID?
  2. 何為分布式 ID?
  3. 一個合格的分布式 ID 需要滿足什么要求?
  4. 分布式 ID 常見的生成方法有哪些?(數據庫主鍵自增、數據庫的號段模式、UUID、SNOWFLAKE 等等)

其他(網關、限流...)

  1. 為什么要網關?
  2. 為什么要用分布式鎖?有哪些實現方式?
  3. 限流的算法有哪些?
  4. 什么是服務熔斷?什么是服務降級?
  5. 為什么要分布式 id ?分布式 id 生成策略有哪些?
  6. 微服務下為什么需要鏈路追蹤系統?
3年經驗硬抗字節Java崗,25天4輪面試終拿意向書,復述原題及經驗

 

數據庫

MySQL

基礎

  1. 非關系型數據庫和關系型數據庫的區別?
  2. 事務的四大特性了解么?
  3. MySQL 事務隔離級別?默認是什么級別?
  4. 樂觀鎖與悲觀鎖的區別?
  5. MySQL 數據庫兩種存儲引擎的區別?

索引

  1. 為什么索引能提高查詢速度?
  2. 聚集索引和非聚集索引的區別?非聚集索引一定回表查詢嗎?
  3. 索引這么多優點,為什么不對表中的每一個列創建一個索引呢?(使用索引一定能提高查詢性能嗎?)
  4. 索引底層的數據結構了解么?Hash 索引和 B+樹索引優劣分析
  5. B+樹做索引比紅黑樹好在哪里?
  6. 最左前綴匹配原則了解么?
  7. 什么是覆蓋索引
3年經驗硬抗字節Java崗,25天4輪面試終拿意向書,復述原題及經驗

 

Redis

  1. 分布式緩存常見的技術選型方案有哪些?說一下 Redis 和 Memcached 的區別和共同點
  2. 說一下在緩存情況下查詢數據和修改數據的流程。
  3. Redis 有哪些數據結構?SDS 了解么?
  4. Redis 內存滿了怎么辦?
  5. Redis 內存淘汰算法除了 LRU 還有哪些?
  6. Redis 給緩存數據設置過期時間有啥用?Redis 是如何判斷數據是否過期的呢?
  7. Redis 事務了解么?(Redis 可以通過 MULTI,EXEC,DISCARD 和 WATCH 等命令來實現事務功能)
  8. 緩存穿透和緩存雪崩問題了解么?有哪些解決辦法?
  9. 如何基于 Redis 實現分布式鎖?
3年經驗硬抗字節Java崗,25天4輪面試終拿意向書,復述原題及經驗

 

進階

  1. 一條 SQL 語句在 MySQL 是如何執行的?
  2. explain 命令了解么?
  3. 簡單說一下 SQL 調優思路。
  4. 簡單說一下大表優化的思路。
  5. 分庫分表了解么?為什么要分庫分表?有哪些常見的分庫分表工具(sharding-jdbc、TSharding、MyCAT...)?

系統設計/場景題

  1. 假如有 10 億個數,只有一個重復,內存只能放下 5 億個數,怎么找到這個重復的數字?
  2. 如何設計一個秒殺系統(服務端、數據庫、分布式)?分布式系統的設計?
  3. 有一個服務器專門接收大量請求,怎么設計?
  4. 如果讓你自己設計 RPC 框架你會如何設計?
  5. 怎么快速出現一個 stackoverflow 錯誤?

其他問題

  1. 自我介紹。
  2. 說說你的項目中的亮點有哪些。
  3. 畫一下你的項目的架構圖。
  4. Restful 了解嗎?簡單說一下自己對它的認識,如果我要返回一個 boolean 類型的數據怎么辦?

經驗總結

這是我在工作、面試中學習并總結到的一些知識點,都是一些比較典型的、面試常被問到的問題。如果你平時沒有注意去總結的話,那么當你面試被問到的時候可能會是一臉懵圈,就算這個問題你知道怎么回事,但是你平時沒有認真總結,你也可能會出現邏輯混亂的情況,從而錯失工作機會。

分享到:
標簽:Java
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定