@後端

動態 列表
@jianghushinian

Go 語言中你不知道的 io.Discard 妙用

公眾號首發:https://mp.weixin.qq.com/s/no995DjgiS3muyPSt2QhUg 在 Go 語言中,io.Discard 是一個實現了 io.Writer 接口的特殊變量,用於丟棄所有寫入的數據。 io.Discard 在 Go 1.15 及之前版本中是放在 io/ioutil 包中實現的。而在 Go 1.16 版本,得以正式轉正,被實現在 io 包中。本文我們來一起

jianghushinian 頭像

@jianghushinian

昵稱 江湖十年

@jianghushinian

在 Go 語言中如何實現協程池

公眾號首發:https://mp.weixin.qq.com/s/Xbk4QF7HFll102xaF5r_3Q 如果你熟悉 Java、Python 等編程語言,那麼你一定聽説或者使用過進程池或線程池。因為進程和線程不是越多越好,過多的進程或線程可能造成資源浪費和性能下降。所以池化技術在這些主流編程語言中非常流行,可以有效控制併發場景下資源使用量。 而 Go 語言則沒有提供多進程和多線程的支持,僅提

jianghushinian 頭像

@jianghushinian

昵稱 江湖十年

@jianghushinian

一行命令統計代碼行數

公眾號首發:https://mp.weixin.qq.com/s/N1JxiRnr5c4pq0RBo3RGYA 我在網上衝浪時,在 GitHub 上發現了一個感興趣的開源項目 OneX ,我將其下載到本地,現在我該如何知道這個項目的體量呢?一個非常直觀的指標是看這個項目有多少行代碼。 我們可以使用如下命令,來統計 OneX 項目代碼行數: $ cd onex $ find . -name "*.g

jianghushinian 頭像

@jianghushinian

昵稱 江湖十年

@jianghushinian

在 Go 中如何使用有限狀態機優雅解決程序中狀態轉換問題

公眾號首發地址:https://mp.weixin.qq.com/s/r8mqOUIoCu0713XcH3P1-Q 在編程中,有限狀態機(FSM)是管理複雜狀態流轉的優雅工具,其核心在於通過明確定義狀態、事件和轉換規則,將業務邏輯模塊化。本文將探討在 Go 中如何使用有限狀態機。 有限狀態機 在介紹有限狀態機之前,我們可以先來看一個示例程序: https://github.com/jianghus

jianghushinian 頭像

@jianghushinian

昵稱 江湖十年

@wangzhongyang_go

字節的後端實習二面,八股盛宴!

新的一週,祝你開心! 好久沒分享面經了,今天來個大的---字節的後端實習二面,簡直就是八股盛宴,問的太多太全面了。 面經詳解 1. 數據庫的隔離級別有哪些? 數據庫事務隔離級別主要分為四種,從低到高依次為: 讀未提交(Read Uncommitted) 允許事務讀取其他事務未提交的數據,可能導致髒讀、不可重複讀和幻讀。 讀已提交(Read Committ

wangzhongyang_go 頭像

@wangzhongyang_go

昵稱 王中陽講編程

@jianghushinian

在 Go 中為什麼推薦使用空結構體作為 Context 的 key

公眾號首發地址:https://mp.weixin.qq.com/s/TGNG34qJTI7SZOENidYBOA 我曾在《Go 中空結構體慣用法,我幫你總結全了!》一文中介紹過空結構體的多種用法,本文再來補充一種慣用法:將空結構體作為 Context 的 key 來進行安全傳值。 NOTE: 如果你對 Go 語言中的 Context 不夠熟悉,可以閲讀我的另一篇文章《Go 併發控制:con

jianghushinian 頭像

@jianghushinian

昵稱 江湖十年

@jianghushinian

Go 官方推薦的 Go 項目文件組織方式

公眾號首發:https://mp.weixin.qq.com/s/JwEPt3oZ3aY8ZzKddwnpiA 剛開始接觸 Go 的開發者大概都會遇到一個問題:我該如何組織我的 Go 項目?這種問題當然沒有標準答案,不過 Go 官方下場,給了廣大 Gopher 一個推薦模板。本文就來帶大家一起來學習一下 Go 官方對於 Go 項目佈局的指導原則。 本文以 Go 官方博客「Organizing a

jianghushinian 頭像

@jianghushinian

昵稱 江湖十年

@wangzhongyang_go

靈活分庫分表,面試的時候這麼説,加分!

最近收到一位粉絲的提問,關於分庫分表在面試中如何結合業務邏輯舉例的問題。 他提到之前使用 serverless 數據庫時沒涉及分庫分表,現在遇到了具體場景,想請教合適的方案。 這其實是面試中很常見的考點,既要看技術思路,更要看能否結合業務落地,今天就藉着這個問題展開聊聊。 前言 怕有些朋友沒有了解過這方面的知識點,先來解釋一下這些概念: 分庫分表的核心目標:解決單庫單表因數據量過大(如千萬 /

wangzhongyang_go 頭像

@wangzhongyang_go

昵稱 王中陽講編程

@chengxy

令牌桶VS漏桶:誰才是流量控制的“最優解”?

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

chengxy 頭像

@chengxy

昵稱 程序員小富

@chengxy

面試被問:OOM類型有哪些?怎麼答?

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

chengxy 頭像

@chengxy

昵稱 程序員小富

@wangzhongyang_go

金九銀十,分享好上岸的中小廠面經!

先來問一下大家,如果你現在拿到兩個offer,一個是薪資更高的中小廠,一個是規模大、技術先進的大廠,你會選擇哪個offer? 不少粉絲股東留言説上岸大廠太難了,有沒有好上岸的中小廠的最新面經。 必須安排,今天分享一位朋友社招的面經: 富途 一面 http相較於https多了什麼步驟? https證書為什麼一邊是對稱加密,一邊是非對稱加密(沒有回答出來) 解析:非對稱加密是為了保護證書裏的對

wangzhongyang_go 頭像

@wangzhongyang_go

昵稱 王中陽講編程

@jianghushinian

萬字長文:徹底掌握 Go 1.23 中的迭代器——使用篇

公眾號首發地址:https://mp.weixin.qq.com/s/t47eJ9rYK2CZ-hIbjx7kSg 本文帶大家一起來深入探究一下 Go 1.23 中發佈的迭代器特性,這是一篇遲來的文章,再不寫這篇文章 Go 1.25 就發佈了 :),Go 1.25 預計將於 2025 年 8 月發佈。 由於篇幅過長,所以文章拆分成了上下兩篇發佈,本文為上篇——使用篇。下篇為——原理篇,記得來讀。

jianghushinian 頭像

@jianghushinian

昵稱 江湖十年

@wzybhdnr

從簡歷石沉大海到面試官追着聊項目,差的是什麼?

最近幫幾個學員改簡歷,發現一個很有意思的現象:同樣是寫熟悉Golang+Gin開發,有人能拿到騰訊二面,有人連初篩都過不了。細問才知道,前者的項目欄寫着校園閃送系統(上線運營,日活3000+),後者則是圖書管理系統(課程設計)。 不是説課程設計沒用,而是校招時,面試官一天要刷50份簡歷,能讓他們停下來的,永遠是能落地、有細節、可驗證的實戰項目。今天就聊聊,後端開發者該如何靠項目破局,以及哪些資源能

wzybhdnr 頭像

@wzybhdnr

昵稱 王中陽背後的男人

@yufan_645f1d6e3f1d1

產品管理的第一性原理

本文介紹了產品管理的第一性原理,即“最大化使命的影響”以及“通過他人達成目標”,並通過體育教練來類比產品經理,剖析了產品管理的基本原則。原文:The First Principles of Product Management 我所認識的一些最出色的產品經理都會基於第一性原理來做決策,第一性原理指的是“無法從任何其他命題或假設中推導出來,最基本的、基礎性的命題或假設”。 一個例子是我們為開發

@shuyixiaobututou

用數據照亮成長之路:PandaCoder Git 統計工具窗口

✨ 關於本工具 這份統計報告的初衷,是幫助每一位程序員更清晰地瞭解自己的代碼狀態。 通過觀察代碼的增刪趨勢,我們可以反思:是否每次都在朝着正確的方向前進? 是否能夠一次性寫出高質量的代碼,減少返工和修改? 這不是績效考核工具,而是自我提升的鏡子。 願每一次提交都是深思熟慮的結晶,願每一行代碼都經得起時間的考驗。 —— 讓代碼更優雅,讓技術更精進 📊 什

shuyixiaobututou 頭像

@shuyixiaobututou

昵稱 舒一笑不禿頭

@wangzhongyang_go

為什麼很多公司都開始使用Go語言了?為啥這個話題這麼炸裂?

大家好,我是王中陽,見字如面。 今天刷掘金時,一篇關於Go語言的舊文(《為什麼很多公司都開始使用Go語言了?》)意外被推到眼前,點開評論區瞬間被“炸裂”的討論震撼——數百條留言裏,有對語言特性的犀利吐槽,有對就業前景的焦慮傾訴,也有對技術選型的理性思辨。 這場兩年前的爭論,至今仍能戳中後端開發者的核心關切。 結合自己的從業經驗與評論區大神們的觀點,再對照2025年的市場行情,我想聊聊Go與Java

wangzhongyang_go 頭像

@wangzhongyang_go

昵稱 王中陽講編程

@fannaodeshafa

別再用 if err != nil 了,學會這幾個技巧,假裝自己是Go高手

一提到 Go 的錯誤處理,大家腦海裏可能立馬浮現出滿屏的 if err != nil。它邏輯清晰,非常符合 Go 的設計哲學,這個沒法反駁。 但我發現僅僅會寫 if err != nil 是遠遠不夠的。這就像學車,拿到駕照只是第一步,上路還得重新學習。Go 官方也明確表示,未來不會引入類似 try-catch 的新語法,所以我們必須在現有的模式上玩出花來。 那些真正厲害的 Go 開發者,他們寫的系

fannaodeshafa 頭像

@fannaodeshafa

昵稱 煩惱的沙發

@wangzhongyang_go

Python 的 PyPy 能追上 Go 的性能嗎?

在我們選擇用哪種編程語言進行後端開發的時候,Python 和 Go 似乎代表了兩種極端: Python 以人生苦短我用Python的開發效率聞名,卻經常因性能被調侃為慢如龜速; Go 則以編譯即部署的輕量和高併發性能成為雲原生時代的寵兒,卻因語法簡陋被吐槽開發像搬磚。 而 PyPy 的出現,像給 Python 注射了一劑強心針,這個基於 JIT(即時編譯)的 Python 解釋器,宣稱能讓 Pyt

wangzhongyang_go 頭像

@wangzhongyang_go

昵稱 王中陽講編程

@wzybhdnr

給想轉Go或者Go進階同學的一些建議

前言 最近一直有小夥伴私信我學Go語言的問題: 有的小夥伴覺得客户端太捲了,想轉服務端,覺得Java也卷,想學Go語言; 有的小夥伴是想從PHP或者Java轉Go,做高併發編程,覺得Go更有前途。 聊的多了,發現這是一個共性問題,所以乾脆整理成文章,希望對更多的人有幫助。 這篇文章會結合我的經歷: 聊聊我認為客户端轉服務端開發最大的挑戰是什麼? 如何高效轉型做服務端開發?如何高效學完Go基礎? 在

wzybhdnr 頭像

@wzybhdnr

昵稱 王中陽背後的男人

@innsane

重新認識 Golang 中的 json 編解碼

歡迎訪問我的個人小站 瑩的網絡日誌 ,不定時更新文章和技術博客~ json 是我的老朋友,上份工作開發 web 應用時就作為前後端數據交流的協議,現在也是用 json 數據持久化到數據庫。雖然面熟得很但還遠遠達不到知根知底,而且在邊界的探索上越發束手束腳。比如之前想寫一個範型的結構提高通用性,但是不清楚對範型的支持如何,思來想去還是用了普通類型;還有項目中的規範不允許使用指針類型的字段存儲,我一直

innsane 頭像

@innsane

昵稱 瑩醬

@wangzhongyang_go

我發現不管是Java還是Golang,懂AI之後,是真吃香!

見字如面,我是陽哥,我的文章都首發在同名公眾號:王中陽,歡迎鏈接。 兄弟們,不管你是什麼崗位,強烈建議學AI,我最近輔導的同學很多都是因為做了AI項目,拿到了遠超預期的Offer。 這篇文章不是廣告,而是告訴你怎麼在懂後端基礎之後,更好的擁抱AI的技術,怎麼學,學完後怎麼應用? 甚至你想跳槽漲薪的話,怎麼把學的AI知識寫到簡歷中,融合到你過去的項目中。 廢話不説,其實兄弟們也感受到了:純做

wangzhongyang_go 頭像

@wangzhongyang_go

昵稱 王中陽講編程

@wzybhdnr

Go 語言為什麼值得學習?

Go 語言為什麼值得學習? 下面通過我的親身經歷,結合 2025 年最新行業趨勢,聊聊為什麼 Go 語言依然是程序員最值得投資的技能 我的經歷 我是 2015 年夏天入行編程,用 Java 做 Android 開發。那年恰逢中關村創業熱潮,還沒有小程序的年代,地推下載 APP 是行業常態。我幸運趕上了黃金期 ——5 天拿到 6 個 offer,完全是企業搶人的 “供不應求” 狀態。但到了 15 年

wzybhdnr 頭像

@wzybhdnr

昵稱 王中陽背後的男人

@fannaodeshafa

PHP、Python、Node.js,誰能稱霸2025?

在Web開發領域,關於PHP、Python和Node.js的討論從未停止。今天不是PHP嘎,就是明天Node.js藥丸,2025年過去了四分之三,到底誰更有優勢?在即將到來的2026年,到底要學哪一種語言? PHP:依然是Web世界最好的語言 吾日三省吾身:PHP正在死去嗎?PHP已經死了嗎?PHP埋了嗎? 很多人年年都在説PHP的沒救了,但事實是,它依然支撐着互聯網上絕大多數的網站。WordPr

fannaodeshafa 頭像

@fannaodeshafa

昵稱 煩惱的沙發

@hebeiniunai

MySQL隔離級別:大廠為何偏愛RC?

引言 ​ 在剛畢業的時候,初入某家互聯網金融公司,作為杭州的某中廠,我看到其數據庫的事務隔離級別為 RR,所以很長的一段時間內,我都認為,數據庫的隔離級別就應該是 RR。直到後來入職杭州的某電商大廠,我才發現其實在大廠往往會將這個默認的數據庫級別更改為 RC,那麼為什麼會做出這種選擇呢? 1. 理解隔離級別:RR 與 RC 的核心差異 ​ 當數據庫上存在多個事務一起執行的時候,就有可能出現髒讀、不

hebeiniunai 頭像

@hebeiniunai

昵稱 Issue