baguwen-technical-qa
收藏资源简介:
八股文技术面试题库(Baguwen Technical Interview QA)是一个面向中文技术八股/面试的问答数据集,适用于检索增强(RAG)、SFT 微调、面试题库等场景。数据集收集并整理自两个公开 GitHub 仓库:bestJavaer(crisxuan/bestJavaer)和 learning_mind_map(0voice/learning_mind_map)。bestJavaer 源为 168 篇手写 Markdown 笔记,直接解析为问题和答案,共 680 条;learning_mind_map 源为 74 个扫描版思维导图 PDF,通过视觉 OCR 和 LLM 改写为问答对,当前已收录 32 条(共 712 条)。数据集包含以下字段:id(全局唯一标识,格式 {source}_{index})、source(数据来源标识)、source_repo(上游仓库名)、source_url(上游仓库地址)、doc_title(所属文档/篇名)、category(主题分类,如 os/network/java/jvm/mysql/linux/cloud-native 等)、question(八股问题,支持 Markdown)、answer(八股答案,支持 Markdown,含代码块/表格/行内代码)、raw_markdown(原始 Markdown 片段,便于溯源)、language(语言,固定 zh)。数据以 Parquet 和 JSONL 格式提供,可直接通过 HuggingFace datasets 库加载。注意:learning_mind_map 部分经 OCR 可能存在识别误差,且思维导图经 LLM 改写为问答对,视角可能不同于原始导图。本数据集仅供学习研究,不构成任何面试保证。
Baguwen Technical Interview QA is a question-answering dataset for Chinese technical interview (八股文) scenarios, suitable for RAG, SFT fine-tuning, and interview question banks. It is collected from two public GitHub repositories: bestJavaer (crisxuan/bestJavaer) and learning_mind_map (0voice/learning_mind_map). The bestJavaer source consists of 168 hand-written Markdown notes parsed into 680 QA pairs; the learning_mind_map source consists of 74 scanned mind map PDFs processed via OCR and LLM into 32 QA pairs (total 712). Fields include id, source, source_repo, source_url, doc_title, category, question, answer, raw_markdown, and language (zh). Data is provided in Parquet and JSONL formats, loadable via HuggingFace datasets. Note: OCR may introduce errors, and LLM rewriting may alter perspective. For research only, no interview guarantee.
数据集概述
数据集名称:八股文技术面试题库(Baguwen Technical Interview QA)
数据集地址:https://huggingface.co/datasets/Weidows/baguwen-technical-qa
基本属性
- 语言:中文(
zh) - 许可证:其他(
other);上游声明仅供学习,商业用途需联系作者;本数据集仅做格式整理,保留署名,不主张版权 - 任务类别:问答(
question-answering)、文本生成(text-generation) - 标签:八股文、面试、思维导图、中文、技术问答、后端
- 数据规模:1K < n < 10K(当前共 712 条记录)
数据内容与结构
每条记录包含以下字段:
| 字段名 | 类型 | 描述 |
|---|---|---|
id |
string | 全局唯一 ID,格式 {source}_{index} |
source |
string | 数据来源标识(learning_mind_map 或 bestJavaer) |
source_repo |
string | 上游仓库名 |
source_url |
string | 上游仓库地址 |
doc_title |
string | 所属文档/篇名 |
category |
string | 主题分类(os/network/java/jvm/mysql/linux/cloud-native 等) |
question |
string | 八股问题(支持 Markdown) |
answer |
string | 八股答案(支持 Markdown,含代码块/表格/行内代码) |
raw_markdown |
string | 该条对应的原始 Markdown 片段,便于溯源 |
language |
string | 固定为 zh |
数据来源
| 来源 | 上游仓库 | 类型 | 处理方式 | 状态 |
|---|---|---|---|---|
| bestJavaer | crisxuan/bestJavaer | 手写 Markdown 笔记(168 篇) | 直接解析原始 Markdown(## 问题 + 答案),按篇拆分,剔除作者主观/营销干扰文本 |
✅ 已收录(680 条) |
| learning_mind_map | 0voice/learning_mind_map | 扫描版思维导图 PDF(74 个) | PyMuPDF 渲染每页为图片 → qwen3.8-27b-awq-int4 视觉 OCR → 层级 Markdown → LLM 改写为问答对 |
🟡 收集中(当前 32/74 已入库) |
当前版本含 bestJavaer 全量(680 条)+ learning_mind_map 部分(32 条),共 712 条。剩余 learning_mind_map 的 PDF 将在视觉 OCR 服务恢复后自动补录并重新发布。
文件构成
data/brainwash_zh.parquet—— 主格式(HuggingFacedatasets原生加载)data/brainwash_zh.jsonl—— 镜像格式(人类可读,便于其他框架)data/raw_learning_mind_map/—— 溯源用原始 PDF(仅 learning_mind_map)data/md_learning_mind_map/—— 视觉 OCR 得到的中间 Markdowndata/md_bestjavaer/—— 解析后的 bestJavaer 中间产物
使用方式
python from datasets import load_dataset
ds = load_dataset("Weidows/baguwen-technical-qa") print(ds["train"][0])
或本地读取:
python import pandas as pd df = pd.read_parquet("data/brainwash_zh.parquet")
或
df = pd.read_json("data/brainwash_zh.jsonl", lines=True)
构建流程
python scripts/ocr_learning_mind_map.py—— 74 个 PDF 视觉 OCR 为 Markdownpython scripts/parse_bestjavaer.py—— bestJavaer 168 篇解析为问答python scripts/convert_lmm_to_qa.py—— learning_mind_map 的 Markdown 改写为问答对python scripts/build_dataset.py—— 合并两源,生成 Parquet + JSONL
所有配置集中在 scripts/config.py。
局限与说明
- learning_mind_map 原始为图片型思维导图,经视觉模型 OCR,可能存在个别小字识别误差;
raw_markdown保留原始层级结构,建议下游做人工抽检。 - 思维导图天然不是一问一答,已用 LLM 改写为问答对,改写视角可能不同于原始导图脉络。
- 本数据集仅供学习研究,不构成任何面试保证。



