daily-q:基于 LLM 的每日一题面试练习 CLI
一个用 Rust 写的「每日一题」命令行工具每天出一道针对你薄弱点的面试题 → 编辑器作答 → AI 评分反馈 → 后台分析薄弱点 → 明天的题自动偏向薄弱点。一、要解决的问题面试准备最大的痛点是「不知道练什么」刷题不针对通用题库按知识点随机出反复练自己已经会的练完没反馈写完答案没人告诉你答得怎么样、差在哪薄弱点靠感觉全凭印象判断自己哪里弱没有数据支撑刷题要不显眼在职准备跳槽的人浏览器里开着刷题页面一眼就暴露意图终端窗口和日常敲代码毫无差别工作间隙也能自然练习daily-q 面向后端/数据方向的程序员把「出题 → 作答 → 评判 → 复盘」闭环进一个命令行工具核心循环每天出 1 道题 → 作答 → AI 评分反馈 → 后台分析薄弱点 → 下次出题自动偏向薄弱点典型场景在职后端程序员想跳槽午休或工作间隙在终端敲下dq就能完成一整套练习——出题、作答、评分都在一个黑框里看起来和日常写代码没有任何区别不必背着同事偷偷打开浏览器刷题。实际运行效果隔离环境 mock LLM可复现$ dq# 今日无题LLM 按画像薄弱点动态出题今日题目 TCP 三次握手 medium 请描述TCP三次握手的过程 $ dq answer# 编辑器作答AI 评判请在编辑器中作答保存并退出(难度: medium)得分75反馈 整体正确细节不足 参考答案 SYN -SYN-ACK -ACK[summary]完成 —1个薄弱项已更新答完题dq stats能直接看到掌握度数据谁强谁弱一目了然$ dq stats 掌握度统计[~]TCP1/2(50%)[一般][]三次握手1/1(100%)[掌握]最新总结 薄弱知识点 TCP 建议 - 多练习传输层二、解决方案项目与技术架构定位单文件 CLI零运维数据全部在本地~/.daily-q/。技术栈Rust SQLite LLMOpenAI 兼容/v1/chat/completions协议可接国内任意兼容服务商。数据流用户执行 dq │ ▼ quiz::get_or_create_question() ├─ 今天已有题? ──YES──► 直接返回 ▼ NO llm::generate_question() ◄── 薄弱知识点、规则、画像 ▼ db.insert_question() ──► SQLite ▼ 显示题目 ◄── 用户执行 dq answer ▼ 编辑器作答 → llm::judge_answer() → 评分反馈标签 ▼ db.insert_answer() ──► 更新 topic_mastery ▼ summary::spawn_background_summary()后台线程 ▼ llm::summarize_history() → 薄弱点/关联/建议 ──► summary_cache模块职责模块职责行数main.rsCLI 入口clap 命令路由~419config.rs配置读写 7 个服务商预设~251db.rsSQLite 5 张表增删改查~385llm.rsLLM 调用出题/评判/总结 JSON 提取~264quiz.rs出题/评判/统计业务逻辑~247summary.rs后台线程触发 LLM 总结~49profile.rs交互式画像引导~139models.rs数据结构定义~109lang.rs中文文案texts! 宏~187display.rs终端颜色输出~38四个关键设计取舍1. 选 CLI 而不是网页 / GUI刷题工具的主流形态是网页端或 Appdaily-q 刻意反着来终端即界面dq一个命令走完出题、作答、评分、复盘全流程启动快、可进 shell 历史、可脚本化。最重要的是不显眼——终端窗口和日常开发毫无差别在职准备面试时不引人注意这是 CLI 形态对一个「在职跳槽」用户最实在的价值。得到启动快、可脚本化、界面隐蔽、数据全本地、零运维放弃可视化图表、鼠标点选。交互短板用prompt_select()交互式问答画像、服务商配置弥补2. 无本地题库全由 LLM 动态出题放弃维护题库出题完全交给 LLM把「画像 薄弱知识点 自定义规则 难度」拼进 prompt每次生成一道针对性的题。得到个性化、零题库维护成本放弃题库的稳定性与可离线依赖 LLM 可用性可接受的代价3. 后台线程做 LLM 总结但必须 join答完题后让 LLM 分析全部历史是异步任务几百毫秒到十几秒。用std::thread::spawn 独立tokio current_threadruntime 不阻塞终端但 CLI 进程在 main 返回后立即退出detach 线程会被杀死导致总结丢失所以答题流程末尾必须join()等落库。得到作答反馈即时返回总结不丢放弃完全异步的「零等待」进程生命周期决定必须同步收尾4. 配置「一键 测试通过才保存」配置三要素api_key / base_url / model缺一不可还容易填错。dq config ai一键完成选服务商 → 输 Key → 自动带出 base_url 与默认模型 → 调 LLM 连通性测试 →通过才保存配错不落盘马上重来。内置 7 家 OpenAI 兼容服务商$ dq config base-url list 常用 API 服务商1. deepseek https://api.deepseek.com/v1默认模型deepseek-v4-flash2. siliconflow https://api.siliconflow.cn/v1默认模型Qwen/Qwen2.5-72B-Instruct3. openai https://api.openai.com/v1默认模型gpt-4o-mini4. moonshot https://api.moonshot.cn/v1默认模型moonshot-v1-8k5. zhipu https://open.bigmodel.cn/api/paas/v4默认模型glm-4-flash6. qwen https://dashscope.aliyuncs.com/compatible-mode/v1默认模型qwen-turbo7. ollama http://localhost:11434/v1默认模型qwen2.5存储与 LLM 交互存储SQLite 单文件 5 张表数据在~/.daily-q/表作用questions每日一题date 唯一约束一天一条answers作答记录 score topic_tagsJSON 字符串topic_mastery知识点掌握度total / correct / last_practicedsummary_cache最新学习总结薄弱点 / 关联 / 建议rules用户自定义出题规则LLM 交互统一为 JSONllm.rs的chat_jsonT直接反序列化为结构体// 出题{topic:TCP 三次握手,difficulty:medium,question:...,reference_answer:...}// 评判{score:75,feedback:整体正确细节不足,topic_tags:[TCP,三次握手]}// 总结{weak_topics:[TCP],related_weaknesses:[...],suggestions:[多练习传输层]}三、期间面临的挑战1. 后台总结线程被进程退出杀死背景std::thread::spawn启动总结线程后 main 返回怎么错的进程退出直接杀掉 detach 线程summary_cache永远写不进去本地快速跑好像没问题真实使用总是丢总结结论CLI 进程退出会杀死所有后台线程。spawn_background_summary()返回 JoinHandle答题流程末尾join()等落库2. mock 掩盖的真实 bugLLM 不按格式返回背景本地用 mock server固定返回 JSON测试 38 条全绿怎么错的换真实 LLM 后三个 system prompt 没写「只返回 JSON」约束LLM 自由发挥返回了题目数组 / 夹杂文本反序列化直接失败结论mock 的固定返回是测试盲区。测试全绿 ≠ 上线没问题必须在真实环境跑一遍端到端同时把 JSON schema 写进 system prompt 显式约束3. LLM 输出天生不靠谱JSON 要逐级兜底背景LLM 可能把 JSON 包在 json 代码块里、前后带废话、括号嵌套怎么错的直接from_str解析经常失败结论写多级兜底的extract_json——先找 json 代码块 → 找普通代码块 → 从第一个{/[按括号匹配截取 → 原样 trimmax_tokens提到 4096避免长输出截断把 JSON 切碎4. 配置步骤太多用户根本走不完背景早期配置拆三步手动填 base_url还容易填错多打/v1后缀、记错服务商地址怎么错的从安装到能用要对着文档抄 URL摩擦巨大结论dq config ai一键配置 内置服务商预设 测试通过才保存配错不落盘、马上重来5. 本地零警告CI 却红背景本地 Rust 1.88 下clippy -D warnings零警告怎么错的GitHub stable 是 1.97新版 clippy 新增collapsible-if/useless-borrows-in-formatting两个 lintCI 直接 5 处报错结论本地工具链旧不代表 CI 过。CI 用stable时把「版本漂移」当常态失败后按 lint 建议升级代码即可四、经验收获每个技术决策都写下「放弃了什么」决策记录里每条都列了备选方案与否决理由日后不反复纠结也方便别人 review。mock 全绿只是起点真实环境端到端必跑mock 的确定性会掩盖 LLM 的不确定性固定响应是测试的死角。CLI 的进程生命周期是隐性约束后台线程、异步任务在进程退出时会失效设计时就要想好「进程没了怎么办」。对 LLM 输出做最坏假设显式 JSON schema 多级解析兜底 足够大的 max_tokens缺一不可。工具要「从安装到第一次用」零摩擦一键配置、默认值、测试通过才保存决定一个工具能不能被真的用起来。把发布交给流水线打v*标签 → macOS x64/arm、Windows 32/64 四平台制品 checksums 自动构建上传发版成本趋近于零。五、代码与安装仓库https://github.com/Angryshark128/daily-q MIT依赖Rust ≥ 1.88# 方式一GitHub Releases 下载对应平台压缩包macOS x64/arm、Windows 32/64# https://github.com/Angryshark128/daily-q/releases# 方式二源码编译gitclone https://github.com/Angryshark128/daily-qcddaily-qcargobuild--release# 产物target/release/dq建议加入 PATH# 使用dq config ai# 一键配置 AI选服务商 → 输 Key → 测试通过后保存dq profile setup# 设置面试画像dq# 出今天的题dq answer# 作答 AI 评分dq stats# 掌握度与学习建议当前状态v0.1.0 已发布出题 / 评判 / 后台总结已通过真实 LLMDeepSeek端到端验证发布流水线覆盖 macOS x64/arm 与 Windows 32/64 四平台。后续方向是完善掌握度算法与更多自定义规则。

相关新闻

模型泛化力不足导致风格迁移失真,深度解析CLIP-ViT特征对齐失效的4层瓶颈机制

模型泛化力不足导致风格迁移失真,深度解析CLIP-ViT特征对齐失效的4层瓶颈机制

更多请点击: https://codechina.net 第一章:模型泛化力不足导致风格迁移失真,深度解析CLIP-ViT特征对齐失效的4层瓶颈机制 CLIP-ViT在跨域风格迁移任务中常出现语义漂移与纹理崩塌现象,其根源并非单纯训练数据偏差,而…

2026/8/3 11:43:40阅读更多 →
ZenlessZoneZero-OneDragon:三步实现绝区零全自动游戏体验的终极指南

ZenlessZoneZero-OneDragon:三步实现绝区零全自动游戏体验的终极指南

ZenlessZoneZero-OneDragon:三步实现绝区零全自动游戏体验的终极指南 【免费下载链接】ZenlessZoneZero-OneDragon 绝区零 一条龙 | 全自动 | 自动闪避 | 自动每日 | 自动空洞 | 支持手柄 项目地址: https://gitcode.com/gh_mirrors/ze/ZenlessZoneZero-OneDragon…

2026/8/3 11:43:40阅读更多 →
彻底解决Windows命令无法识别问题:PATH环境变量配置全攻略

彻底解决Windows命令无法识别问题:PATH环境变量配置全攻略

1. 问题现象与本质剖析:为什么你的命令“失声”了? 如果你在Windows的PowerShell或命令提示符里敲下 pip install ,满怀期待地等待Python包管理器开始工作,却迎面撞上一行冰冷的红色错误信息:“无法将‘pip’项识别为…

2026/8/3 11:41:40阅读更多 →
QKeyMapper:重新定义你的Windows输入体验 - 开源跨设备按键映射终极指南

QKeyMapper:重新定义你的Windows输入体验 - 开源跨设备按键映射终极指南

QKeyMapper:重新定义你的Windows输入体验 - 开源跨设备按键映射终极指南 【免费下载链接】QKeyMapper [按键映射工具] QKeyMapper,Qt开发Win10&Win11可用,不修改注册表、不需重新启动系统,可立即生效和停止。支持游戏手柄映射…

2026/8/3 13:02:03阅读更多 →
毕业论文自查查重与 AI 率怎么省钱?(无广纯享:免费检测与应急微调全攻略)

毕业论文自查查重与 AI 率怎么省钱?(无广纯享:免费检测与应急微调全攻略)

临近毕业定稿提交,绝大多数毕业生都面临着同一个让人感到非常肉痛的问题:查重与 AIGC 检测的预算超标了。现在很多高校不仅要求大论文查重率(相似度)低于 10%,还新引入了 AIGC 疑似率(AI率)检测…

2026/8/3 13:02:03阅读更多 →
reTerminal与NEQTO Engine:工业边缘智能节点的部署与运维实战

reTerminal与NEQTO Engine:工业边缘智能节点的部署与运维实战

1. 项目概述:当工业级硬件遇见边缘智能引擎如果你手头有一块 reTerminal,并且正在寻找一种高效、可靠的方式,将你的物联网想法从原型快速推向边缘部署,那么“NEQTO Engine for Linux”很可能就是你一直在等的那个关键拼图。reTerm…

2026/8/3 13:02:03阅读更多 →
铜死亡机制与Elesclomol在肿瘤治疗中的应用

铜死亡机制与Elesclomol在肿瘤治疗中的应用

1. 项目概述:铜死亡机制与Elesclomol的靶向作用铜死亡(Cuproptosis)是近年来新发现的一种程序性细胞死亡方式,其核心机制与线粒体呼吸链中的铜离子依赖性蛋白毒性密切相关。作为一种金属离子载体,Elesclomol&#xff0…

2026/8/3 13:02:03阅读更多 →
HS2-HF_Patch:3步解锁Honey Select 2完整中文体验与上百个实用插件

HS2-HF_Patch:3步解锁Honey Select 2完整中文体验与上百个实用插件

HS2-HF_Patch:3步解锁Honey Select 2完整中文体验与上百个实用插件 【免费下载链接】HS2-HF_Patch Automatically translate, uncensor and update HoneySelect2! 项目地址: https://gitcode.com/gh_mirrors/hs/HS2-HF_Patch 还在为Honey Select 2的日文界面…

2026/8/3 13:02:03阅读更多 →
合同审查准确率提升92.7%的秘密:我们用BERT微调+规则引擎双校验模型实测1372份采购协议

合同审查准确率提升92.7%的秘密:我们用BERT微调+规则引擎双校验模型实测1372份采购协议

更多请点击: https://kaifayun.com 第一章:AI合同审查教程 AI合同审查正逐步成为法务与合规团队的日常生产力工具。它并非替代律师,而是通过自然语言处理(NLP)与大语言模型(LLM)技术&#xff0…

2026/8/3 13:00:03阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/3 0:29:53阅读更多 →
限时公开!某头部SaaS公司内部AI模板工厂架构文档(含5类行业模板源码+性能压测报告)

限时公开!某头部SaaS公司内部AI模板工厂架构文档(含5类行业模板源码+性能压测报告)

更多请点击: https://intelliparadigm.com 第一章:AI模板批量生成的核心价值与落地全景 AI模板批量生成正从实验性工具演进为现代软件工程的关键基础设施。它通过语义理解、上下文感知与结构化约束,将重复性高、模式明确的代码/文档/配置生成…

2026/8/3 0:33:53阅读更多 →
如何快速找回消失的网页:Web Archives浏览器扩展终极指南

如何快速找回消失的网页:Web Archives浏览器扩展终极指南

如何快速找回消失的网页:Web Archives浏览器扩展终极指南 【免费下载链接】web-archives Browser extension for viewing archived and cached versions of web pages, available for Chrome, Edge and Safari 项目地址: https://gitcode.com/gh_mirrors/we/web-a…

2026/8/3 0:20:37阅读更多 →
3个让你工作效率翻倍的Umi-OCR实战技巧:免费离线文字识别完全指南

3个让你工作效率翻倍的Umi-OCR实战技巧:免费离线文字识别完全指南

3个让你工作效率翻倍的Umi-OCR实战技巧:免费离线文字识别完全指南 【免费下载链接】Umi-OCR OCR software, free and offline. 开源、免费的离线OCR软件。支持截屏/批量导入图片,PDF文档识别,排除水印/页眉页脚,扫描/生成二维码。…

2026/8/3 0:00:32阅读更多 →
[具身智能-181]:PC+服务器+具身机器人:构建具身智能从仿真到量产的闭环迭代混合架构

[具身智能-181]:PC+服务器+具身机器人:构建具身智能从仿真到量产的闭环迭代混合架构

PC服务器具身机器人:构建具身智能从仿真到量产的闭环迭代混合架构一、前言:具身智能需要“混合算力闭环系统”传统人工智能依赖云端静态数据集训练,不具备物理交互能力,无法适应真实世界的不确定性。具身智能(Embodied…

2026/8/3 0:00:32阅读更多 →
[具身智能-181]:大分布式通信模型对比:看懂为什么 DDS 是 ROS2 底层通信最优解

[具身智能-181]:大分布式通信模型对比:看懂为什么 DDS 是 ROS2 底层通信最优解

前言构建机器人、具身智能这类分布式实时系统,通信底座直接决定整套系统的实时性、容错性、组网能力。分布式领域长期存在 4 类经典通信架构:点对点模式、Broker 中间代理模式、广播模式、以数据为中心(DDS)模式。很多开发者疑惑&…

2026/8/3 0:00:32阅读更多 →
无损视频剪辑终极指南:如何实现快速高效的多媒体处理

无损视频剪辑终极指南:如何实现快速高效的多媒体处理

无损视频剪辑终极指南:如何实现快速高效的多媒体处理 【免费下载链接】lossless-cut The swiss army knife of lossless video/audio editing 项目地址: https://gitcode.com/gh_mirrors/lo/lossless-cut 在数字媒体创作领域,视频编辑处理的质量损…

2026/8/3 2:32:59阅读更多 →
AI辅助本科论文写作:8大工具评测与高效使用指南

AI辅助本科论文写作:8大工具评测与高效使用指南

1. 本科生论文写作的AI辅助现状本科毕业论文是每个大学生必须跨越的一道坎。记得我当年写论文时,光是文献检索就花了整整两周时间,打印的参考文献堆满了半个书桌。如今AI技术的发展为学术写作带来了革命性变化,合理使用这些工具可以节省80%以…

2026/8/3 2:33:01阅读更多 →
如何快速配置大麦自动抢票系统:从零开始搭建Python抢票助手

如何快速配置大麦自动抢票系统:从零开始搭建Python抢票助手

如何快速配置大麦自动抢票系统:从零开始搭建Python抢票助手 【免费下载链接】ticket-purchase 大麦自动抢票,支持人员、城市、日期场次、价格选择 项目地址: https://gitcode.com/GitHub_Trending/ti/ticket-purchase 还在为抢不到热门演唱会门票…

2026/8/3 2:33:04阅读更多 →