大廠面試助手(十二):場景和設計

場景和設計

  • 爲何要這樣分表?跨庫join如何解決?數據量突增怎麼解決? 如何解決線上問題?cpu狂飆怎麼辦?頻繁minor gc怎麼辦?可能形成的緣由是什麼?如何避免? 數據庫 隔離級別,怎麼實現的?當前讀,快照讀?MVCC?
  • 分庫分表的設計? 分佈式事務出現過不一致嗎?爲何?怎麼解決?有什麼方法避免?怎麼監控?監控到怎麼處理?何時須要人工接入
  • 如何優雅的寫代碼?什麼代碼算作優雅?什麼代碼是規範?大家代碼規範是什麼樣的? 如何進行code review?
  • mysql innodb下,能不能不設置主鍵?主鍵能夠爲空嗎?能夠容許幾個?主鍵跟非主鍵的區別?索引存儲形式? 聯合索引失效問題?索引失效問題?mysql索引,覆蓋索引?回表?B+樹葉子節點存儲什麼?爲何不用AVL樹? 數據庫鎖,樂觀,悲觀,record lock?next-key lock?
  • 不停機擴容?分表避免冷熱?不停機擴庫?不停機擴表?跨庫事務?
  • Redis與Mysql雙寫一致性方案
  • 微服務須要注意些什麼?
  • redis併發競爭key的解決方案
  • 高併發系統的設計與實現
  • 高併發系統的限流如何實現?
  • 如何從0到1設計一個相似Dubbo的RPC框架?
  • 線上有實際的性能優化經驗? 三、從SQL、JVM、架構、數據庫四個方面講講優化思路,以及如何優先排序?
  • 若是讓你實現一個mq,怎麼樣保證消息不丟失
  • 從簡單的生產者消費者模式設計到如何高效健壯實現等等
  • 而後根據一個項目,問若是量級擴大1000倍,你會怎麼作?
  • 若是讓你作一個監控告警服務,你怎麼設計
  • 若是生產者生產的數據量不少,消費者來不及消費這些數據怎麼辦,
  • 某一個業務中如今須要生成全局惟一的遞增 ID, 併發量很是大, 怎麼作
  • 考慮一個業務場景: 頭條的文章的評論量很是大, 好比說一篇熱門文章就有幾百萬的評論, 設計一個後端服務, 實現評論的時序展現與分頁
  • 假如用 id 翻頁的方式, 數據庫表如何設計?索引如何設計? 假如量很大, 你以爲須要分庫分表嗎? 怎麼分? 分庫分表後怎麼查詢分頁? 分庫分表後怎麼保證主鍵仍然是遞增的? 如今須要支持深分頁, 頁碼直接跳轉, 怎麼實現?
  • 工做當中cpu和內存異常排查方法;詳細說明分析過程及定位解決方式
  • redis問了一個實際問題的解決辦法,若是redis一個value特別大,有什麼解決方案;
  • 接口調用變慢排查
  • 解決項目運行時,CPU佔用太高的問題
  • 死鎖怎麼排查?
  • 怎麼不斷優化項目、架構升級?若是業務量劇增,怎麼保證系統高可用、擴展性?
  • 系統負載太高怎麼辦、什麼問題致使的?怎麼排查?
  • JVM調優思路
  • redis cluster集羣擴容怎麼數據平滑過分,從客戶端設計
  • 設計一個im系統包括羣聊單聊
  • 設計數據庫鏈接池
  • 秒殺場景的設計
  • VM 出現 fullGC 很頻繁,怎麼去線上排查問題?
  • 設計一個系統,天天有100億條數據,須要在後臺作實時展現和查找。 我當時回答的大致思路是nginx負載均衡,消息隊列存儲,多線程讀取,批量插入,數據庫分庫分表。 面試官根據個人回答又衍生出了不少問題,如消息隊列存滿了怎麼辦?(也就是消費跟不上生產)批量插入時某一條失敗了有什麼影響?怎麼解決?分庫分表應該怎麼分?怎麼解決數據遷移的問題?
  • 內存泄露,內存溢出解決方案?
  • A系統和B系統須要交互,A系統須要更新B系統的大量數據,可是更新失敗了,有什麼解決方法。
  • 高併發場景 一、如何定時得往數據庫中插入500萬條數據以及刪除,保證數據插入正確作到最優解; 二、在高併發下如何設計使用Redis;三、在高併發場景下如何設計一個接口,保證這個接口高性能高可用;
  • 如何讀取一個很大得文件裏面存入了不少url怎麼找到最經常使用得url;
  • 若是頁面點擊反應慢,你怎麼排查的?最後怎麼優化? 分佈式你怎麼怎麼保持數據一致性的 說一下springboot啓動run方法裏都幹了什麼 給你ip1到ip2的一個ip段,再給你一個ip,用程序判斷這個ip屬不屬於這個ip段 講一下zk 大家zk掛了怎麼處理的,大家redis掛了用的什麼策略解決的
  • 兩個10G的文件,裏面是一些url,內存只有1G,如何將這兩個文件合併,找到相同的url?
  • 100W 的數據,須要定時更新,失敗須要重試,須要儘快執行完成。如今機器數量不固定,如何用最少的代碼實現
  • 一個任務在平時只須要 5 個線程就能夠處理好,忙的時候須要 100 個線程才能處理完成, 如何設計才能合理利用資源?
  • 規定給出的併發量外,若是有額外的流量訪問進來了,如何作熔斷處理?
  • 搜索時延這麼高,該如何進行優化?如何提升響應速度?如何優化以提高用戶體驗度?
  • 如何實現何高併發下的削峯,限流?
  • 服務器雪崩是怎麼形成的?以前有這樣的經歷嗎?怎麼防備?
  • 內存500M,有個文件存有int類型數據1億條,要去讀取,怎麼處理
  • 從需求到開發到上線。如何對需求進行有效管理?
  • 假設有一個場景,系統須要某個特定時間內響應用戶請求,好比說100ms內完成用戶請求,可是在最高峯的時候每單位時間幾百萬的用戶請求,也就是高併發,但我必需要實現系統響應及時,並且高可用(不宕機),假如你是架構師,你該如何架構這個系統,聊聊你的方案。
  • 若是要對系統進行監控,考慮哪些方面,如何實現?
  • 若是你如今CPU100%了,你如何查詢是哪一個進程,哪一個線程,哪行代碼佔用CPU太高?
  • 本身寫程序實現MySQL不一樣實例之間的導表/要求儘可能高併發高效/給出設計
  • 前臺訂單數據庫如何與倉庫庫存數據庫保持同步?限時搶購如何實現?
  • 場景:同時給10萬我的發工資,怎麼樣設計併發方案,能確保在1分鐘內所有發完?
  • 設計一個訂餐排隊系統,底層模型有哪些?(客戶,商家,桌型)
  • 單臺機器4核,服務A請求時間爲5S,可是A調用的某個服務B耗時4.98S,A服務超時時間是10S,問100QPS的訪問量,動態線程池CoreSize,maxSize,等待隊列怎麼指定?
  • 多個平臺(B端C端)有多個支付的接口可利用,如何設計表;
  • 給你100億個帳號和密碼,怎麼用純Java本身設計一個緩存系統;
  • 問重啓服務的時候,發現線程數特別高,多是什麼問題?
  • 秒殺系統如何設計?
  • 如何實現1億用戶的消息通知機制?
  • 秒殺業務怎樣防止超賣;
  • 怎麼搭建一個自動化構建和發佈環境,怎麼從0開始搭建一個測試環境
  • 分佈式緩存實現原理,秒殺業務怎樣防止超賣;
  • 系統在10:05 設置一個值,並給出5分鐘的過時時間,系統剛剛set完以後redis集羣崩潰,10:11分系統重啓成功,那麼redis中set的值是否還存在?
  • 成千上萬個數據文件,每一個文件大概2GB數據量,只用java基礎實現全部數據的讀取,並按每條數據的時間排序;
  • 設計十萬併發級別的網站後臺,如何計算使用的ecs數目;
  • 10G的整數中,取出最大的一個;
  • 設計一個系統,天天有100億條數據,須要在後臺作實時展現和查找。
歡迎搜索關注本人與朋友共同開發的微信面經小程序【大廠面試助手】和公衆號【微瞰技術】
相關文章
相關標籤/搜索