這裏記錄每週值得分享的科技內容,週五發佈。
本雜誌 開源 [1] ,歡迎 投稿 [2] 。另有 《誰在招人》 [3] 服務,發佈程序員招聘信息。合作請 郵件聯繫 [4] ( [email protected] [5] )。
封面圖
唐山河頭老街景區的軌道車“大唐雲車”。( via [6] )
未來如何招聘程序員
前些天,討論區有一個 帖子 [7] ,提出一個問題。
如果未來的代碼都是 AI 寫的,那麼我們 怎麼招聘程序員 [8] 呢?
程序員負責代碼,但代碼是 AI 寫的,不是程序員寫的,那麼應該怎麼面試他呢?
你仔細想想,這個問題比預想的難多了。
首先,考察他的代碼能力不重要(代碼不是他寫的),更重要的是考察他會不會 AI 。只要善於使用 AI,能夠產出合格的代碼,對公司來說就是合格的人選。
但是,什麼樣的面試問題,能夠考察出一個人是否掌握 AI?下面是我想出的一些問題:
• 請將一個複雜的項目需求,轉化成提示詞,要求是清晰、邏輯性強、切中要害。 • 描述一個你認爲需要使用 Skill 和 MCP 的場景,並闡述它們的工作原理和構建方法。 • 如何將一個大項目分解,設計出一個多 Agent 協同工作的機制。 • ……
這些問題能識別出 AI 編程高手嗎?我完全沒有把握。
其次,除了 AI,還要考察什麼呢? 這也很不好想。
我應該還會問一些架構問題,你可以不寫代碼,但要懂怎麼組織代碼,架構出一個系統。但我也不確定這是必需的,因爲 AI 生成的大型系統遲早變成一個黑箱,可能對於架構知識的要求也不是很高。
另外,我還要看看他以前的項目 ,如果以前他用 AI 做過類似的東西,那麼應該問題不大。但這也不可靠,且不說完全類似的項目非常少,就看 AI 進化速度這麼快,兩年前的經驗早不適用了吧。
總之我發現,很難確定什麼面試問題是一定有效的,能夠可信地篩選出合格的應聘者。AI 顛覆了軟件開發,也連帶顛覆了程序員面試。大家有好的面試問題嗎?
有一點是確定的, 面試各種編程細節意義不大了 ,因爲你不需要記住語法細節了,直接問大模型就行。
科技動態
1、 訪達小子 [9]
蘋果公司最近發佈了 Macbook Neo,有人注意到,官方的 Tiktok 宣傳海報裏面出現了一個全新的吉祥物(下圖)。
上面海報的左上角有一個玩偶,以前沒見過。
這個玩偶明顯來自 Mac 電腦的訪達工具(Finder),所以被稱爲“訪達小子”(Lil Finder Guy)。
幾天後,蘋果公司又在一場直播裏面,使用了這個形象。
人們紛紛猜測,這到底是偶然的行爲,還是蘋果公司真的會推出它作爲吉祥物?
熱心的網友讓 AI 繪製了“訪達小子”的完整形象。
看上去很可愛,就跟 Labubu 似的,有可能大受歡迎。
2、 紅外線編碼 [10]
英國科學家發明了一種新的通信方式,通過熱輻射二極管,將數字信號以熱量形式傳遞。
肉眼看不見這種信號(因爲它是紅外線),也檢測不到無線電波,但是它的熱量以編碼方式散發,在紅外線熱成像儀上能識別(上圖)。
因此,這種方法接收信號需要熱成像儀,再傳入電腦的解碼器。這可能對某些工業和軍事場景很有用。
3、 機櫃種植 [11]
家裏有多餘的服務器機櫃,怎麼利用起來?
一個國外程序員想到機櫃裏面有電源,拉線和擱板都很方便,可以用來水培種植。
他買了一些 LED 燈帶,用來模擬日照,每一層還安裝了一個泵,用來自動進排水。
如果你想在家裏種一些暖房植物,或者需要長時間光照的植物,服務器機櫃確實是一個很好的方案。
文章
1、 我放棄了 Elasticsearch,轉而使用 Meilisearch [12] (英文)
Meilisearch [13] 是一種開源的搜索軟件,作者介紹怎麼用它替代 Elasticsearch。
2、 2016 年,我做過一次 AI 寫代碼創業 [14] (中文)
作者徐宥(Eric Xu)回憶他在2016年的 AI 創業,當時他想訓練一個大模型,需要25萬美元,但是找不到投資人。( @gengxiuli [15] 投稿)
3、 信息過載時代,我的漏斗式閱讀工作流 [16] (中文)
每天有太多東西值得看,作者介紹他的信息處理工作流,通過 AI 過濾出值得讀的內容。( @shawnxie94 [17] 投稿)
4、 編譯器的前端與後端 [18] (英文)
一篇科普文章,介紹編譯器(比如 LLVM)的前端和後端的概念。
5、 CSS 的 lh 單位 [19] (英文)
CSS 有一個字體大小屬性
lh
,表示行高。
6、 尋覓杜鵑花之王 [20] (中文)
大樹杜鵑是最高大的杜鵑,是一顆會開花的大樹(上圖),1919年由英國人在雲南發現。
後來,這個英國人死在雲南,就無人知道哪裏有這種杜鵑了,直到1982年才重新在高黎貢山找到。本文講述這種植物的故事。
工具
1、 APTUI [21]
一個 Linux 的終端應用,用於充當 Debian/Ubuntu 安裝管理器,管理 APT 軟件包。
2、 my.WordPress.net [22]
如果你想嘗試 WordPress,但沒有服務器,可以使用官方新推出的這個服務,打開上面網址就可以了。
它把所有 PHP 腳本編譯成 JS,在本地運行,不需要服務器,而且數據都在你的瀏覽器,下次打開這個網址,網站數據還在,參見 介紹文章 [23] 。
3、 GrobPaint [24]
一個跨平臺的圖像編輯器,特點就是非常輕量級,可以在瀏覽器運行,也可以編譯成二進制文件。
4、 Apple Matting [25]
一個 Mac 摳圖軟件,大小隻有 8MB。( @pangxiaobin [26] 投稿)
5、 HealthTick [27]
macOS 菜單欄久坐提醒工具。( @lifedever [28] 投稿)
6、 CheatReader [29]
一個跨平臺的閱讀軟件,可以懸浮在桌面上,支持單行模式,適合想在工作流裏“偷偷讀書”的人。( @yaoyao2mm [30] 投稿)
7、 錘子便籤 [31]
開源的網頁版錘子便籤,可以作爲 Skill 調用。( @zhaoolee [32] 投稿)
8、 WeChat Download API [33]
開源的微信公衆號轉 RSS 工具。( @tmwgsicp [34] 投稿)
9、 Speech Speed [35]
一個很有意思的 Chrome 插件,根據語速調節視頻播放速度。如果劇中人說話慢,視頻就快速播放,說話快,就慢速播放。
AI 相關
1、 VibeGo [36]
Vibe Coding 的開源 Web IDE,支持 Claude Code、Gemini CLI、CodeX、OpenCode 等。( @xxnuo [37] 投稿)
2、 Mimic Them [38]
一個開源應用,使用字節 seedream 圖像模型,復刻小紅書的圖文筆記,從一篇可以衍生出另一篇。( @zhanchey [39] 投稿)
3、 AICheck [40]
一個 Rust 語言編寫的命令行工具,離線檢測圖片、視頻、音頻和文檔是否由 AI 生成。( @MatrixA [41] 投稿)
4、 AionUi [42]
開源的 Cowork 與 OpenClaw 的替代品,自動化各種電腦操作。( @cdxiaodong [43] 投稿)
5、 Lumo [44]
一個 Claude Code 的本地桌面工作臺,查看成本、Token、會話和編碼時段數據。( @zhnd [45] 投稿)
6、 AIComicBuilder [46]
開源的 AI 動漫視頻生成系統,只需輸入文字劇本,即可自動完成角色提取、分鏡設計、關鍵幀生成、視頻合成的全流程。( @twwch [47] 投稿)
資源
1、 canirun.ai [48]
網頁檢測你的機器,能夠運行哪些本地的 AI 模型。
2、 AI 是怎麼回事 [49] (中文)
面向普通讀者的通俗 AI 原理教程。( @wmyskxz [50] 投稿)
3、 TypeScript 數據結構與算法 [51] (Algorithms with TypeScript)
免費閱讀的英文電子書,使用 TypeScript 語言介紹數據結構和算法。
4、 頻道衝浪者 [52] (Channel Surfer)
這個網頁把 Youtube 改成傳統的電視頻道,每個頻道都有節目表,可以切換頻道。如果你不知道用 Youtube 看什麼,就可以看這個網站。
圖片
1、 巧妙的古建築 [53]
因爲缺乏機械和動力,古代建築物往往包含了很多巧思。
(1)19世紀的英國麥克爾斯菲爾德運河,由於沒有水位落差,需要馬拉着船前進。
有時,馬的牽引道從河的一邊轉到了另一邊,馬這時就需要過河。
爲了不解開牽引繩,馬就能過河,工程師就設計了“蛇橋”,馬可以直接走上去,中間還有讓牽引繩通過的孔。
(2)法國南部的巴爾貝加爾水磨坊,建於公元2世紀,現在只剩下了遺址。
這個磨坊的位置在山坡上,連續建了16個相互連接的水車,充分利用了水能,每天能夠生產25噸麪粉,被認爲是歐洲第一個大規模工業生產的磨坊。
(3)伊朗納什提凡的古代風車,建在連片的屋頂上,一根木軸安裝了由粘土、稻草和木材做成的立軸式風帆,強風會帶動木軸,轉動下面屋子裏的磨盤,來磨碎穀物。
(4)中國西安的秦代上林苑遺址,發現了戰國時期的陶瓷水管,現保存於西安博物院。
文摘
1、 避免使用定製框架 [54]
很多小團隊在工作中,往往會發明自己的“定製框架”。
他們原來使用的是通用框架,但有不滿意之處,於是決定在通用框架基礎上定製自己的框架。
這種“定製框架”有一些共同特點:
(1)由小團隊創建,旨在解決他們的痛點;
(2)底層是其他更通用的技術棧或框架;
(3)引入原有技術棧不存在的新概念和術語;
(4)創建者聲稱這個定製框架“神奇地”解決了許多問題,並推廣更多人使用它。
我的個人經驗是,“定製框架”非常難用,引入了許多新概念,意圖掩蓋它帶來的更多複雜性。
我建議,大家避免使用“定製框架”,原因有下面這些:
(1)定製框架常常聲稱,它們能消除或隱藏原始框架“不必要的複雜性”,但實際上做不到。即使定製框架能很好地處理80%的用例,但是因爲引入了新的語法,剩餘20%的用例就不如原始框架的靈活性和功能性。
(2)定製框架不易改動。它僅對開發團隊的用例建模,以解決他們的特定問題,未來需求變化時,往往跟不上。另外,定製框架通常改動了原始框架的實現細節,而原始框架將來隨時可能變動,你修改的細節越多,就越難跟上原始框架的變動。
(3)定製框架反映了開發團隊的心理模型,這些團隊專注於自己的問題,往往有很強的個人意見。這本身是好事,但也使得定製框架不適合其他人的心理模型。
(4)定製框架往往導致技術棧碎片化。你改動的只是跟你相關的一部分,其他部分保持不變。隨着新的層不斷增加,框架變得越來越難整體遷移,必須不斷改動你原來沒改的部分。
(5)定製框架缺乏維護。通用技術往往有一個專門團隊或公司來維護,但定製框架通常由一兩個創建者擁有。一旦他們離開團隊或公司,就很難找到接班人。定製框架很大可能會隨着原作者離開而消失,除非在此之前獲得了大量採用,纔有人願意接手,而這種情況很少發生。
我不是說,你不要開發自己的框架,而是建議最好遵循三個原則:(1)新概念引入越少越好,(2)優先創建庫,而不是框架。(3)不要做現有框架的包裝器,而要從零開始構建。
言論
1、
我想要的網絡世界,是一個萬物皆可塑的世界,讓你不由自主地成爲創造者。
-- David Miranda [55]
2、
AI 讓軟件的成本從代碼轉移到測試和文檔,一套好的測試套件的價值可能比編寫代碼本身更高。
-- lucumr.pocoo.org [56]
3、
編程的核心在於抽象,即用一種遠離底層技術的高級思維方式來思考代碼。
-- 《生活在“平面國”的程序員》 [57]
4、
領導力就是讓別人去做你想讓他們做的事,而且是心甘情願的。
-- 艾森豪威爾 [58] ,美國前總統
往年回顧
面試的 AI 作弊----用數字人去面試 [59] (#342)
一次尷尬的服務器被黑 [61] ( #242 )
最大的機會來自新技術 [62] ( #192 )
(完)
References
[1]
開源:
https://github.com/ruanyf/weekly
[2]
投稿:
https://github.com/ruanyf/weekly/issues
[3]
《誰在招人》:
https://github.com/ruanyf/weekly/issues/9088
[4]
郵件聯繫:
mailto:[email protected]
[5]
[email protected]:
mailto:[email protected]
[6]
via:
https://view.inews.qq.com/k/20260204A01P0P00
[7]
帖子:
https://github.com/ruanyf/weekly/issues/9238
[8]
怎麼招聘程序員:
https://github.com/vorojar/ai-native-hiring-guide
[9]
訪達小子:
https://basicappleguy.com/basicappleblog/lil-finder-guy
[10]
紅外線編碼:
https://www.unsw.edu.au/newsroom/news/2026/03/New-negative-light-technology-hides-data-transfers-in-plain-sight
[11]
機櫃種植:
https://sa.lj.am/rack-mount-hydroponics/
[12]
我放棄了 Elasticsearch,轉而使用 Meilisearch:
https://www.anisafifi.com/en/blog/i-ditched-elasticsearch-for-meilisearch-heres-what-nobody-tells-you/
[13]
Meilisearch:
https://github.com/meilisearch/meilisearch
[14]
2016 年,我做過一次 AI 寫代碼創業:
https://blog.youxu.info/2026/01/14/ai-codes-retrospective/
[15]
@gengxiuli:
https://github.com/ruanyf/weekly/issues/9296
[16]
信息過載時代,我的漏斗式閱讀工作流:
https://shawnxie.top/blogs/tools/read-flow-2026.html
[17]
@shawnxie94:
https://github.com/ruanyf/weekly/issues/9282
[18]
編譯器的前端與後端:
https://medium.com/packt-hub/the-world-of-compiler-backends-9b27a3e37866
[19]
CSS 的 lh 單位:
https://webkit.org/blog/16831/line-height-units/
[20]
尋覓杜鵑花之王:
https://blog.sciencenet.cn/home.php?mod=space&uid=52727&do=blog&id=1525508
[21]
APTUI:
https://github.com/mexirica/aptui
[22]
my.WordPress.net:
https://my.wordpress.net/
[23]
介紹文章:
https://wordpress.org/news/2026/03/announcing-my-wordpress/
[24]
GrobPaint:
https://github.com/groverburger/grobpaint
[25]
Apple Matting:
https://matting.lingxiangtools.top
[26]
@pangxiaobin:
https://github.com/ruanyf/weekly/issues/9241
[27]
HealthTick:
https://github.com/lifedever/health-tick-release
[28]
@lifedever:
https://github.com/ruanyf/weekly/issues/9242
[29]
CheatReader:
https://github.com/yaoyao2mm/cheatreader
[30]
@yaoyao2mm:
https://github.com/ruanyf/weekly/issues/9247
[31]
錘子便籤:
https://github.com/zhaoolee/notes
[32]
@zhaoolee:
https://github.com/ruanyf/weekly/issues/9274
[33]
WeChat Download API:
https://github.com/tmwgsicp/wechat-download-api
[34]
@tmwgsicp:
https://github.com/ruanyf/weekly/issues/9295
[35]
Speech Speed:
https://github.com/ywong137/speech-speed
[36]
VibeGo:
https://github.com/xxnuo/VibeGo
[37]
@xxnuo:
https://github.com/ruanyf/weekly/issues/9281
[38]
Mimic Them:
https://github.com/zhanchey/MimicThem
[39]
@zhanchey:
https://github.com/ruanyf/weekly/issues/9215
[40]
AICheck:
https://github.com/MatrixA/aicheck
[41]
@MatrixA:
https://github.com/ruanyf/weekly/issues/9219
[42]
AionUi:
https://github.com/iOfficeAI/AionUi
[43]
@cdxiaodong:
https://github.com/ruanyf/weekly/issues/9236
[44]
Lumo:
https://github.com/zhnd/lumo
[45]
@zhnd:
https://github.com/ruanyf/weekly/issues/9239
[46]
AIComicBuilder:
https://github.com/twwch/AIComicBuilder
[47]
@twwch:
https://github.com/ruanyf/weekly/issues/9275
[48]
canirun.ai:
https://www.canirun.ai/
[49]
AI 是怎麼回事:
https://wmyskxz.cn/wiki/whats_ai/
[50]
@wmyskxz:
https://github.com/ruanyf/weekly/issues/9218
[51]
TypeScript 數據結構與算法:
https://amoilanen.github.io/Algorithms-with-Typescript/preface.html
[52]
頻道衝浪者:
https://channelsurfer.tv
[53]
巧妙的古建築:
https://rarehistoricalphotos.com/engineering-methods-from-the-past/
[54]
避免使用定製框架:
https://laike9m.com/blog/avoid-mini-frameworks,171/
[55]
David Miranda:
https://plumbing-of-everyday-magic.hyperclay.com/
[56]
lucumr.pocoo.org:
https://lucumr.pocoo.org/2026/1/14/minijinja-go-port/
[57]
《生活在“平面國”的程序員》:
https://blog.redplanetlabs.com/2025/11/24/the-programmers-who-live-in-flatland/
[58]
艾森豪威爾:
https://hebfdn.org/portfolio/eisenhower-on-leadership/
[59]
面試的 AI 作弊----用數字人去面試:
https://www.ruanyifeng.com/blog/2025/03/weekly-issue-342.html
[60]
所有代碼都是技術債:
https://www.ruanyifeng.com/blog/2024/03/weekly-issue-292.html
[61]
一次尷尬的服務器被黑:
https://www.ruanyifeng.com/blog/2023/02/weekly-issue-242.html
[62]
最大的機會來自新技術:
https://www.ruanyifeng.com/blog/2022/01/weekly-issue-192.html