摘要:
如果面试官比较认真,常常会让你现场推导插入/删除。 可能的形式 给你一组数字,手动画出红黑树插入过程 插入某个节点后,哪些情况需要变色?哪些情况需要旋转? 删除红黑树某个黑节点后怎么修复? 画一个跳表,插入 8、12、15、19 后长什么样 给一个 B+ 树阶数,让你模拟插入导致分裂 删除 B+ 树 阅读全文
posted @ 2026-09-08 19:44
光風霽月
阅读(12)
评论(0)
推荐(0)
摘要:
跳表(Skip List)是一种基于链表的数据结构,它通过添加多层索引来加速搜索操作。 跳表的特点如下: 跳表中的数据是有序的。 跳表中的每个节点都包含一个指向下一层和右侧节点的指针。 跳表通过多层索引的方式来加速搜索操作。最底层是一个普通的有序链表,而上面的每一层都是前一层的子集,每个节点在上一层 阅读全文
posted @ 2026-09-08 17:19
光風霽月
阅读(13)
评论(0)
推荐(0)
摘要:
LSM Tree 0 前言 最近在调研公司内的存储组件时,了解到其底层依赖于 rocksdb 这种嵌入式 kv 存储引擎进行文件存储管理,正好借此机会展开对 rocksdb 这类适用于密集型写操作的数据库的底层原理进行学习探讨. 本文主要聚焦在 rocksdb 的存储架构——log structur 阅读全文
posted @ 2026-09-08 15:13
光風霽月
阅读(7)
评论(0)
推荐(0)
摘要:
设计模式 设计模式六大原则 面向对象设计的“六大原则”旨在帮助开发者构建高内聚、低耦合、易扩展和易维护的软件系统。它们通常由著名的 SOLID 原则加上迪米特法则组成: 1. 单一职责原则 (Single Responsibility Principle, SRP) 核心思想: 一个类(或模块、函数 阅读全文
posted @ 2026-09-08 15:11
光風霽月
阅读(6)
评论(0)
推荐(0)
摘要:
C++11 C++11 是 C++ 语言发展史上最重要的里程碑之一,被称为“现代 C++”的开端。它引入了大量新特性,极大地提升了代码的安全性、可读性和性能。 以下是 C++11 核心新特性的分类总结: 类型推导 auto 和 decltype 右值引用和移动语义 lambda 智能指针 并发支持 阅读全文
posted @ 2026-09-08 15:08
光風霽月
阅读(11)
评论(0)
推荐(0)
摘要:
外部排序 01 引言 如果要对一个很大的数据集,进行排序,而没办法一次性在内存排序,这时候怎么办? 如果遇到这样的面试题,首先可以来向面试官确认一下已有的硬件环境,比如面试官可能会告诉你,你现在有 1GB 的内存可用。那么我们知道整个 1TB 的文件,至少要读 1024 次才能遍历一遍,所以直接在内 阅读全文
posted @ 2026-09-08 15:05
光風霽月
阅读(9)
评论(0)
推荐(0)

浙公网安备 33010602011771号