-
Notifications
You must be signed in to change notification settings - Fork 37
Expand file tree
/
Copy pathquiz.json
More file actions
78 lines (78 loc) · 3.35 KB
/
Copy pathquiz.json
File metadata and controls
78 lines (78 loc) · 3.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
{
"lesson": "42-large-corpus-downloader",
"title": "顶点课 42 —— 大规模语料下载器",
"questions": [
{
"stage": "pre",
"question": "为什么下载器要为每个分片维护一个单独的 .partial.json checkpoint?",
"options": [
"为了让缓存目录看起来整齐。",
"这样恢复下载时可以对已验证字节做 sha256 前缀校验再追加,杜绝静默损坏。",
"因为 urllib 要求这样做。",
"为了存储 URL 以防分片文件迁移。"
],
"correct": 1,
"explanation": "Checkpoint 记录了 verified_bytes 和这些字节的 sha256;恢复时只有磁盘上的哈希匹配才会继续。"
},
{
"stage": "check",
"question": "LSH band 方案能做到而精确哈希去重做不到的是什么?",
"options": [
"常量内存占用。",
"亚线性查找,能在文档仅差几个 token 时仍以高 Jaccard 相似度标记近似重复。",
"无损压缩。",
"更快的 sha256 计算。"
],
"correct": 1,
"explanation": "MinHash 加 LSH 能捕捉到精确哈希去重漏掉的释义和模板变体。"
},
{
"stage": "check",
"question": "为什么 checkpoint 是在字节追加之前写入,而不是之后?",
"options": [
"这样比较方便。",
"如果进程在写入字节和更新 checkpoint 之间挂掉,下次恢复时会读到一个落后于实际字节的 checkpoint,导致静默重复追加、损坏文件。",
"这样更快。",
"这样节省磁盘空间。"
],
"correct": 1,
"explanation": "先写 checkpoint 符合 write-ahead log 模式:崩溃后已验证偏移量要么等于要么落后于文件实际长度,绝不会超前。"
},
{
"stage": "check",
"question": "Manifest 的 sha256 锁文件起什么作用?",
"options": [
"加快读取速度。",
"下游阶段在 manifest 内容与锁定哈希不匹配时拒绝启动,封堵攻击者篡改单个文件的静默攻击面。",
"记录日期。",
"作为 manifest 的备份。"
],
"correct": 1,
"explanation": "锁定 manifest 哈希使代码和数据之间的关联成为内容寻址的契约。"
},
{
"stage": "post",
"question": "为什么去重放在 tokenization 上游而不是下游?",
"options": [
"Tokenizer 不能读 JSONL。",
"Tokenization 开销很大;对同一篇文档跑两遍只会让成本翻倍,对 loss 曲线没有收益,所以先去重严格更省。",
"Tokenizer 会拒绝重复。",
"Tokenizer 需要先有词表。"
],
"correct": 1,
"explanation": "去重是流水线第一步,每去掉一篇重复文档就给 tokenizer 省下一次处理。"
},
{
"stage": "post",
"question": "对被去掉的重复文档做 tombstone 标记,比直接静默删除多保留了什么?",
"options": [
"磁盘空间。",
"重复文档与它碰撞的 keeper 之间的关联,以及一条在未来调整阈值时仍可追溯的审计记录。",
"压缩比。",
"Manifest sha256 的稳定性。"
],
"correct": 1,
"explanation": "Tombstone 让未来的处理可以回溯去重阈值;直接删除则丢失了证据。"
}
]
}