秋招督学:把求职准备拆成每天可执行的动作

秋招督学:把求职准备拆成每天可执行的动作
一个面向嵌入式 C/C++ 秋招的个人学习与求职管理 App。它把目标倒计时、每日任务、专注计时、能力地图、复习记录和求职进度放在同一条执行链路里,帮助我回答一个很具体的问题:今天最应该做什么,以及做完之后留下了什么证据?
项目背景
准备嵌入式岗位时,学习内容往往同时横跨 C/C++、数据结构、Linux、MCU、驱动、RTOS、网络、项目和面试表达。传统待办应用只能记录“要做什么”,却很难持续回答下面几件事:
- 今天应该优先补哪一个能力短板?
- 任务延期后,如何保留原计划并重新安排?
- 学过的知识是否真正掌握,什么时候需要再次复习?
- 投递、笔试、面试之后,是否完成了复盘并形成下一步行动?
“秋招督学”就是在这个背景下做的一个个人工具。它不试图替代课程、题库或招聘平台,而是专注于把“目标—计划—执行—复盘”串成闭环。
核心功能
1. 首次设置与目标倒计时
首次打开 App 时,可以设置称呼、目标岗位、目标准备完成日、每天可投入时间和当前阶段。保存后,系统会生成当天的起步计划,并在首页展示距离目标日期的剩余天数。
目标岗位支持多选,内置嵌入式软件、嵌入式 Linux、单片机 / RTOS 和 C++ 开发等方向。计划中的任务数量由用户自己决定,不强制固定为“三件事”,更强调可兑现的承诺。
2. 今日作战台
首页只保留最重要的信息:
- 距离目标日期还有多少天;
- 当前备战阶段;
- 今日任务完成进度;
- 今日有效专注分钟数;
- 待复习知识点数量;
- 开始专注、今日复盘和历史复盘入口。
任务的创建、编辑和删除统一放在“计划”页,首页负责快速确认状态,减少打开 App 后的决策成本。
3. 计划与逾期补救
任务包含标题、日期、预计时长、类型、关联能力域、完成标准、优先级和“当日必做”标记。支持学习、算法、项目、复习、简历、投递、面试准备和复盘等类型。
历史未完成任务不会被自动挪到今天,而是按原计划日期保留在“历史未完成”视图中。这样既能看到真实的延期记录,也可以继续编辑、完成或删除,避免因为漏做一天而丢失上下文。
4. 专注计时
专注模块支持正计时和倒计时两种模式:
- 正计时:从
00:00开始累计,适合自由投入; - 倒计时:支持 25、45、60、90 分钟预设;
- 两种模式都支持暂停、继续、最小化和结束;
- App 进入后台或锁屏后,重新回到页面仍能根据时间戳恢复准确状态;
- 结束后记录有效专注时长,关联任务时可以继续填写成果和掌握程度。
进行中的计时状态保存在 localStorage,历史专注记录写入本地数据库。少于 1 分钟的片段默认不计入有效专注,避免统计被误触或短暂试用污染。
5. 能力地图与间隔复习
能力页内置 10 个能力域,包括:
| 能力域 | 示例知识点 |
|---|---|
| C 语言与底层语义 | 指针、内存、位运算、未定义行为、编译链接 |
| 现代 C++ | RAII、移动语义、智能指针、STL、并发 |
| 数据结构与算法 | 链表、树、排序、二分、动态规划 |
| 操作系统与 Linux | 进程线程、同步、虚拟内存、GDB、strace |
| MCU 与计算机体系 | Cortex-M、中断、DMA、启动文件、链接脚本 |
| 驱动、接口与硬件调试 | GPIO、UART、I2C、SPI、CAN、设备树 |
| RTOS 与实时系统 | 调度、队列、信号量、优先级反转、FreeRTOS |
| 网络与通信 | TCP/IP、Socket、MQTT、抓包与故障定位 |
| 工程、构建与质量 | Git、CMake、交叉编译、测试、Sanitizer |
| 项目表达与求职 | 项目职责、技术难点、量化指标、面试复盘 |
每个能力域包含具体知识点。用户可以逐项点亮自己确认掌握的内容,等级按“已点亮知识点 / 总知识点”自动计算为 0~5 级,不依赖一个看似精确但缺少依据的主观分数。
完成学习任务后,可以填写 1~5 级掌握程度,并将任务加入复习队列。复习结果分为“忘记、模糊、基本掌握、熟练”,系统按照 1、3、7、14、30 天间隔计算下一次复习日期。
6. AI 每日计划建议
AI 计划不是自动写入待办的黑盒功能,而是一个“候选生成器”:
- 前端收集目标岗位、当前阶段、剩余天数、能力掌握度、已点亮 / 未点亮知识点、今日已排任务和剩余时间;
- Kotlin 原生层通过 WebView Bridge 将请求转发到 CloudBase 云函数;
- 云函数调用腾讯混元 MaaS,要求模型返回 4~8 个具体、可验收的任务候选;
- 客户端再次校验任务类型、能力 ID、时长、重复标题和总时长;
- 用户勾选后,候选任务才会真正加入今日计划。
云函数不会使用本地规则伪装成模型结果。当网络、云函数或模型异常时,界面会显示真实失败原因,而不是返回一组看起来像 AI 生成的假数据。
7. 求职看板与复盘
求职页用阶段看板管理岗位记录,阶段包括“意向、已投递、笔试、一面、二面 / 终面、Offer、结束”。每条记录可以保存公司、岗位、下一步日期和备注,并一键创建准备任务。
每日复盘记录当天收获、未完成原因、明天最重要的一件事以及明天计划做几件事。历史复盘按日期倒序保存,避免复盘变成一次性弹窗。
“我的”页面提供最近 7 天的执行周报,包括有效专注时长、任务完成率、学习天数、新增求职记录和每日柱状图,并支持调用 Android 分享能力输出纯文本周报。
技术架构
Android 原生壳
- Kotlin + Android SDK;
minSdk 26,targetSdk 35,Java / Kotlin JVM 17;- 单 Activity 承载本地 WebView 页面;
- 通过
AndroidBridge暴露通知、闹钟、分享、文件选择、行业资讯和 AI 请求等能力; - 使用
AlarmManager实现专注结束提醒和每日计划 / 复盘提醒; - 外部 HTTP(S) 链接交给系统浏览器打开,应用内只加载受信任的本地资源。
本地 Web 应用
- HTML + CSS + 原生 JavaScript,无运行时 CDN 依赖;
- 页面资源随 APK 打包在
app/src/main/assets/www; - 使用
IndexedDB保存 profile、tasks、skills、sessions、applications、reviews、settings 七类数据; - IndexedDB 不可用时回退到
localStorage,保证浏览器预览和部分受限环境仍可工作; - 使用响应式布局、深色主题、语义化按钮和
aria-*属性,适配移动端屏幕。
云端 AI 服务
CloudBase 函数 cloudbase/daily-advice/index.js 同时提供两类能力:
daily-plan:根据能力短板和剩余时间生成今日任务候选;- 行业资讯学习建议:基于真实 RSS 文章生成摘要、关联能力、练习和面试自测问题。
模型密钥只配置在云函数环境变量 TENCENT_MAAS_API_KEY 中,不写入 Android 工程、前端资源或 Git。
关键实现取舍
本地优先,而不是先做账号系统
这是一个个人使用工具,核心数据不依赖登录和云同步。离线时仍然可以创建任务、计时、复盘和复习;只有行业资讯和 AI 建议需要网络。这样既降低了首版复杂度,也减少了学习记录被上传的隐私风险。
时间戳驱动计时,而不是依赖定时器累计
JavaScript 的 setInterval 只能负责刷新界面,真正的计时依据是 startedAt、runStartedAt、elapsedBeforePauseMs 和 endAt。因此页面进入后台、被系统挂起或重新打开后,都可以重新计算实际经过的时间。
AI 负责建议,人负责承诺
AI 只生成候选任务,用户必须明确勾选后才会写入计划。这一设计保留了 AI 的拆解能力,同时避免模型在不了解真实精力和临时安排时替用户做决定。
真实数据优先于“看起来完整”
行业资讯只接受真实 RSS 内容;AI 失败时不返回本地假候选;能力等级由知识点点亮比例计算。项目更关注数据口径可解释,而不是让页面始终显示一个漂亮但不可信的数字。
测试与验证
项目提供 tools/webview-smoke-test.mjs,通过 WebView 调试协议覆盖主要交互链路,包括:
- 底部导航和页面切换;
- 目标设置、任务新增 / 编辑 / 删除;
- AI 候选生成与仅添加已勾选任务;
- 逾期任务按原日期展示;
- 正计时暂停、恢复、最小化和结束;
- 能力知识点点亮与等级更新;
- 求职记录新增、阶段更新和删除;
- 每日复盘与历史复盘;
- Android 原生 Bridge 是否可用。
本地构建 Debug APK:
./gradlew assembleDebugWindows PowerShell:
.\gradlew.bat assembleDebug生成的 APK 默认位于:
app/build/outputs/apk/debug/app-debug.apk项目结构
.├─ app/│ └─ src/main/│ ├─ java/com/qiuzhao/supervisor/│ │ ├─ MainActivity.kt # WebView 容器与原生桥接│ │ ├─ FocusAlarmReceiver.kt # 专注结束通知│ │ └─ DailyReminderReceiver.kt # 每日提醒通知│ ├─ assets/www/│ │ ├─ index.html # 页面结构与弹窗│ │ ├─ css/app.css # 主题与响应式样式│ │ └─ js/app.js # 状态、数据和交互逻辑│ └─ AndroidManifest.xml├─ cloudbase/daily-advice/│ ├─ index.js # AI 计划 / 行业建议云函数│ └─ DEPLOY.md # 部署说明├─ tools/webview-smoke-test.mjs # WebView 端到端冒烟测试└─ REQUIREMENTS.md # 产品需求与验收标准当前状态与后续方向
当前版本已经完成个人使用场景下的 MVP 主链路:本地数据、任务计划、专注计时、能力地图、间隔复习、求职记录、每日 / 历史复盘、原生通知、RSS 行业资讯和 AI 任务建议。
后续可以继续完善:
- 更丰富的日 / 周 / 月统计和图表;
- 周报图片分享、桌面小组件和通知快捷操作;
- 简历版本管理与求职数据导出;
- 可选的端到端加密云同步;
- 更细粒度的岗位能力模板和计划模板。
写在最后
下载
这个项目对我来说,重点不只是“做了一个待办 App”,而是尝试把自己的求职方法固化成一套可执行、可追踪、可复盘的工具:
把目标拆成任务,把任务变成专注记录,把记录沉淀成能力变化,再把复盘结果带回下一次计划。
它仍然是一个个人项目,但也正因为使用者就是我自己,很多交互取舍都来自真实使用中的摩擦,而不是先假设一个理想用户。




























