Agent 时代的 TDD:只关注行为的"残差" 测试和实现,永远只改一边。 “交作业”的问题目前很多人用 Agent 的手法就是照搬一个”交作业式”的 Agent workflow: 整理好需求/spec,例如”开发一个数据获取框架,要求实现功能 1 2 3 4 5” 把 spec 发给 Agent 做实现 审核 Agent 实现的代码 然后做对比实验/回放验证,争取”敢上线” 一旦发现问题,再回到上一轮循环 刚开始 2026-01-12 #Agent #Testing #Engineering
Tech 公司面试杂谈 从大学找实习开始,断断续续面试、被面试了许多场,想来应该有三位数了,最近又作为 Senior/Leader 岗位面了一些公司,算是补全了一块人生体验,写篇文章谈谈 Tech 公司面试的感想。 算法谈到算法面试,首先想到的是 LeetCode,这不是我想的,是 Copilot 想的。 算法是讨论到面试绕不开的话题,我懒得考古,但这股“歪风”应该是从硅谷几家 Big-name Tech 带 2024-06-06 #Interview #Non-tech
Design a collection with compile-time reference stability in Rust (2) 在上一篇文章中,我们设计了一个允许同时持有多个不可变引用的 LruCache。唯一的问题是,为了足够安全,API 不太易用。这篇文章完美地解决了问题。 1234567891011new_lru_cache(|mut perm, mut cache| { cache.put("a", "b".to_string(), &mut perm 2024-01-31 #Programming #Rust
Design a collection with compile-time reference stability in Rust (1) LRU Cache 是工业界最常用的数据结构之一,而最简单的实现方式是基于 HashMap 和链表。当访问某个 entry 时,这个 entry 会被移到链表的最前端。 Rust 有个 crate lru 实现了这个数据结构,这里摘取了几个关键方法: 12345678impl<K: Eq + Hash, V> LruCache<K, V> { pub fn 2024-01-26 #Programming #Rust
RisingWave 中的状态管理 RisingWave 是近期开源的一款 Rust 写的云原生流数据库产品。今天根据下图简单介绍一下 RisingWave 中的状态管理机制: 2022-04-30 #Programming #Database #Streaming System #RisingWave
Zig lang 初体验 -- 『大道至简』的 comptime 在很长的一段时间里,系统级的编程语言只有 C 与 C++,使用其中任何一种都不是愉快的体验,这里不作展开。现在许多新的系统项目都使用 Rust 开发。然而这些都不是本文的重点,最近我接触了一个新的系统编程语言 – Zig,今天分享一下试玩的体验。 2022-04-05 #Programming #Zig
Rust Enum Layout 的优化 今天学到了一点关于 Rust Enum 的冷知识,在开始阅读之前,大家可以猜一下下面的 Rust 代码在常见的 64 bit 机器上的输出是什么? 12345678struct A (i64, i8);struct B (i64, i8, bool);fn main() { dbg!(std::mem::size_of::<A>()); dbg!(std::mem 2022-01-23 #Rust
[Paper Notes] Noria: dynamic, partially-stateful data-flow for high-performance web applications 最近读了 Noria,一个物化视图系统的实现(虽然它自称是 Dataflow)。这篇 Note 包含大量本人脑补。 2021-08-22 #Paper Note #Database
[Paper Notes] Napa: Powering Scalable Data Warehousing with Robust Query Performance at Google Materialized View 成了最近数据库的新热潮,大数据三驾马车的原厂 Google 也发了一篇 PVLDB,介绍他们替代 Mesa 的新系统 Napa。Paper 链接。随便分享一些 notes 和 unresolved issues(比较乱,不能作为 Paper 的替代品) 2021-08-12 #Paper Note #Database