博客 / 列表

王中陽講編程 - 為啥用GoZero快速實現AI應用開發後,我們又決定用字節的Eino重構優化項目呢?

大家好,我是王中陽,見字如面,感謝閲讀! 最近我們團隊在瘋狂的研究AI。期間不僅做了幾個還不錯的項目,也踩坑不少。下面我就分享一下,過去用GoZero開發了怎樣一個AI應用,以及為什麼現在要用字節的Eino重構和優化。 我們過去基於gozero實現AI面試官智能體項目,一方面搞定了從0到1開發AI智能體應用,各種造輪子;另一方面,模擬面試,也是我粉絲股東們很迫切的需求。 之所以使用GoZero,是

人工智能 , 程序員

王中陽講編程 - 某訊一面,有點難度

今天分享的是訓練營的朋友在某訊外包的面經,他在面完後跟我説:數據一致性策略好久沒問,有點忘了,所以這一塊答的不太好。 我一直都會和大家強調複習的重要性,尤其是這種常見的問題。看看下面的問題你都能答得上來嗎? 基礎部分 - MYSQL和Redis 一、MySQL索引分類 普通索引(INDEX) 這是最基本的索引類型,它沒有任何限制。它可以創建在任何數據類型的列上,主要目的是加

緩存 , 數據庫 , 後端

王中陽講編程 - 字節的後端實習二面,八股盛宴!

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

面試 , go , 後端

王中陽講編程 - 靈活分庫分表,面試的時候這麼説,加分!

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

分庫分表 , 面試 , 分表 , 分庫 , 後端

王中陽講編程 - 金九銀十,分享好上岸的中小廠面經!

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

面試 , 後端

王中陽講編程 - 為什麼很多公司都開始使用Go語言了?為啥這個話題這麼炸裂?

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

程序員 , go , 後端

王中陽講編程 - Python 的 PyPy 能追上 Go 的性能嗎?

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

go , 後端 , Python

王中陽講編程 - 我發現不管是Java還是Golang,懂AI之後,是真吃香!

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

llm , 人工智能 , prompt , go , 後端

王中陽講編程 - 我週末突發奇想,讓AI總結了我們最近做的項目:

見字如面,我是王中陽,祝大家升職加薪,早日上岸。 我週末突發奇想,讓AI總結了我們做的GoFrame分佈式微服務電商項目(https://mp.weixin.qq.com/s/ACzEHtvGh2YsU_4fxo83fQ),做的哪裏好?哪裏不好,有哪些優化的空間。 他是這麼説的: AI回覆:我需要幫你總結項目中關於分佈式微服務和高併發的優秀實踐。讓我先查看項目的主要架構和配置,然後分析其中的亮點

go , 後端

王中陽講編程 - ThreadLocal 為何能取代 Session?

本文探討了 Session 的原理及其與 Cookie 和 Token 的區別。Session 通過服務器端存儲 Session ID 來識別用户狀態,涵蓋創建、存儲、維護和銷燬的完整流程。與 Cookie 和 Token 比較,分析了它們在存儲、安全性、生命週期和應用場景上的差異。此外,Session 在高併發場景下可能面臨查找效率、代碼複雜性、線程安全、網絡傳輸和性能等問題。 為解決

threadlocal , 數據存儲 , session

王中陽講編程 - 面試必問:MyBatis 高頻面試題!

這些都是面試常見的問題,看看下面的問題你都能答得上來嗎? 1.什麼是 MyBatis?它有哪些主要特性和優勢? 2. mybatis 和數據庫交互的原理? 3. mybatis 中#{}、${}的區別 4. Mybatis 自帶連接池都有什麼? 5. Mybatis 的一級、二級緩存? 6. MyBatis 是如何進行分頁的?分頁插件的原理是什麼? 7. m

面試問題 , JAVA , 後端 , Mybatis

王中陽講編程 - 微服務門檻高到勸退?其實 90% 的人都踩錯了第一步

你是否也曾陷入這樣的循環:對着《微服務架構設計模式》啃了半年理論,卻連一個完整的服務拆分案例都寫不出來;GitHub上star過幾十個微服務開源項目,下載後看着幾百個模塊的代碼樹,連啓動命令都找不到;好不容易搭起一套框架,一到高併發場景就各種報錯,排查三天發現是服務註冊中心的配置沒配對…… 微服務的門檻,從來不在知道名詞,而在落地能力。今天結合幾個主流開源項目的實戰體驗,聊聊從看懂代碼到做出能用的

微服務 , 後端

王中陽講編程 - Docker磁盤滿了?這樣清理高效又安全

大家好,我是地鼠哥,最近在帶着大家做項目的時候碰到了一個印象很深的問題,和大家總結分享一下:明明代碼邏輯沒問題,部署時卻頻頻報錯,排查半天發現是服務器磁盤被佔滿了? 今天把解決思路整理出來,不僅能幫你快速釋放磁盤空間,也想順便安利下我們的項目課程(https://mp.weixin.qq.com/s/ACzEHtvGh2YsU_4fxo83fQ),裏面還包含了更多部署運維的實戰技巧哦~ 📌 問題

Docker , 後端

王中陽講編程 - 計算機就業看過來,16家寶藏外企分享

對於計算機專業就業方向,除了國內互聯網大廠,也可以將目光投向外企機會——這類企業不僅在薪資福利、工作平衡等方面具備顯著優勢,而且大多數在北上廣等一線城市設立研發中心或分部,為我們碼農提供了更多的崗位選擇。 最近也有一些小夥伴在諮詢我相關問題,所以我整理了這篇文章分享出來,都是一些比較出名的外企,下面一個一個介紹: 微軟(Microsoft) 企業簡介:全球最大軟件服務商,Windows/Offi

就業 , 計算機

王中陽講編程 - 該開始寫簡歷了

年後是找工作的熱潮,很多朋友已經開始準備簡歷了,那麼簡歷應該怎麼寫呢? 在此,我想分享一下個人見解。 我建議大家儘早開始撰寫簡歷。因為在這一過程中會對過往工作經歷和所學知識進行一個歸納總結,能讓我們迅速發現自己對哪些知識點還不太瞭解。 先花幾個小時完成一版初稿,不必一開始就力求完美,關鍵在於後續的優化。完成初稿後,根據簡歷的內容,制定複習計劃。在準備面試期間,持續完善簡歷。 初稿中的項目經歷可能缺

簡歷 , 後端

王中陽講編程 - 騰訊面試:大廠必問消息隊列場景面試題

今天,我將那些大廠必問的消息隊列的場景問題為大家整理出來,本文將跟大家一起來探討如何回答這些問題。 為什麼要使用消息隊列? 保證消息有序,一個topic只能有一個partition嗎?(消息順序) 業務突然增長,導致消息消費不過來怎麼辦?(消息積壓) 生產者收到寫入成功響應後消息一定不會丟失嗎?(消息丟失) 高併發場景下怎麼保證消息不會重複消費?(重複消費) 如何

騰訊 , 面試問題 , 消息隊列

王中陽講編程 - 騰訊面試:那些騰訊面試過的MySQL場景問題

今天我將那些騰訊面試過的 MySQL 場景問題給大家整理出來,本文將跟大家一起來探討如何回答這些問題。 1.一個 6 億的表 a,一個 3 億的表 b,通過外間 tid 關聯,你如何最快的查詢出滿足條件的第 50000 到第 50200 中的這 200 條數據記錄? 2.一條 sql 執行過長的時間,你如何優化,從哪些方面入手? 3.索引已經建好了,那我再插入一條數據,索引會有哪些

騰訊 , MySQL , 面試問題 , 數據庫

王中陽講編程 - 騰訊一面,感覺問Redis的難度不是很大

前不久,有位朋友去騰訊面試,他説被問到了很多關於 Redis 的問題,比如為什麼用 Redis 作為 MySQL 的緩存?Redis 中大量 key 集中過期怎麼辦?如何保證緩存和數據庫數據的一致性?我將它們整理出來,跟大家一起來探討如何回答這些問題,希望對大家有所幫助。 Redis 為什麼這麼快? 為什麼用 Redis 作為 MySQL 的緩存? Redis 除了做緩存,

redis , 騰訊 , 面試問題

王中陽講編程 - 騰訊一面:那些數據庫的高頻問題

幾個月前,有位朋友去騰訊面試,他説被問到了一系列關於數據庫的問題,比如三大範式是什麼,它們在數據庫設計中的作用是什麼?在數據庫中,常見的併發問題有哪些?如何通過事務管理避免這些問題?什麼是 MVCC(多版本併發控制)?本文將跟大家一起來探討如何回答這些問題。 這些數據庫相關的問題之所以在面試中頻繁出現,是因為在實際的開發工作中,數據庫的設計與優化、事務管理等方面至關重要。如果對這些知識掌握不紮實,

騰訊 , MySQL , 面試問題 , 數據庫

王中陽講編程 - 騰訊二面:Redis與MySQL雙寫一致性如何保證?

前不久,有位朋友去騰訊面試,他説被問到 Redis 與 MySQL 的一致性如何保證? 本文將跟大家一起來探討如何回答這個問題。 為什麼要使用 Redis? 首先為了提升服務器的性能,一般都是給服務器加上 redis,讓其作為數據庫的緩存。這樣,在客户端請求數據時,如果能在緩存中命中數據,那就查詢緩存,不用再去查詢數據庫,從而減輕數據庫的壓力,提高服務器的性能。 數據更新時,先更新數據庫,還是先更

redis , 騰訊 , MySQL , 面試問題

王中陽講編程 - 騰訊、阿里、B站最新面經彙總,有的妥妥的涼經

除了BAT(沒錯我説的B是B站的B),還有網易、希音科技、美柚等中小廠的最新面經。 這次投稿的同學行文幽默風趣,處處透漏着不成功便搞笑的騷氣。 祝他早日上岸,也歡迎大家在評論區討論這些面試題,有哪些面試題不知道怎麼回答好,可以在評論區討論留言,我會及時回覆的。 b站外包/go開發/一面 自我介紹 在百度什麼級別?t幾?(沒有技術級別,當時忘記自己是什麼級別了,説了個m,然後他説m是經理hhh

微服務 , 進階 , go , 後端

王中陽講編程 - 騰訊、阿里、B站最新面經彙總,有的妥妥的涼經。

除了BAT(沒錯我説的B是B站的B),還有網易、希音科技、美柚等中小廠的最新面經。 這次投稿的同學行文幽默風趣,處處透漏着不成功便搞笑的騷氣。 祝他早日上岸,也歡迎大家在評論區討論這些面試題,有哪些面試題不知道怎麼回答好,可以在評論區討論留言,我會及時回覆的。 b站外包/go開發/一面 自我介紹 在百度什麼級別?t幾?(沒有技術級別,當時忘記自己是什麼級別了,説了個m,然後他説m是經理hhh

微服務 , 進階 , go , 後端

王中陽講編程 - 騰訊互娛面經,希望別涼

面試題詳解 Go接口 接口在Golang中扮演着連接不同類型之間的橋樑,它定義了一組方法的集合,而不關心具體的實現。接口的作用主要體現在以下幾個方面: 多態性: 接口允許不同的類型實現相同的方法,從而實現多態性。這意味着我們可以使用接口類型來處理不同的對象,而不需要關心具體的類型。 package main import "fmt" type Animal interface { S

微服務 , 進階 , go , 後端

王中陽講編程 - Go-Zero自定義goctl實戰:定製化模板,加速你的微服務開發效率(四)

前言 上一篇文章帶你實現了Go-Zero和goctl:解鎖微服務開發的神器,快速上手指南,本文將繼續深入探討Go-Zero的強大之處,並介紹如何使用goctl工具實現模板定製化,並根據實際項目業務需求進行模板定製化實現。 通過本文的教程,你能夠親自實踐並完成goctl模板的定製化,進一步提升你的Go-Zero開發技能。 概述 goctl 代碼生成是基於 go 的模板去實現數據驅動的,默認情況會選擇

微服務 , 進階 , go , 後端