1. 为什么需要开机自动打开算法题页面?
去年我刚开始准备技术面试时,经常遇到一个尴尬情况:早上打开电脑后,总会被各种琐事分散注意力,等回过神来已经过去两小时,算法题却一题都没刷。后来我发现,环境设计对习惯养成至关重要——就像健身达人会把运动装备放在显眼位置一样,我们也可以让刷题成为开机后的"默认动作"。
这个方案特别适合:
- 需要持续练习算法题的求职者
- 准备编程竞赛的学生
- 想培养每日刷题习惯的开发者
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 技术方案选型对比
2.1 Windows原生方案:任务计划程序+BAT脚本
这是最轻量级的实现方式,适合所有Windows用户。我实测在Windows 10和11上都运行稳定。
优势:
- 零依赖,不需要安装额外软件
- 执行效率高,几乎不占用系统资源
- 配置简单,5分钟即可完成
典型实现代码:
bat复制@echo off
start "" "C:\Program Files\Google\Chrome\Application\chrome.exe" https://leetcode.com/problemset/all/
2.2 Python方案(跨平台)
如果需要更复杂的逻辑控制,比如随机选择题目或记录刷题历史,Python是更好的选择。
安装依赖:
bash复制pip install pywin32 selenium
示例脚本:
python复制import webbrowser
import random
problems = [
"https://leetcode.com/problems/two-sum/",
"https://leetcode.com/problems/valid-parentheses/",
"https://leetcode.com/problems/merge-two-sorted-lists/"
]
webbrowser.open(random.choice(problems))
3. 详细配置指南(以BAT方案为例)
3.1 创建批处理脚本
- 新建文本文档,粘贴以下内容:
bat复制@echo off
timeout /t 10 /nobreak
start "" "chrome.exe" --new-window https://leetcode.com/problemset/all/
- 另存为
leetcode_auto.bat,注意:- 保存类型选"所有文件"
- 编码选ANSI(避免中文乱码)
关键参数说明:
timeout /t 10:延迟10秒执行,避免开机时系统资源紧张--new-window:强制在新窗口打开
3.2 配置任务计划程序
- Win+R打开运行,输入
taskschd.msc - 右侧点击"创建任务"
- 常规选项卡:
- 名称:
每日刷题提醒 - 勾选"使用最高权限运行"
- 名称:
- 触发器选项卡:
- 新建 → 选择"登录时"
- 延迟任务时间建议设为1分钟
- 操作选项卡:
- 程序/脚本:浏览选择刚才的bat文件
- 条件选项卡:
- 取消勾选"只有在计算机使用交流电源时才启动此任务"
- 设置选项卡:
- 勾选"如果任务失败,按以下频率重新启动",间隔设为1分钟
4. 高级定制技巧
4.1 多平台同步方案
如果你同时在Windows和Mac上工作,可以配合使用浏览器书签同步功能:
- 在Chrome中创建"每日刷题"书签文件夹
- 添加常用刷题网站(LeetCode、牛客网等)
- 启用Chrome同步功能
然后在开机脚本中使用:
bat复制start "" "chrome.exe" --restore-last-session
4.2 随机题目选择器
这个Python脚本会随机打开一道中等难度算法题:
python复制import webbrowser
import requests
import random
res = requests.get("https://leetcode.com/api/problems/algorithms/")
data = res.json()
medium_problems = [
p for p in data['stat_status_pairs']
if p['difficulty']['level'] == 2
]
random_problem = random.choice(medium_problems)
url = f"https://leetcode.com/problems/{random_problem['stat']['question__title_slug']}/"
webbrowser.open(url)
5. 常见问题排查
5.1 脚本没有自动运行
检查步骤:
- 右键任务 → 运行,测试是否能正常执行
- 查看"上次运行结果"(状态应为0x0)
- 检查bat文件路径是否包含中文或空格(建议放在C根目录)
- 确认Chrome安装路径是否正确(64位系统默认路径为
C:\Program Files\Google)
5.2 页面加载不正常
解决方案:
- 在脚本中添加
--disable-extensions参数禁用插件 - 使用
--incognito参数启动无痕模式 - 增加延迟时间(有些网站有反爬机制)
完整参数示例:
bat复制start "" "chrome.exe" --incognito --disable-extensions https://leetcode.com
6. 效果优化建议
- 配合浏览器插件(如LeetCode Enhancer)获得更好的刷题体验
- 在脚本中添加日志记录功能,追踪刷题进度
- 设置完成提醒(如刷完一题后播放提示音)
- 与待办事项工具集成(如自动添加Todoist任务)
我自己的配置中还加入了天气显示和每日一句编程名言,这些都可以通过简单的脚本扩展实现。关键是让这个开机动作既实用又有仪式感,形成正向激励循环。
