看面經是非常有必要的,特別是面試前,面哪個公司就搜哪個公司的面經看!看面試官問什麼?怎麼問?每個公司的面試側重點是不一樣的。通過面經去查缺補漏、側重複習是可以事半功倍的!當然不是建議大家面經式的學習,在系統學習的基礎上,面經的作用纔會發揮的更大!
今天給大家分享一位同學的日常實習面經,主要包括:陌陌、雲從科技、字節跳動
陌陌
- 高併發情況下的解決策略
- 項目架構,項目如何解決併發量?
- 異步隊列是怎麼解決的寫壓力大的問題?
- 隊列中消息是允許延遲嗎?如果延遲的話怎麼保證消息不被重複消費?
- 怎麼保證緩存和數據庫雙寫一致?
- 說一說進程所佔的虛擬內存和物理內存是什麼樣的?
- JVM 進程所佔的虛擬內存和物理內存相差比較大是什麼情況?
- JVM 進程所佔用的虛存大於了虛擬機的堆棧設置參數,爲什麼不報錯?
- 如果自己實現一個事物的插入操作和刪除操作的原子性,你怎麼實現?
- 什麼是事物原子性?
- Linux 從一個文件夾中找到文件名包含某些 key 的文件的命令
- 字符串數目從 0 開始,一直往後遞增,字符串大小不需要考慮,只是字符串的數量不斷增加,在高併發的情況下,QPS 十幾萬時,怎麼生成這個確定的唯一 id,還可以保證下次查詢時高效率的查到?
雲從科技
- 一面:
- 問了 15min 項目
- MySQL 會使索引失效的情況
- MySQL 事務的隔離級別
- MySQL 怎麼解決髒讀,怎麼解決幻讀?
- 舉例 MySQL 發生死鎖的情況
- 瞭解 MySQL 分區、分表嗎?分表的方式說一下
- MySQL 主從複製的實現流程
- 介紹一下常用的 Linux 命令
- Linux /etc /usr 這兩個目錄下分別存放的什麼文件
- 什麼是分佈式 session 問題?
- 常見的負載均衡的策略
- MySQL 的讀寫分離配置過程用到了什麼註解?
- Redis 內存淘汰策略
- 什麼是 Redis 緩存雪崩?什麼是 Redis 緩存穿透?
- Java 集合 HashTable 和 ConcurrentHashmap 的區別?
- Volatile 關鍵字實現原理
- NIO 有哪些類?
- 舉例常用的字節流、創建字節流後,關閉有幾種方式
- JVM 運行時內存區有幾塊?
- Spring IOC 注入 bean 有幾種方式?
- AOP 的實現原理
- AOP 中用到了哪些註解?怎麼做切面的優先級(先走切面2,再走切面1)?
- JVM 加載類的過程
- JDK 中 rt 目錄下的類是哪個加載器加載的?
- ArrayList 和 LinkedList 的區別?
- ArrayList 是線程安全的嗎?ArrayList 是有序的嗎?
- Set 集合的底層實現
- 平時用線程是直接 new 還是用線程池進行管理的?JDK 常用的線程池介紹一下?
- 緩衝線程池的存儲結構,有上限嗎?
- 內存泄漏和內存溢出的區別?內存泄漏常發生在 JVM 哪?
- 二面
- Java 面向對象特性介紹一下,類能否多繼承?子類繼承父類,會繼承父類的所有屬性嗎?
- 設計模式熟悉哪些。適配器與代理模式的區別?
- 適配器模式有哪幾種實現方式,使用適配器模式的優點?
- JVM 內存分配策略,新生代對象晉升到老年代的年齡閥值默認是多少?
- Eden 區垃圾回收用什麼算法?爲什麼用這個算法?
- IOC 和 AOP 的實現
- 說一下你自己實現的動態代理是怎麼寫的?
- IOC 中 DI 注入方式?如果在一個系統中有很多不同包下的 bean 名字是一樣的,怎麼解決注入時的衝突問題?(這些 bean 不分優先級)
- Mybatis 整合 SpringBoot 做表的操作時,環境搭建過程,說一下你用到的 Linux 命令
- Linux 查 Java 進程的命令,查文件中關鍵字向下 500 行的命令
- Linux 用什麼命令打開大文件,比如:5G 這麼大?
- InnoDB 索引種類
- 聚簇索引和非聚簇索引區別?
- MySQL 事物隔離離別
- 介紹讀已提交的含義
- Redis 哨兵模式和集羣模式區別?
- 負載均衡算法 一致性 hash 說一下?
- 高併發情況下的解決策略
- 分佈式的一些概念
- Redis 併發量上限
- 最早什麼時候可以來,可以實習多久?
- 你有什麼要問我的嗎?
字節跳動
- 一面:
- 鏈表數組區別
- 寫鏈表翻轉(代碼)
- 合併 k 個有序數組(代碼)
- HashMap 實現原理
- 解決 hash 衝突的其他方法
- 生產者消費者模型的實現(代碼)
- Linux 查看 CPU 核數命令
- 二面:
- Leetcode121 題:買賣股票的最佳時機
- 當前視頻面試時,用到了哪些網絡協議?
- 項目講一下,參與了什麼設計、什麼流程?
- 手寫 MySQL 左連接查詢,把表也模擬寫出來,查詢結果也寫出來
- Linux 根目錄的命名規範介紹一下
- 你的學習目標是什麼?還想學習什麼技術?