博客 / 列表

程序員小富 - 聊聊場景題:百萬人同時點贊怎麼辦?這個怎麼回答

大家發現了吧,現在面試八股文好像問的少了,反倒是場景題多了起來,畢竟現在AI如此強大,總揪着這點底層基礎也沒多大意思。 面試官張嘴閉嘴高併發、大數據量倒是真的,別管實際業務是不是高併發,但是你不會是進不來擰螺絲的。 就像之前有同學被問:“某音百萬用户同時給一個視頻點贊,讓你來要怎麼設計?”,這類題肯定見過吧。 咱們來簡單拆解下這題,我是一個小學習,知識量有限,不喜勿噴。 這道題到底考察什麼? 別上

JAVA , 後端

程序員小富 - 令牌桶VS漏桶:誰才是流量控制的“最優解”?

大家好,我是小富~ 面試被問到限流算法,很多面試官會讓直接手寫令牌桶和漏桶的實現。雖然平時用過Redis、Guava等現成的限流工具,但真要手寫還是有點慌。今天就來聊聊這兩種經典限流算法的區別,並用Java手寫實現。 很多的限流工具底層都應用了它們 一、令牌桶 vs 漏桶:核心區別 令牌桶 令牌桶的核心思想:固定容量的桶,以固定速率往桶裏放令牌,請求來了就從桶拿令牌,沒令牌就拒絕。 有點像買票進站

面試 , JAVA , 後端

程序員小富 - 面試被問:OOM類型有哪些?怎麼答?

大家好,我是小富~ 面試官:OOM類型有哪些? 你:就是老年代放不下了嘛! 面試官:等消息吧! OOM(Out Of Memory) 錯誤有多種類型,每種類型對應不同的內存區域或觸發場景。以下是常見的 OOM 類型及其產生原因: 1. java.lang.OutOfMemoryError: Java heap space 觸發原因:堆內存(存放對象實例)不足,無法分配新對象。

面試 , JAVA , 後端

程序員小富 - 上線別再“一刀切”!Gateway 做流量染色 + 灰度發佈,告別線上事故

大家好,我是小富~ 最近團隊迭代頻繁,連續幾周都在做新功能上線,從測試環境驗證到生產環境放量,全程謹小慎微沒出一次故障,主要是用好了 Spring Cloud Gateway 的 流量染色 和 灰度發佈。 很多同學面試時被問用過 SpringCloud Gateway 嗎?,只會説做限流、鑑權,但這些都是網關的基礎操作。要想出去吹,得説用網關解決線上新版本平穩上線的問題。比如今天要分享的流量染色

springboot , JAVA

程序員小富 - 別再亂排查了!Kafka 消息積壓、重複、丟失,根源基本都是 Rebalance!

大家好,我是小富~ 有次上線監控告警突然炸了,Kafka 訂單 Topic 消息積壓量突破 10 萬條,下游支付服務拿不到數據,部分用户付款後一直顯示處理中。 緊急登錄集羣排查,發現消費者組明明有 3 個節點,卻只有 1 個在正常消費,原來 10 分鐘前觸發了 Rebalance,另外兩個節點還卡在分區重新分配的狀態,導致消費能力直接砍半。 所以我的經驗是:Kafka出現消息積壓、重複、丟失這類問

JAVA , 後端

程序員小富 - 別再手寫過濾器!SpringCloud Gateway 內置30 個,少寫 80% 重複代碼

大家好,我是小富~ 我發現公司的網關項目裏有很多的輪子,幾乎每個人接手這個項目開發,都會自定義過濾器,導致有非常非常多的過濾器,修改其中一個,指不定就會影響其他的人功能,非常的惱火。 其實在 Spring Cloud Gateway 本身內置了很多通用的過濾器組件,有些功能無需重複開發,直接通過配置就能完成請求修改、參數處理、安全校驗等功能。但遺憾的是,很多同學只知道 RewritePath 等常

springboot , JAVA , 後端