日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

阿里京东滴滴等大厂面试题汇总

發布時間:2024/8/23 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 阿里京东滴滴等大厂面试题汇总 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 11月面:京東一面【京東云與AI-協同辦公】:
  • 京東一面現場面【京東云與AI-平臺創新組】:
  • 京東二面:
  • 11月面:滴滴視頻面【橙心優選】:
  • 11月面:國美零售【大數據-搜索組】
  • 8月面:阿里一面【叮叮】
  • 2月面:阿里一面【菜鳥網絡】
  • 阿里筆試題
  • 4月面:58一面【轉轉】
  • 2月面:丁香醫生【搜索】
  • 朋友的面試題
    • 啊申-融360筆試題
    • Kyushu-字節跳動面試題
    • Kyushu-百度終面筆試題
    • 出鞘-京東3c事業部
    • 出鞘-面試了京東、滴滴、火花思維、理想汽車
  • 其他
    • 美團
      • 一面
      • 二面
    • 騰訊
      • 一面
      • 二面
      • 三面
      • 四面
    • 阿里
      • 一面
      • 二面和三面

11月面:京東一面【京東云與AI-協同辦公】:

1.equal相同hashcode相同?hashcode相同equal就一定相同?
2.線程五種狀態?五種狀態怎么變化的?
3.同一個線程重復調用start方法會產生什么情況?
4,mybatis二級緩存?
5.springmvc請求處理流程?
6.dubbo處理流程?
7.final作用,final作用到類上會這樣?
8.threadpoolexecutor?給你出個核心線程數,最大線程數,然后阻塞隊列發現,問多少個任務過來線程池處理的流程?
9.為什么方法返回值不能作為重載?
10.nginx反向代理?那么什么叫正向代理?

京東一面現場面【京東云與AI-平臺創新組】:

1.線程池參數?底層如何設計對?線程幾種狀態?源碼Thread狀態枚舉類對應對類型,什么時候觸發?
2.springboot啟動流程
3.springmvc請求流程,前段請求到后端過程分析
4.并發場景如何解決?
5.項目中遇到哪些問題?問架構
6.JVM了解的深度?垃圾回收器?線上JVM調優以及遇到哪些坑,如何解決?
7.聊dubbo SPI設計
8.問MySQL了解的深度?慢查詢優化?
筆試題:

給你兩個鏈表求第一個交叉點?

京東二面:

—自我介紹+項目詳細介紹(估計就是看你項目的真實情況,問的業務細節比較多)
1.hashmap底層實現原理,什么時候會變成紅黑樹等等 就是按照原理問的
2.java多態(重載重寫區別)
3.jvm如何排查現場問題(內存溢出問題,線程池超出問題),在沒有線上排查工具的時候排查過程是什么樣的
4.redis數據類型
5.redis應用場景有哪些
6.線程池原理,經常用哪些線程池,為什么
7.并發場景,重入鎖和同步鎖
8.redis為什么這么快(除了多路復用)
9.mysql做過哪些優化 為什么
10.mysql索引都用過哪幾種,用索引排查思路
11.分庫分表 主鍵生成策略有哪幾種,為什么常用自增
12.分布式鎖 了解哪幾種 ,比如redis,zookeeper 怎么實現的
13.kafka 存儲模型是什么樣的。kafka自身如何保證不丟數據
14.kafka消息擠壓怎么處理,怎么產生的消息擠壓

11月面:滴滴視頻面【橙心優選】:

1.問抓取遇到的問題?redis list?
2.線程:如何用線程池?線程池內部處理流程了解?線程數配置?io密集型?CPU密集型?線程池核心線程數、最大線程數阻塞隊列等配置?
3.鎖:說一下你知道的鎖?synchronized原理?使用場景?CAS應用場景?CAS缺點、問題?如何解決?AQS內部實現?CountdownLatch和CyclicBarrier主線程和子線程哪個線程等待?
4.JMM內存模型介紹,每個模型對應的作用?JVM了解多少?垃圾回收算法?講一下GC收集器?CMS收集器?
5.事務基本特性
筆試題:

共享桌面用idea寫二分查詢并運行

11月面:國美零售【大數據-搜索組】

一面:
1.redis五種基本數據類型
2.redis為什么那么快
3.es和solr區別
5.搜索項目qps、數據量、架構說下
6.說一下tfidf和bm25
7.hashmap jdk8做過哪些優化
8.抓取動態頁如何失效,怎么區分動態靜態頁,講一下你們抓取項目,如何維護種子頁?rpush,lpoll
9.多線程了解?Future、threadpool、Forkjoin、semaphore、countdownlatch

二面:
1.JVM內存模型
2.垃圾回收器用的哪個
3.gc各個算法
4.redis基本數據類型,應用場景
5.zset底層數據結構
6.lucene底層similary、FunctionQuery原理提供哪些方法,如何實現,你項目怎么使用的
7.lucene的索引文件后綴名介紹,分別有什么作用、查詢為什么快?跳躍表?
8.kafka如何保證順序消費
9.你們搜索項目qps?每天請求量?數據量占用文件多大?內存?
10.你java看的哪本書?
筆試題:

面試官給你畫了平衡二叉樹,給你一個節點怎么查到該節點的父節點,插入思想、寫查詢代碼

8月面:阿里一面【叮叮】

1.搜索引擎lucene架構,底層原理
2.分布式系統如何保證一致性
3.中英文分詞器區別,底層了解?
4.數據如何同步到hdfs?講一下hdfs
5.線程池參數解釋?線程池如何管理線程
6.threadlocal實現原理?父線程threadlocal能在子線程使用?線程池使用threadlocal有什么需要注意的地方?線程復用,上個任務沒有處理掉threadlocal,新的任務會用老的threadlocal?
7.fork join了解?
8.try cache使用時finally有異常會拋出?try中有return,finally只也有return哪個執行?
9.@transactional什么時候會失效?
10.線上出現oom如何排查?
11.平常研究過開源組件?講一下
12.zk分布式鎖實現原理?
13.講一下像kafka生產著消費者模式架構,原理
14.hash碰撞常用解決辦法

2月面:阿里一面【菜鳥網絡】

1.java8新特性?Stream()原理?
2.threadLocal原理?
3.講下Executor?
4.synchronized原理?
5.ThreadPoolExecutor?
6.Fork/join了解?
7.做過jvm調優?
8.介紹布隆過濾器?結合自己應用場景如何設計hash函數?

阿里筆試題

第一題:

用java語言實現隨機金額群紅包,包含紅包創建、紅包領取、查看領取記錄三個功能,隨機金額群紅包指發送人指定紅包碼總金額和個數,領取人根據手氣隨機領到一定金額的紅包;

第二題:

數組A內容為1,2,3,4…78,數組B內容為26個英文字母,請使用兩個線程分別處理兩個數組,向標準輸出打印內容為:123a,456b,789c,91011e,…,767778z。

4月面:58一面【轉轉】

1.String如何轉成int類型? 分析Interger.parseInt()源碼?
2.判斷一個整數是2的多少次冪?
3.redis應用場景?數據結構?持久化?aof重寫機制?淘汰策略?LRU實現?
4.mysql慢查詢優化?底層結構?為什么采用B+樹?
5.kafka應用場景?優點?為什么吞吐量大?缺點?為什么有數據丟失,重寫問題?
6.java為什么設計object類?提供哪些方法?說下wait和sleep區別?為什么一個在object一個在thread中,為什么這么設計?

2月面:丁香醫生【搜索】

1.布隆過濾器
2.linux基本指令?端口號?進程信息?
3.講下solr?
4.TFIDF、BM25?
5.HashMap加載因子多少?底層數據結構?紅黑樹原理?為什么快?時間復雜度?
6.redis io多路復用
7.雙親委派模型

朋友的面試題

啊申-融360筆試題

1.單鏈表變成逆序
2.sql語句現場寫
3.java設計抽獎10%中獎概率
4.單鏈表排序

Kyushu-字節跳動面試題

1.優惠券設計
2.io多路復用
筆試題:
1.手寫觀察者設計模式
2.二叉樹公共祖先節點,兩個數組相同到元素
3.K個一組反轉鏈表

交叉面:
1.kafka: exactly once 經驗
2.LinkedHashMap 內部數據結構
3.ConcurrentHashMap 內部數據結構 擴容:多個線程
筆試題:大數據Code:

微信的用戶登錄日志
User_id,login/logout,timestamp
基于時間單調非遞減排列
求一天的在線用戶峰值和維持時長
最小的額外空間復雜度
T T+1 T+2
IN A B C D
OUT B

問題:設計數據結構
LRU --》 LFU 時間復雜度越低越好
size = N個單

Kyushu-百度終面筆試題

環形鏈表的約瑟夫問題(進階)
限定語言:C、Python、C++、Javascript、Python 3、Java、Go
據說著名猶太歷史學家 Josephus 有過以下故事:在羅馬人占領喬塔帕特后,39 個猶太人與 Josephus 及他的朋友躲到一個洞中,39 個猶太人決定寧愿死也不要被敵人抓到,于是決定了一種自殺方式,41 個人排成一個圓圈,由第 1 個人開始報數,報數到 3 的人就自殺,然后再由下一個人重新報 1,報數到 3 的人再自殺,這樣依次下去,直到剩下最后一個人時,那個人可以自由選擇自己的命運。這就是著名的約瑟夫問題。現在請用單向環形鏈表得出最終存活的人的編號

出鞘-京東3c事業部

二面:
四種單例寫法
juc那幾個 AQS的應用場景
你們日志是怎么統一的?比如duboo服務十臺機器有一臺出錯了,具體哪個包有錯誤怎么看?
mysql 主從復制怎么連接
Spring如何引用對象 四種 ?beanfactory @autowire
如何破壞Spring單例
三面:
1.Spring傳播級別
2.https還有socket 解決黏包問題
3.設計一個排序 用redis,銷量相同時間排序4.dubbo接口擴展設計?我們平時用的接口是不能new 對象的,如何用dubbo實現?dubbo微內核?5.nginx負載均衡
6.spring事物傳播級別
7.事物注解外層沒加事物 里面加了會發生什么?
8.如何解決跨域問題

出鞘-面試了京東、滴滴、火花思維、理想汽車

金三銀四 面試十來家公司包含一二三面的 二十+輪面試碰見的面試問題回答的不好的以及聊尷尬的以及被面試官失望的鄙視的題目記錄**

1、接口限流怎么做 保證1000次訪問 (令牌桶 限流)

2、rocketmq延遲隊列 (說清楚原理 是把消息放到什么里面 18個等級)

3、線程池狀態

4、水平分表主鍵ID如何生成(同一個批次的數據放進去方便查找你可以這樣回復,查詢條件(ID)過來,可以拿出ID的hashcode,然后對現在水平表的數量進行取模,最后可以得到訪問的具體表。)

5、布隆過濾器算法 布隆過濾器其實就是都個hash函數,有則為1,無則為0。過濾的時候,只考慮為 >=1的,其它為0一律忽略。它的缺點就是會有誤傷【有些情況會失敗】

6、filter和 incepter的區別

7、rocketMq 如何保證消息不丟失 (程序員角度考慮,輔助數據庫 記錄消息 消費完刪除,再說一下同步ACK 同步落盤等)

8、保證消息隊列消費的冪等性

拿個數據要寫庫,你先根據主鍵查一下,如果這數據都有了,你就別插入了,update 一下好吧。

寫 Redis,那沒問題了,反正每次都是 set,天然冪等性。

那做的稍微復雜一點,你需要讓生產者發送每條數據的時候,里面加一個全局唯一的 id,類似訂單 id 之類的東西,然后你這里消費到了之后,先根據這個 id 去比如 Redis 里查一下,之前消費過嗎?如果沒有消費過,你就處理,然后這個 id 寫 Redis。如果消費過了,那你就別處理了,保證別重復處理相同的消息即可。比如基于數據庫的唯一鍵來保證重復數據不會重復插入多條。因為有唯一鍵約束了,重復數據插入只會報錯,不會導致數據庫中出現臟數據。

9、回收期 可達性 和 程序計數JVM (GC root 有哪些)

10 、 緩存擊穿怎么解決 (保證同一時間一個請求成功寫redis)

11、 銀行轉賬 事物 保證 https://zhuanlan.zhihu.com/p/71887950 (TCC 原來說一遍)

12、LINUX 命令 讓進城后臺執行 &

13、限流令牌桶 漏斗模式的 區別

14、redis 主從復制的原理

15、tomcat調優的參數(偏實踐能力這個看經驗回答了)

16、TOP 然后看CPU 和內存使用率 怎么定位問題

17、redis 配置參數(有哪些配置參數各個都是做什么的)

18、一個共享資源如何被其他線程看到(這塊應該是問 sychornized 或者 volatile)

19、如何優化SQL必須讓他們 走緩存 force index

20、做壓力測試 你們數據如何清除

21、單點登錄原理

22、JVM 機制 加載 效驗 一套流程如何把類加載到 虛擬機里面

23、線程池里面參數配置以及應用場景 (高頻)

24、 你們都用什么 線程池

25、REDIS 支持最大的QPS 10W 寫8萬

26、算法 (二分查找比較多 還有反轉單向鏈表)

27、HASHmap 擴容機制 為什么用紅黑樹

28、線上內存CPU使用率標高

29、mysql高可用架構 MHA 說清楚 還有就是不停機 舊庫換新庫等

30、責任鏈模式

31、zadd 跳躍表 具體跳躍表原理

32、join 底層原理 是什么 https://www.jianshu.com/p/6086365a73bd(嵌套)

33、zk為什么zxid是唯一

34、 es 底層落盤 OS cache 等 刷新速度 以及 如何保證高可用

35、Spring傳播級別 默認級別 require 外層沒有事務 內層有 會發生什么

36、https原理說清楚

37、 解決黏包 拆包 封包 的問題

粘包、拆包解決辦法

通過以上分析,我們清楚了粘包或拆包發生的原因,那么如何解決這個問題呢?解決問題的關鍵在于如何給每個數據包添加邊界信息,常用的方法有如下幾個:

1、發送端給每個數據包添加包首部,首部中應該至少包含數據包的長度,這樣接收端在接收到數據后,通過讀取包首部的長度字段,便知道每一個數據包的實際長度了。

2、發送端將每個數據包封裝為固定長度(不夠的可以通過補0填充),這樣接收端每次從接收緩沖區中讀取固定長度的數據就自然而然的把每個數據包拆分開來。

3、可以在數據包之間設置邊界,如添加特殊符號,這樣,接收端通過這個邊界就可以將不同的數據包拆分開。

等等。

(兩端約定報文頭部和尾部內容,從而識別是一包完整數據,固定報文長度,不足用空補齊,接收端讀取固定長度,類似于第一種方式,在尾部增加換行符,在報文頭部聲明消息體長度,一發一收)

38、設計一個排序 用redis,兩個排序方式 一個銷量一個時間,怎么排序 利用sort set 的 得分

39、dubbo接口擴展設計SPI 機制聊清楚

40、dubbo微內核 (沒理解過這個)

41、nginx負載均衡有哪些

42、如何解決跨域 (jsonp nginx 反向代理 等 盡可能全)

43、四種單例寫法 (枚舉類 內部類 一般 懶漢餓漢 還有什么 ?)

44、juc那幾個 AQS的應用場景(柵欄模式 信號量 計數器)

45、你們日志是怎么統一的 (看網上用elk 多個 服務多臺機器 如何看錯誤日志 dubbo+zk模式)

46、mysql 主從復制怎么連接(如何配置 什么時候讀什么時候寫 我們一般是select 的走從庫 其他的走主庫)

47、如何泡壞spring單例(反序列化 , 反射)

48、 延遲雙刪 (經常問 如何保證redis和數據庫 數據一致 延遲雙刪 具體怎么弄 怎么 2秒后刪一次 用什么控制 起一個線程做嗎 還有什么更好的)

49、事物什么時候不生效 this.方法 不會走代理

50、聊清楚AOP 如何配置 (實際操作 現場說出如何 配置)

51、Threadlocal 如何使用

52、數據庫表里面 有一些數據是 2條一樣的數據 只是部分字段優先級不同 有些數據是一條 一次查詢 根據 優先級 1 的

只顯示 2條中的優先級高的一條 和普通的數據 。 根據配置的優先級展示不同數據

53、百萬以上數據增加字段會影響嗎 如何有 如何解決 (新建一個新表把字段加上然后把舊表數據用 mq 等操作插入到 新表里面然后改名 還有其他更好的辦法歡迎分享)車以下關于他的面試題總結

其他

美團

一面

  • 一道算法題,十分鐘左右時間,要求能正常運行,通過給出的測試用例。
  • 最近做過的最有挑戰的項目,有哪些難點?
  • 結合項目細聊系統的設計,根據你的設計提出疑問。
  • 你們項目中是如何保證數據一致性的?
  • 代碼在執行 SQL 語句時,數據庫連接出現了超時異常,但是你不知道這條 SQL 語句在數據庫中究竟有沒有執行成功,這種情況怎么保證數據的一致性?
  • 你們系統中分布式鎖是如何實現的?(當時回答采用 redis 實現,set(key,value,nx,ex,expire))
  • 上面使用 redis 實現分布式鎖會存在什么問題?
  • 項目中除了使用 redis 實現分布式鎖,還有哪些使用場景?
  • redis 的數據持久化機制?如何保證數據不丟失?當 redis 內存滿了以后,內存的淘汰策略?
  • AQS 實現鎖的原理?與 synchronize 的區別
  • MySQL 存儲引擎的區別?數據庫有哪些隔離級別?
  • MySQL 索引的數據結構是什么?為什么選擇這種數據結構?
  • B+Tree 和 B-Tree 有什么區別?
  • Reactor 線程模型有哪些?Netty 是如何支持這三種線程模型的?
  • 多路復用器的實現原理?
  • epoll 的實現原理?epoll、poll、select 的區別
  • JVM 如何進行垃圾回收?標記算法有哪些?垃圾回收算法有哪些?
  • CMS 垃圾回收器的原理?
  • 二面

  • 最近做過的最有挑戰的項目?
  • redis 和 MySQL 的雙寫一致性問題?你們是如何做的?為什么這樣做?其他的做法會存在什么問題?
  • 分布式鎖的實現原理
  • 數據庫有哪些隔離級別?這幾種隔離級別分別解決了什么問題?
  • MySQL 是如何解決不可重復讀問題的?
  • MVCC 的實現原理
  • MySQL 的可重復讀隔離級別下,存在幻讀嗎?為什么?
  • 數據庫的索引是不是創建得越多越好?為什么?通常創建幾個?
  • 一張表中對 a、b、c 三個字段分別建立了索引,現在有一條 SQL 語句:select field1,field2 … from t where a = xx and b=xx and c=xx. 請問這條 SQL 語句會使用到索引嗎?如果會,那么會使用到哪個索引?(回答:只會使用其中一個索引,可能是 a,也可能是 b,還有可能是 c,具體使用哪個索引和表中的數據有關)
  • 為什么不會同時使用 a,b,c 三個索引?什么是回表?
  • 聚簇索引和非聚簇索引的區別
  • 如何知道一條 SQL 語句使用了哪些索引?(回答:使用 explain 查看)
  • explain 的結果有哪些列?分別代表什么含義?
  • 如何查看慢 SQL?
  • 在 Spring 事務中執行多條 SQL 語句時,是對應多個數據庫連接還是一個數據庫連接?(回答:一個連接,多個就無法保證事務了)
  • 既然是一個連接,Spring 在前后執行多條 SQL 時,是如何保證當前線程獲取到同一個連接的?(回答:當時沒想到 ThreadLocal,面試官引導說,如果是你,會怎么實現。后來回答說存在一個 map,key 是當前線程,value 就是數據庫連接,最后靈光一現,想到了 ThreadLocal)
  • ThreadLocal 的實現原理?
  • 使用 ThreadLocal 需要注意哪些問題?(實際上是問 ThreadLocal 內存泄漏的問題)
  • Redis 主從復制的原理
  • MQ 使用過哪些?如何選型?
  • 使用的是什么 RPC 框架?為什么選擇它?
  • 線上服務流量猛漲,該如何操作,說下詳細過程?新加服務節點也可能會導致服務還沒起來,機器就被打爆了,這個時候怎么辦?
  • 一個場景題:現在有 1000 萬的商家,知道他們的地理位置,當我們進入到 APP 首頁時,如何加載出附近的商家?
  • 職業規劃?為什么選擇在年底前跳槽?
  • 騰訊

    通常是三輪技術面試,一輪 HR 面試,第一輪面試會有一道算法題,有的時候可能是 4 輪技術面試。

    一面

    一面主要是問 Java 基礎,常規題,比較見答案。

  • Java 中使用的是值傳遞還是引用傳遞?
  • 方法調用時入參是如何傳遞的?
  • JVM 中有哪些數據區域?
  • List 集合哪些?ArrayList 和 LinkedList 的區別和使用場景?為什么?
  • HashMap 的實現原理?1.7 和 1.8 的區別?
  • HashMap 中的 hash 算法?這樣的 hash 算法有什么好處(高低 16 位均參與運算)?如何尋址?
  • 使用 HashMap 會有哪些問題?(1.7 和 1.8 中有什么不同)如何解決?
  • Java 中有哪些線程安全的 Map?
  • ConcurrentHashMap 的實現原理?1.7 和 1.8 的區別?
  • ConcurrentHashMap 如何統計元素的個數?會有什么問題?
  • 什么是 JMM 內存模型?
  • synchronized 的實現原理
  • 線程池的實現原理?有哪些參數,分別是什么含義?
  • 垃圾回收算法。
  • Java 中反射的基本原理?實際項目中是如何使用反射的?
  • 熟悉哪些設計模式?在項目中哪些地方實際使用過?
  • 一道算法題
  • 二面

    主要聊的是項目,技術問題都是在聊項目的時候帶出來的。

  • 最近做過的最有成就感的項目?這個項目中遇到過什么問題?
  • 你們的分布式系統中如何保證數據一致性問題?(回答:利用了 RocketMQ 的事務消息來保證最終一致性,后面大部分時間都在聊 RocketMQ 的實現原理)
  • 客戶端請求過來,后端如何防止重復請求,保證冪等?
  • 如何實現分布式鎖?
  • redis 實現分布式鎖存在什么問題?
  • redis 分布式鎖與 lua 腳本?
  • redission 了解過嗎?說說它的實現原理?
  • 在項目中為什么使用 RocketMQ?對于 MQ,你們是如何選型的?
  • RocketMQ 的實現原理?消息時如何存儲的?
  • 線上出現 MQ 丟失消息?問題可能出現在哪兒?如何保證 MQ 的消息不丟失?
  • 如何保證 RocketMQ 的高可用性?
  • RocketMQ 的事務消息的實現原理?
  • 如何保證消息的順序性?
  • 如何保證消息不被重復消費?
  • 你們項目中涉及到了轉賬相關的業務,那怎么保證資金的準確性和安全性?
  • 針對你們的項目設計一個對賬系統。
  • 如何保證分布式系統的強一致性?
  • 三面

    和二面幾乎一樣,大部分時間聊項目,問題也類似,重復面試題不再贅述

  • 聊項目經驗
  • 使用 redis 過程中遇到過什么問題?如何解決熱 key 問題?
  • 你們的 redis 使用的那種模式?集群模式和哨兵模式的區別?集群模式和哨兵模式如何保證 redis 集群的高可用?redis 集群的故障轉移過程?
  • raft 協議的原理?
  • JVM 調優經驗?
  • 什么是三色標記?
  • 數據庫與緩存的雙寫一致性問題?
  • 結合項目,分庫分表該如何設計
  • MySQL 的主從復制原理?
  • ConcurrentHashMap 的實現原理?
  • CucurrentHashMap 中 Node 節點是如何設計的?為什么要用 final 和 volatile 修飾 Node 節點的屬性?有什么作用?
  • 對個人職業有什么規劃?
  • 四面

  • 項目經歷
  • 一個對象是如何存儲在 JVM 中的?
  • 類加載過程,以及方法的執行的過程?
  • JVM 的垃圾回收機制?為什么要區分新生代、老年代?
  • 線上 GC 有問題,如何排查?
  • Spring 的 AOP 的使用場景?AOP 機制有什么好處?
  • 分布式事務問題,CAP 理論?2PC、XA、TCC、MQ 等原理
  • 類似于淘寶這樣的系統,你覺得他們的他們是如何實現數據的強一致性的?
  • redis 集群如何實現擴容?
  • redis 的 rehash 的過程?
  • Netty 的線程模型有哪些?
  • 什么是 TCP 的粘包與半包?Netty 是如何解決的?
  • epoll 的原理?
  • TCP 的三次握手和四次揮手?為什么是 3 次和 4 次?
  • 你們的廣告檢索引擎是如何設計的?目前流量多大?如果支撐更大量級的廣告投放
  • 為什么從上一家公司離職?
  • 阿里

    三輪技術面試,一輪 HR 面試,第一輪通常是電話面試,第二輪是視頻,可能會有一道算法題。

    一面

    一面基本是 Java 基礎問題,比較簡單。

  • Java 如何判斷一個對象能否被回收?垃圾回收算法有哪些?
  • 什么是內存模型?
  • 什么是線程安全?
  • Java 中鎖有哪些?synchronize 和 Lock 的區別?
  • synchronize 的底層實現原理
  • 對象在內存中的布局?
  • volatile 關鍵字的實現原理?
  • 什么是原子性、可見性、有序性?什么是 happen-before 原則?解釋一下 final 的語義?
  • 什么是 CAS?CAS 存在什么問題?
  • Lock 系列鎖的實現原理?
  • 什么是原子類?原子類的實現原理?
  • Java 中對象的引用有哪些類型?
  • ThreadLocal 的實現原理?存在什么問題?如何避免?
  • HashMap 的實現原理?1.7 和 1.8 的區別?
  • 有哪些線程安全的 Map?ConcurrentHashMap 的實現原理?1.7 和 1.8 的區別?
  • ConcurrentHashMap 是如何統計 size 的?
  • MySQL 的索引為什么是 B+Tree,而不是數組、Hash 之類的數據結構?為什么不是 B-Tree?
  • Redis 有哪些數據類型?List 中數據非常多怎么辦?
  • Redis 的持久化機制?AOF 和 RDB 的優缺點?
  • 線上服務接口非常慢?如何排查?
  • 二面和三面

    二面和三面是同一天面的,記不清了,大概是這些問題,面試官比較喜歡追問。

  • 一道算法題。
  • 聊項目經歷,非常細。
  • 垃圾標記算法和垃圾回收算法有哪些?
  • 什么是三色標記?什么是安全點與安全區域?
  • 簡述一下 G1 垃圾回收器的原理?
  • 為什么你們項目中沒有使用 G1 垃圾回收器?
  • 什么時候會觸發 Minor GC?什么時候觸發 Old GC?什么是 Full GC?
  • 對象什么時候進入到老年代?什么是動態年齡判斷?
  • 你們線上服務的 QPS 有多大?機器配置是多少?JVM 的參數是怎么設置的?GC 的頻率?為什么要這這樣配置?
  • 假設線上服務的流量是當前流量的 1 萬倍?系統會出現什么現象?如何優化?
  • Redis 的高可用怎么保證?線上有多少臺機器?怎么部署的?
  • Redis 實現分布式鎖的原理?存在什么問題?
  • 如何用 Zookeeper 實現分布式鎖?存在什么問題?
  • Redis 中遇到熱 key 會造成什么問題?如何發現熱 key?如何解決熱 key 的問題?
  • SQL 的優化經驗有哪些?索引的設計準則?
  • 如何查看 SQL 的慢查詢日志?線上服務出現慢查詢了怎么處理?
  • 線上數據庫出現了死鎖怎么辦?
  • MySQL 的 InnoDB 在可重復讀隔離界別下如何解決不可重復讀問題和幻讀問題的?什么是快照讀?什么是當前讀?
  • MySQL 中有哪些鎖?什么是間隙鎖?
  • MySQL 中有哪些日志?
  • 數據庫有哪些特性?MySQL 是如何保證機器宕機重啟后,數據不丟失的?
  • binlog 有什么作用?將其格式設置為 statement 會有什么問題?你們線上是如何配置的?
  • 如何保證 MySQL 的高可用?主從復制的原理?
  • 現在線上環境中發現 MySQL 的從節點大幅落后于 master 節點,可能是什么原因?如何處理?
  • 消息隊列的選型?RocketMQ 的實現原理?
  • 如何保證消息不丟失?如何保證不重復消費消息?
  • 線上 MQ 出現消息大量積壓,應該如何處理?
  • 讓你設計一個 MQ,你會如何設計?
  • 什么是 mmap?
  • netty 用過嗎?為什么 netty 是高性能的網絡框架?
  • 零拷貝機制的實現原理?
  • Zookeeper 集群如何部署?Zookeeper 如何實現選舉?什么是 ZAB 協議?
  • Zookeeper 如何保證數據的順序一致性?
  • Zookeeper 的使用場景?如何支撐大量的讀請求?
  • 你們微服務的注冊中心是如何選型的?Zookeeper 和 Eureka 作為注冊中心的區別?它們有什么瓶頸?
  • 如何設計一款能支撐數十萬機器組成的集群的注冊中心?
  • 如何設計一個秒殺系統?在雙十一當天,從瀏覽器中輸入 www.taobao.com 到加載出頁面,說一下它的完整過程。
  • 總結

    以上是生活随笔為你收集整理的阿里京东滴滴等大厂面试题汇总的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。