最近在学习 OLAP 数据库,把 Doris 和 ClickHouse 做了一个对比。 架构差异 ClickHouse: - 纯列存,MergeTree 引擎很强大 - 单表聚合性能极致 - JOIN 能力比较弱 - 俄罗斯 Yandex 开源 Doris: - MPP + 列存架构 - 标准 SQL 兼容性好 - JOIN 能力强 - 百度开源,国内社区活 […]
我的终端工具链:2025 年开发效率套件分享
分享一下我日常高频使用的终端工具。 文件操作 - fd:比 find 更快更好用的文件搜索 - ripgrep […]
LeetCode 146. LRU Cache:面试官最爱的设计题,手写双向链表+哈希表
LRU Cache 是面试频率最高的设计题之一。要求 get 和 put 都是 O(1)。 思路 核心是双向链 […]
MySQL 事务隔离级别面试精讲:脏读、幻读、不可重复读到底怎么区分?
事务隔离级别几乎是 MySQL 面试必问题。 三种并发问题 脏读:读了别人还没提交的数据。别人回滚了,你读到的 […]
PostgreSQL 还是 MySQL?2025 年数据库选型的重新思考
MySQL 和 PostgreSQL 的争论从来没有停过。2025 年了,情况有些变化。 PostgreSQL […]
分布式锁的三代演进:从 Redis 到 Etcd 再到无锁设计
分布式锁看着简单,实际上坑很多。 第一代:Redis 分布式锁 问题: 1. 锁过期时间不好设定——设短了业务 […]
TCP 三次握手四次挥手:面试官到底想听什么?
TCP 的连接建立和释放是计算机网络面试的核心。 三次握手 为什么三次而不是两次? 两次握手的问题:如果客户端 […]
为什么我们总喜欢过度设计:从「Hello World」到「微服务架构」的反思
你有没有过这种经历:本来只需要一个简单的脚本,最后搭建了一整套微服务架构。 过度设计的症状 1. 提前优化:现 […]
Anthropic 发布 Claude 4:主打「安全性」的 AI 能跑多远?
Anthropic 发布了 Claude 4,直接对标 GPT-4o。 能力提升 - 推理:在 GPQA、MA […]
Redis 高频面试题:缓存穿透、雪崩、击穿到底有什么区别?
这三个词面试中几乎必问,而且很多人分不清。 缓存穿透 现象:查询的数据在数据库也不存在,缓存自然也没有。每次请 […]