高并發系統設計面試題

高并發系統設計面試題

🔥🔥🔥 超高頻問題(幾乎必問)

  1. 讓你設計一個秒殺系統,你會考慮哪些問題?
  2. 如果你的業務量突然提升100倍QPS你會怎么做?
  3. 庫存扣減如何避免超賣和少賣?
  4. 訂單到期關閉如何實現
  5. 讓你設計一個訂單號生成服務,該怎么做?
  6. 如何設計一個購物車功能?
  7. 你是如何進行SQL調優的?
  8. Redis如果掛了,你怎么辦?
  9. 如何解決消息重復消費、重復下單等問題?
  10. 不用redis分布式鎖,如何防止用戶重復點擊?

🔥🔥 高頻問題

  1. 如何用Redis實現朋友圈點贊功能?
  2. Redis的zset實現排行榜,實現分數相同按照時間順序排序,怎么做?
  3. 如何實現"查找附近的人"功能? 🏷?IoT
  4. 消息隊列使用拉模式好還是推模式好?為什么?
  5. 如果讓你實現一個RPC框架,會考慮用哪些技術解決哪些問題?
  6. 一個訂單,在11:00超時關閉,但在11:00也支付成功了,怎么辦?
  7. 一個支付單,多個渠道同時支付成功了怎么辦?
  8. 如果讓你實現消息隊列,會考慮哪些問題?
  9. 不使用synchronized和Lock如何設計一個線程安全的單例?
  10. 索引失效的問題是如何排查的,有哪些種情況?

🔥🔥 高頻問題(續)

  1. 說一說多級緩存是如何應用的?
  2. 從B+樹的角度分析為什么單表2000萬要考慮分表?
  3. 線上接口如果響應很慢如何去排查定位問題呢?
  4. 怎么做數據對賬?
  5. MySQL千萬級大表如何做數據清理?
  6. 高并發的庫存系統,在數據庫扣減庫存,怎么實現?
  7. MySQL熱點數據更新會帶來哪些問題?
  8. 和外部機構交互如何防止被外部服務不可用而拖垮
  9. MySQL里有2000W數據,Redis中只存20W的數據,如何保證redis中的數據都是熱點數據?
  10. 用了一鎖二查三更新,為啥還出現了重復數據?

🔥 中頻問題

  1. 每天100w次登錄請求,4C8G機器如何做JVM調優?
  2. Kafka,單分區單消費者實例,如何提高吞吐量
  3. 40億個QQ號,限制1G內存,如何去重?
  4. 如果單表數據量大,只能考慮分庫分表嗎?
  5. InnoDB為什么不用跳表,Redis為什么不用B+樹?
  6. 為什么MySQL用B+樹,MongoDB用B樹?
  7. 一個接口3000QPS,接口RT為200MS,預估需要幾臺機器?
  8. 在100M內存下存儲一億個整數,其范圍在1到2億,如何快速判斷給定到一個整數數值是否存在?
  9. 數據庫邏輯刪除后,怎么做唯一性約束?
  10. 電商下單場景,如何設計一個數據一致性方案?

🔥 中頻問題(續)

  1. 如何實現緩存的預熱?
  2. 如何實現百萬級數據從Excel導入到數據庫?
  3. 如果需要跨庫join,該如何實現?
  4. 應用占用內存持續增長,但是堆內存、元空間都沒變化,可能是什么原因?
  5. 和其他公司做數據交互時,有什么需要注意的?
  6. 4C8G的機器,各項系統指標,什么范圍算是正常?
  7. 4C8G 16臺 和 8C16G8臺,不考慮成本的情況怎么選?
  8. 如何預估一個系統的QPS?
  9. 如何做SQL調優:用了主鍵索引反而查詢很慢?
  10. 如果要存IP地址,用什么數據類型比較好? 🏷?IoT

🔥 中頻問題(續2)

  1. 一次RPC請求,客戶端顯示超時,但是服務端不超時,可能是什么原因?
  2. 為什么不建議使用MC實現訂單到期關閉?
  3. 如何實現敏感詞過濾?
  4. 為啥不要在事務中做外部調用?
  5. 如何做平滑的數據遷移?
  6. 如何實現一個搶紅包功能?
  7. 使用分布式鎖時,分布式鎖加在事務外面還是里面,有什么區別?
  8. 加分布式鎖之后影響并發了怎么辦?
  9. 數據庫樂觀鎖和悲觀鎖以及redis分布式鎖的區別和使用場景?
  10. 為什么很多公司數據庫不允許物理刪除(delete) 數據

📱 中低頻問題

  1. 為什么不用分布式鎖來實現秒殺?
  2. 為什么不直接用原生的BlockingQueue做消息隊列
  3. SpringEvent和MQ有什么區別?各自適用場景是什么?
  4. 如何實現百萬級排行榜功能?
  5. 為什么一定要做限流?不應該服務好客戶嗎?不應該是加機器嗎?
  6. 大型電商的訂單系統,如何設計分庫分表方案?
  7. 你認為分布式架構一定比單體架構要好嗎?
  8. 代碼中使用長事務,會帶來哪些問題?
  9. Redis的內存如果用滿了,會掛嗎?
  10. 給第三方提供接口調用,需要注意些什么?

📱 中低頻問題(續)

  1. 應用啟動后前幾分鐘,Load、RT、CPU等很高,如何定位?可能原因是什么?
  2. 分庫分表時,每個城市的人口不一樣,有的密集,有的稀疏,如何均勻分布?
  3. 項目中,如果日志打印成為瓶頸,該如何優化?
  4. 分布式系統,用戶登錄信息保存在服務器A上,服務器B如何獲取到共享session
  5. 實現一個登錄拉黑功能,實現拉黑用戶和把已經登錄用戶踢下線?
  6. 調用第三方接口支付時,第三方接口顯示支付成功,但是在調用方顯示失敗,什么原因?
  7. 讀取一千個文件,一個線程讀取和開十個線程讀取,哪種方式效率高?
  8. a,b 的聯合索引,select b where a = xx,無法走索引覆蓋什么原因?
  9. 大量的手機號碼被標記成騷擾電話,如何存儲這些號碼? 🏷?IoT
  10. 把商品加入購物車時斷網了,該怎么在重新聯網時處理?

📱 低頻問題

  1. 不用大于號小于號怎么判斷兩個正整數大小?
  2. 外賣系統,一天一千萬條數據,用戶需要查到近30天的數據,商家也要查詢到30天的數據,怎么設計表?
  3. 進入電梯里斷網后又恢復剛開始為什么網絡慢? 🏷?IoT
  4. 一個表有用戶和時間兩個列,現有3個需求:根據用戶查;根據日期查;根據用戶和日期查;怎么建立索引?
  5. 做一個過濾黑名單網址的系統,你覺得要怎么實現,會用到哪些數據結構?
  6. 全國的酒店價格(千萬級)需要在某個瞬間比如7點發生變動,怎樣高性能準點進行變更?
  7. 服務器有多個節點,線上出現用戶進入緩慢,監控服務器cpu和緩存沒有壓力,可以從哪些方面排查?
  8. 賬戶里面只有十塊錢,同時發來兩筆訂單一共大于十塊錢,怎么保證不超花?
  9. 項目中需要應用發布和ddl變更,需要如何保證不出錯?
  10. 有100個優惠券,有幾千萬流量,怎么保證服務器不垮掉,怎么保證最前面的人能搶到這個券?

📱 低頻問題(續)

  1. 秒殺場景下,怎么加庫存?
  2. 5分鐘內最多允許用戶嘗試登錄3次,如果錯誤次數超過限制,需要對該用戶進行鎖定,怎么實現?
  3. 兩個不相關的網站A和B,如何實現A登錄B也能自動登錄
  4. MQ出現消息亂序了如何解決?
  5. 在for循環中調用數據庫,有什么缺點?如何優化?
  6. MySQL單表一千萬條數據怎么做分頁查詢?
  7. MySQL千萬級數據量,查詢如何做優化?
  8. 什么是數據歸檔,一般是怎么做的?
  9. 第三方接口不穩定經常超時,如何處理三方接口異常不影響自己的接口?
  10. Redis、MySQL和MongoDB的區別是什么,各自適用場景

📱 低頻問題(續2)

  1. Redis實現分布式鎖,加鎖的時候,redis不可用了咋整?
  2. 如果讓你實現短鏈服務,如何生成不重復的短鏈地址?
  3. MySQL如果突然斷電,會發生數據丟失嗎?
  4. 防止接口被惡意刷流量,除了限流還應在代碼層面做哪些防護?
  5. 庫存扣減、創建訂單,如何拆成TCC?
  6. Redis保存庫存的時候,如何避免被Redis清理掉?
  7. 如果token被竊取了,是不是就能偽造登錄了?
  8. 如果有1TB的數據需要排序,但只有32GB的內存如何排序處理?
  9. 如何從1TB的搜索日志中找出搜索量最高的10個關鍵詞?
  10. 用@Scheduled執行定時任務,如何避免集群的并發問題

📱 低頻問題(續3)

  1. 下單支付過程,點擊跳轉支付,輸入密碼,支付完成后跳轉到訂單頁,整個過程可能會有什么問題,架構方面做哪些設計
  2. 有一張上百萬條數據的單表,從前端頁面、Java后臺、數據庫三個層面做哪些查詢優化
  3. 假設還有很多內存,有什么情況還會頻繁fullgc?
  4. 壓測600沒問題,上線后300就扛不住了,可能是什么原因?
  5. Redis和MySQL的一次普通查詢,RT在什么范圍內是合理的?
  6. 5億條數據放到布隆過濾器中,大概需要多大內存?如何估算?
  7. 為了避免丟消息問題需要落表,如何設計這張消息表?
  8. 有一個銀行系統,對實時性要求比較高,你會怎么選擇垃圾回收器
  9. 百萬級會員的用戶平臺,如何實現快到期的會員的消息提醒
  10. A線程獲取Redis分布式鎖,但那一刻做了主從的切換,B線程能獲取到鎖嗎?

📱 低頻問題(續4)

  1. 如果設計一個緩存,需要考慮哪些方面?
  2. 掃表任務,如何寫SQL可以避免出現跳頁的情況?
  3. 阿里出的Java開發手冊看過嗎,對哪條規約印象深刻?
  4. 購物車中如何解決重復下單的問題?
  5. 讓你實現一個短鏈服務,你會考慮哪些問題?

🏷? 物聯網相關問題標識說明

🏷?IoT 標記的問題在物聯網場景中特別常見:

  • 13. 如何實現"查找附近的人"功能? - 物聯網設備定位、地理位置服務
  • 50. 如果要存IP地址,用什么數據類型比較好? - 物聯網設備IP管理
  • 79. 大量的手機號碼被標記成騷擾電話,如何存儲這些號碼? - 物聯網設備號碼管理
  • 83. 進入電梯里斷網后又恢復剛開始為什么網絡慢? - 物聯網設備網絡重連機制

熱度說明

  • 🔥🔥🔥: 90%以上面試會問到
  • 🔥🔥: 70-90%面試會問到
  • 🔥: 50-70%面試會問到
  • 📱: 30-50%面試會問到

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/92839.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/92839.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/92839.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【通識】如何看電路圖

1. 電路圖 1.1 基礎概念 電路圖即電原理圖。 電路圖第一種是說明模擬電子電路工作原理,用圖形符號表示電阻器、電容器、開關、晶體管等實物,用線條把元器件和單元電路按工作原理的關系連接起來。 第二種則是說明數字電子電路工作原理的。用圖形符號表示…

SpringBoot實戰指南:從快速入門到生產級部署(2025最新版)

一、為什么SpringBoot依然是Java開發的首選? SpringBoot自2014年發布以來,已成為Java企業級開發的事實標準框架。根據2025年最新調研數據顯示,全球78%的Java微服務項目基于SpringBoot構建,其核心優勢在于: 約定優于配置…

新房裝修是中央空調還是壁掛空調好?

這個要看戶型和投資金額,大戶型空間適合裝中央空調,因為空間大有足夠的地方安裝,功率也可以根據面積大小進行配置,整體配置一個外機就行了,整體的裝修效果比較規整,就是多花點,使用成本也稍高點…

如何理解泊松分布

文章目錄一、引例——鯨魚研究二、泊松分布一、引例——鯨魚研究 有生態學家對生活在北冰洋水域的鯨魚進行了跟蹤研究,他們利用一臺水下無人機來探測鯨魚數量,這是近十天的數據: 第1天第2天第3天第4天第5天第6天第7天第8天第9天第10天10101…

python學習DAY22打卡

作業: 自行學習參考如何使用kaggle平臺,寫下使用注意點,并對下述比賽提交代碼 kaggle泰坦尼克號人員生還預測 import warnings warnings.filterwarnings("ignore") #忽略警告信息 # 數據處理清洗包 import pandas as pd import …

在 Ansys CFX Pre 中配置 RGP 表的分步指南

掌握在 Ansys CFX Pre 中設置 RGP 表的技巧,以優化仿真精度和效率。挑戰在計算流體動力學 (CFD) 領域,RGP(真實氣體屬性)表對于準確模擬流體在不同條件下的行為至關重要。這些表格提供了詳細的熱力學屬性&a…

C語言————原碼 補碼 反碼 (日漸清晰版)

本文的內容通下面這篇文章有著緊密的聯系,讀者可以選擇性閱讀 C語言————二、八、十、十六進制的相互轉換-CSDN博客 目錄 基本概念 原碼 反碼 補碼 轉換 數據的存儲方式 基本存儲單位 數據的計算方式 補碼的模運算原理 移位操作符 左移操作符 右移操…

函數-變量的作用域和生命周期

變量的作用域 引入問題 我們在函數設計的過程中,經常要考慮對于參數的設計,換句話說,我們需要考慮函數需要幾個參數,需要什么類型的參數,但我們并沒有考慮函數是否需要提供參數,如果說函數可以訪問到已定義…

Ansible在配置管理中的應用

Ansible是一個開源的配置管理和應用程序部署工具,它使用YAML語言編寫的Playbook來描述配置和應用部署過程。通過SSH協議與目標機器通信,Ansible可以實現批量操作,極大地提升了工作效率。核心功能Ansible的核心功能包括:配置管理&a…

【學習路線】Go語言云原生開發之路:從簡潔語法到微服務架構

一、Go語言基礎入門(1-2個月) (一)環境搭建與工具鏈Go環境安裝 官方安裝:從golang.org下載安裝包版本管理:g、gvm等Go版本管理工具環境變量:GOROOT、GOPATH、GOPROXY配置Go Modules:…

軟件工廠:推動新質生產力的組織躍遷

引言:軟件工廠的建設,不在于工具多,而在于理解深;不在于上線快,而在于體系穩。不僅是“看得見的流水線”,更是“看不見的組織變革”。在新質生產力的時代命題下,軟件工廠正成為連接創新與效率、…

9.0% 年增速驅動!全球自清潔滾輪拖布機器人市場2031年將邁向 946 百萬美元

自清潔滾輪拖布機器人是重要的智能清潔設備,采用滾筒式拖布結構,集掃拖功能,通過高速旋轉加壓擦洗地面,深度除污。其活水清潔系統可實時自清潔、回收污水,避免二次污染,提升清潔效率與效果,帶來…

新能源工廠的可視化碳中和實驗:碳足跡追蹤看板與能源調度策略仿真

摘要新能源工廠明明用著風電、光伏等清潔能源,碳排放數據卻依舊居高不下?某鋰電池廠耗費百萬升級設備,碳足跡卻難以精準追蹤,能源調度全靠經驗“拍腦袋”,導致成本飆升。而隔壁企業通過可視化碳中和實驗,碳…

數據結構自學Day13 -- 快速排序--“非遞歸利用棧實現”

一、快速排序回顧 快速排序本質上是**“分而治之”(Divide and Conquer)策略的遞歸應用。但遞歸其實就是函數棧的一種體現,因此我們也可以顯式使用棧(stack)來模擬遞歸過程**,從而實現非遞歸版本的快速排序…

前端數據庫:IndexedDB 基礎使用

前言 在現代 Web 開發中,隨著應用程序復雜度的增加,對本地存儲的需求也越來越高。雖然 localStorage 和 sessionStorage 可以滿足一些簡單的數據存儲需求,但當需要存儲大量結構化數據或進行復雜查詢時,它們就顯得力不從心了。這時…

Kubernetes深度解析:企業級容器編排平臺的核心實踐

引言:Kubernetes的戰略地位與核心價值在云原生技術生態中,??Kubernetes??已成為容器編排的事實標準。根據2023年全球云原生調查報告:全球??96%?? 的組織正在使用或評估Kubernetes企業生產環境Kubernetes采用率增長??400%??&#…

Netty中future和promise用法和區別

定義與概念 Future:表示一個異步操作的結果。它是只讀的,意味著你只能查看操作是否完成、是否成功、獲取結果或者異常等信息,但不能主動設置操作的結果。Promise:是 Future 的可寫擴展。它不僅可以像 Future 一樣查看操作結果&…

微算法科技(NASDAQ:MLGO)采用分布式哈希表優化區塊鏈索引結構,提高區塊鏈檢索效率

隨著區塊鏈技術的快速發展,其在各個領域的應用越來越廣泛。然而,區塊鏈數據的存儲和檢索效率問題一直是制約其發展的瓶頸之一。為了解決這一問題,微算法科技(NASDAQ:MLGO)采用了分布式哈希表(DHT)技術來優化…

Jmeter的元件使用介紹:(三)配置元件詳解01

Jmeter的配置元件有非常多,常用的有:信息頭管理器、Cookie管理器、用戶定義的變量、Http請求默認值、JDBC Connection Configuration、CSV 數據文件設置、計數器等,本文會對這些常用的配置元件一一介紹,還有其他很多配置元件&…

git 連接GitHub倉庫

一、安裝 git 包在官網下載 git 包二、通過SSH密鑰與GitHub遠程倉庫連接1. 檢查本地 SSH 密鑰是否存在ls -al ~/.ssh如果看到 id_rsa 和 id_rsa.pub,說明已有密鑰。2.如果沒有,生成新的 SSH 密鑰:ssh-keygen -t ed25519 -C "your_email…