前面我写过 软考高级系统架构设计师到底有没有用 和 复盘一下软考高级架构设计师的备考和应考过程,说的是这考试值不值得考、我自己怎么过的。这次换个角度,说一个更具体、更"工具流"的事儿:备考时怎么刷题。
刷题这事儿,绕不开真题
软考架构师的考试结构是上午综合知识(75 道单选)、下午案例、下午论文。综合知识看着简单,其实就是单选题,可架不住它面铺得太广:操作系统、网络、数据库、软件工程、系统架构设计、项目管理、安全、法律、专业英语,甚至嵌入式、新技术都来一点。你哪一块软,哪一块就给你扣分。我在数据库和前端方面就丢了不少粉。
这种考试,光看教材没用,必须得刷真题。原因是真题的"调调"和教材不完全一样,它考的是你怎么用那套知识,而不是你背没背下来定义。而且真题有重复率——不是原题照搬,是同一个知识点换个壳又出来了。你把历年真题里某个模块的题都刷一遍,那个模块的考点你心里就有谱了。
问题是真题散得到处都是。网上能搜到一堆 PDF,按年份分文件夹的那种,动辄十几年的题,打开一个是一个,想做错了想看解析还得翻答案文件。手机上更别提了,PDF 在小屏上翻来翻去能把人逼疯。
找到一个好题库
后来我在 GitHub 上找到一个仓库:Zhang-986/ruankao-architect-practice。
它的厉害之处在于,作者把 2009 下半年到 2025 下半年这十几年(除 2019 下半年那份是扫描 PDF 没法结构化之外)的综合知识真题,外加 7 套 2026 年 5 月模拟卷,一共 1773 道选择题,全部整理成了一个机读的 JSON 文件,每道题带题干、4 个选项、正确答案、解析、所属知识模块、知识点、难度标签。
这就不是 PDF 了,是结构化数据。结构化数据意味着你能拿它干任何事——做一个网页刷题器、塞进 Anki、导进自己写的 app、喂给 AI 做错题诊断,都行。原仓库自己就配了一个多文件静态站点,支持继续练习、章节练习、真题套卷、错题重刷、收藏、AI 诊断导出,功能挺全的。
可它有一个对我特别不友好的点:要起本地服务器。
原仓库的 index.html 用 fetch 异步读取 data/bank.json,这是常规做法,但浏览器对 file:// 协议下的 fetch 有 CORS 限制,双击打开就是白屏。README 里也明确写了"不要直接双击 index.html",得跑一句 python3 -m http.server 4173 再访问。
平时在电脑前还好,开个终端跑一句也不费事。可我想在手机上刷、想丢给不会用命令行的同事刷、想塞 U 盘里随身带着任何机器双击就开,这种需求它都满足不了。
把题库塞进一个 HTML
所以我 fork 了这个仓库,在它的基础上加了一个"离线单文件版"。
思路特别简单粗暴:用 Python 把那个 bank.json 读进来,序列化成 JS 字符串,直接注入到 <script> 标签里,让 QUESTIONS 变成一个普通的 JS 变量,而不是用 fetch 去拿。这样整个题库就和 HTML 是一体的了,浏览器解析 HTML 的时候题库已经在内存里,不需要任何外部请求,也不受协议限制。
代价是文件变大了,单文件 1.2MB 左右,因为里头装了 1773 道题的全部文字。但 1.2MB 在 2026 年真不算啥,手机浏览器秒开,U 盘随手传,网盘分享也方便。一次加载,永久离线。
刷题系统本身的功能是我之前给另一个考试做过的同款改的:
- 📖 顺序刷题:1822 题从第 1 题刷到最后
- 📝 模拟考试:抽 75 题,和单场考试题量一致,答完出分
- 🎲 随机抽题:50 题快速测,适合碎片时间
- ❌ 错题本:答错自动记录,可以一键重练,答对会从错题本移除
- 📊 学习统计:各知识模块完成进度条 + 错题数
- 📚 按知识模块练:12 个模块独立练,专攻薄弱项
- 📅 按年份 / 模拟卷练:整套整套地刷真题
答题交互就是那种答完即时反馈、绿对红错、解析卡片直接展开的路数。答过的题再回来会恢复状态,中途退出有确认提示,答完整套出个得分圆环,≥80 绿、≥60 橙、否则红。
怎么用
Fork版本的仓库地址:https://github.com/cycleuser/ruankao-architect-practice
单文件版在 offline-single-file/ 目录,里头一个 index.html,下载下来双击就能开刷,题库已经内联进去了。不需要 Node,不需要 Python,不需要 npm install,不需要联网。U 盘拷走、微信传给同事、丢进网盘都能直接用。
如果你想要更完整的功能——案例分析、论文题、收藏夹、AI 诊断导出那些——就用仓库根目录的原版,按它 README 里说的起个本地服务器跑起来。两个版本互补:日常系统备考用原版,考前突击或随身带用单文件版。
致谢
题库数据是 https://github.com/Zhang-986/ruankao-architect-practice 整理的,上游好像是来自 https://github.com/wujiaming88/awesome-ruankao,标注的是 CC BY-SA 4.0,都是供个人学习交流用的,只是把题库用单文件 HTML 包了一层壳,让它更顺手一点。
刷题终究只是备考的一环,能帮你把零散的知识点过一遍、把薄弱模块找出来,但真正的功夫还是得落到理解上。真题刷多了你会发现,考来考去就那几个核心点,背选项是没用的,得真明白为什么是这个答案。刷题让你熟悉套路,理解才能让你在题目换了壳之后还能选对。
本来其实考虑整个在线链接点击即可用的,但后来想想,如果是要考架构的朋友,自己不可能连从GitHub上下载html到本地都搞不定。
刷起来吧。
CycleUser