833 字
约 2 分钟
7
S25-J05 · 原理速查:树、协议、JIT、栈帧
适用读者:原理题"知道名词但讲不深"的人。
前置:S03(算法)、S02-B04(TCP)、S05-J05(JVM)。
覆盖旧文:2391(512) 2388(413) 2585(767) 2582(428) + 原理类 = 4,041 点。
扩展点:E-S25-014(原理题的"三层答法")。
上一篇:S25-J04 · 系统设计面试:从需求到方案
下一篇:S25-J06 · 工程素养。
1. 一句话结论
原理题按"定义 → 机制 → 边界"三层答:只答定义是 L1,能讲机制是 L2,能说"什么时候不成立"才是 L3。
| 层 | 例子(B+ 树) |
|---|---|
| L1 | 是一种多路平衡树 |
| L2 | 非叶存索引、叶存数据 + 链表串联 |
| L3 | 为什么数据库用它:层数低(IO 少)+ 范围查询友好;对比 B 树:B 树非叶也存数据,同样层数能存的键更少 |
2. 四个高频原理点
2.1 B 树 vs B+ 树(A-2391)
| 维度 | B 树 | B+ 树 |
|---|---|---|
| 数据位置 | 所有节点 | 只在叶子 |
| 范围查询 | 需中序遍历 | 叶子链表 |
| 扇出 | 较低 | 更高(层数更少) |
2.2 UDP 一定比 TCP 快吗(A-2388)
答:"不一定。UDP 无连接/无重传,协议开销小;但丢包时应用层要自己重传——总成本可能更高。快的是"开销",不是"总时延"。"
2.3 JIT(A-2585)
| 层 | 内容 |
|---|---|
| L1 | 即时编译 |
| L2 | 解释执行 → 热点探测 → C1/C2 编译 |
| L3 | 去优化(Deopt):假设被打破就退回解释 |
2.4 栈帧结构(A-2582)
| 组成 | 作用 |
|---|---|
| 局部变量表 | 参数与局部变量 |
| 操作数栈 | 计算中间值 |
| 动态链接 | 指向常量池 |
| 返回地址 | 调用方位置 |
3. 三层答法(E-S25-014)
① 一句话定义(10 秒)
② 机制/流程(60 秒)
③ 边界/对比(60 秒)← 决定档次
判据:"我能说出它什么时候不适用吗?" 不能 → 停在 L2。
4. 常见"答错"的原因
| 原因 | 例子 |
|---|---|
| 版本混淆 | "JDK 8 之前字符串常量池在堆" |
| 绝对化 | "UDP 一定比 TCP 快" |
| 只背结论 | 说不出为什么 |
5. 五个误区
| 误区 | 真相 |
|---|---|
| "原理题背定义就行" | 要讲边界 |
| "UDP 一定更快" | 只省协议开销 |
| "JIT 只会优化" | 还有去优化 |
| "栈帧只有局部变量" | 还有操作数栈/动态链接 |
| "B 树和 B+ 树差不多" | 扇出与范围查询差异大 |
6. 自检
- 三层答法各是什么?
- B+ 树相对 B 树的两个优势?
- "UDP 一定更快"错在哪?
- 什么是去优化?
- 栈帧的四个组成?
7. 下一篇
S25-J06 · 工程素养:习惯、工具与代码质量
原理讲完,下一篇讲"为什么好习惯是加分项"。
本篇属于系列《S25 · 求职与面试》。旧文来源:A-2391/2388/2585/2582 + 原理类卡;扩展点 E-S25-014。
S25-J05 · 原理速查:树、协议、JIT、栈帧
https://www.clxhxhhr.top/posts/5586/ 评论
0 条
还没有评论,先写一条吧。