Codewars 与 Exercism 做题失败:超时、令牌无效与赛道没加入
Codewars 的题目叫 kata,等级从 8 kyu 往上。页面能开,提交后常见 Execution Timed Out,或题目标成 retired,训练模式和正式提交用的不是同一套结果。Exercism 要先在网站加入语言赛道,再到账户设置复制接口令牌,用命令行下载练习。令牌抄错时原文是令牌无效;没点加入就下载,会提示你还不在这条赛道上。
国内打开时,有的是站点本身慢,有的是提交请求中途换了出口,判题会话被拆开。命令行若没走同一条线路,网页能交、本机不能下载。下面按网站、令牌、本地测试和提交分开做。题目版权和导师回复时限以官方最新条款为准。
两个练习站差在哪
不要把一边的令牌贴到另一边。Exercism 的令牌只给它自己的命令行用。Codewars 没有这串令牌,提交失败时去看超时和语言版本,而不是去找接口密钥。
| 对比项 | Codewars | Exercism |
|---|---|---|
| 主要入口 | 网页提交 | 网页加入赛道,命令行下载 |
| 失败原文 | 执行超时、题目已退役 | 令牌无效、未加入赛道 |
| 本地运行 | 以网页编辑器为主 | 本地测试通过后再提交 |
| 反馈 | 看测试输出 | 可请求导师点评 |
| 进度 | 荣誉和段位在账号里 | 按语言赛道分开 |
| 账号 | 站内注册或第三方登录 | 网站账号加个人令牌 |
从打不开到能交题:分步操作步骤
- 第一步:先把线路准备好,连上刺猬VPN,再打开 codewars.com 或 exercism.org。需要访问境外练习站时,先连上再注册和提交,不要在判题进行中换节点。自定义用户名和密码即可完成匿名注册,不需要邮箱、也不需要手机号。免费节点永久免费、不限流量、不限速,适合先确认题面能否打开。
- 第二步:提交和下载练习时用全局模式。判题域名、静态题面和命令行请求不一定同一个主机。智能分流漏掉提交地址时,题面正常、按钮一直转。做完再切回按域名和 IP 的智能分流。
- 第三步:Codewars 先做一题 8 kyu,语言选你本机也装了的那一种。看题面标注的语言版本,不要用更新的语法写旧版本判题器不认识的代码。
- 第四步:先跑样例测试,再正式提交。样例过了仍超时,把循环和递归收一收,超时是判题器的时间上限,不是你的网速数字。
- 第五步:题目标成 retired 就换题。退役题可能仍能看题解讨论,但不再作为正常训练路径。不要为了补荣誉反复交退役题。
- 第六步:Exercism 在网站点进语言,先按加入赛道。没加入就执行下载,命令行会拒绝。
- 第七步:到账户设置复制接口令牌,在本机执行配置命令把令牌写进本地。令牌只显示一次的话,当场保存到密码管理器,不要贴在公开笔记里。
- 第八步:下载指定练习到空目录,在本地按说明跑测试。测试通过后再提交。本地失败却先提交,导师看到的是没跑过的代码。
- 第九步:命令行和浏览器要用同一条线路。只给浏览器开代理时,终端里的下载会走系统网络,表现就是网页能登录、命令行超时。
按现象排查:判题、令牌与赛道
先看失败出现在网页按钮还是终端原文,两边的「失败」不是同一层。
- Execution Timed Out:代码复杂度超过这题的时间上限,或判题请求中断后被当成超时。先在本地缩小数据量试逻辑,再在固定节点重新提交一次。
- 题目已退役:作者或站点下线了这题。换一条仍在训练列表里的题,不要换节点硬交。
- 提交按钮转圈后回到原页面:提交请求没走线路。全局模式重试,不要连点,以免触发访问频率限制。
- 提示访问过于频繁:短时间换节点并连续提交。停几分钟,固定一个节点再交。
- Exercism 令牌无效:复制时多了空格或换行,或令牌已在网站上轮换。重新复制,再执行配置,不要把旧令牌留在脚本里。
- 未加入赛道:网站上没点加入就下载。浏览器里加入该语言后,再下载同一题。
- 本地测试通过、提交失败:提交时的网络中断,或做的练习标识和目录不一致。对着练习名再提交一次。
- 导师区是空的:还没请求点评,或点评本来就不是即时的。先确认测试是绿的,再点请求,不要重复开新请求。
浏览器和终端要走同一条路
电脑浏览器适合看题面和讨论。终端负责 Exercism 的下载、测试和提交。两边出口不一致时,网站显示已登录,终端仍说连不上。处理办法是让系统走全局模式,而不是只在浏览器里挂一个代理。
公司电脑如果终端被限制安装命令行工具,就先在个人电脑把令牌配置好,不要把令牌写进仓库。令牌和代码一起提交到公开仓库,等于把账号交出去。
从只在网页做题改成命令行时按这个顺序:网站加入赛道;复制新令牌;本机配置;下载一题最小练习;本地测试通过;再提交。跳过加入赛道,后面每一步都会报未加入。
Codewars 的荣誉不会同步到 Exercism 的赛道进度。想在简历里写练习量,要写明是哪个站的哪门语言,不要把两个数字加在一起。
编辑器里的自动补全只帮你写代码,不负责把请求送进判题器。补全正常而提交失败,仍要回到线路和超时这两件事,不要重装编辑器。
语言版本写在题面侧面,不在编辑器设置里。本机用较新的写法,判题器若还停在旧版本,会直接语法错误。这种失败发生在测试之前,不要把它当成超时,也不要为此更换节点。
样例只覆盖几组数据,完整提交会加上边界。样例能过、完整提交才超时,是题目如此设计,不是线路把后半段丢掉。先在本地用更大的输入试一遍逻辑,再交一次。
命令行配置成功的标志,是下载之后空目录里出现练习文件,不是配置那一步没有报错。配置往往只把令牌存进本机,不会替你在网站上加入赛道。目录是空的,就回到网站检查有没有加入。
讨论区可以看思路,不要整段抄进提交框。抄来的代码和当前语言版本不符时,会在超时之外再出现一串编译错误,更难分辨。每天固定时间提交,比连着点按钮更不容易碰到频率限制。限制还在时,换节点没有帮助。
练习目录放在短路径下,不要带空格。路径太深时,测试脚本会在进入判题前就失败,看起来像提交被拒。换一个简单目录再下载,比改线路快。同一题不要在两个文件夹各改一版。提交用的是当前目录,你改的是另一个文件夹,网站上仍是旧代码。
荣誉和赛道进度刷新没有那么快。刚提交就看段位,可能还是旧数字。等一会儿再看,不要为了刷新再交一次同样的代码。交完先看测试是否全部通过再离开。只看到提交成功、没看失败用例,第二天会以为是线路把结果弄丢了。
线路怎么选:提交怕的是中途断开
做题流量远小于视频,失败多在提交没走完。免费节点用来确认题面和登录;每天交题就用时长套餐,期间不限流量、不限速。刺猬VPN自身不对账号设速率上限,实际速度受本地网络和判题站影响。实际可用性取决于当前网络环境。
| 对比项 | 会员节点 | 免费节点 | 只开浏览器代理 |
|---|---|---|---|
| 打开题面 | 固定一个节点 | 适合先试能否打开 | 网页也许能开 |
| 正式提交 | 时长套餐期间不限流量、不限速 | 可以交短题 | 终端可能不走线路 |
| 命令行下载 | 与浏览器同一出口 | 取决是否全局 | 经常超时 |
| 中途换节点 | 容易把判题会话拆开 | 同左 | 更难判断 |
| 流量 | 题面很小 | 永久免费、不限流量、不限速 | 流量不大 |
| 适合 | 每天练习 | 偶尔打开一题 | 不适合 Exercism |
和刷题站、编辑器助手怎么分工
算法题和在线评测的账号体系不同。力扣和 HackerRank 的登录、判题语言和国内站差异见 力扣与 HackerRank。那边的通过记录不会出现在 Codewars 的荣誉里。
编辑器里的补全工具只改你本地的代码,不代替提交。怎么用、以及它和账号的关系,见 GitHub Copilot 使用。补全写出来的代码仍然要过这题自己的测试,超时还是得改算法。
常见报错速查表
| 现象 | 原因 | 解决办法 |
|---|---|---|
| 执行超时 | 算法过慢或提交中断 | 先收束逻辑,固定节点再交一次 |
| 题目已退役 | 题目退出训练路径 | 换一题仍开放的练习 |
| 提交后回到原页 | 提交请求没走线路 | 全局模式,不要连点 |
| 访问过于频繁 | 短时间多次提交或换节点 | 停几分钟再交 |
| 令牌无效 | 复制错误或令牌已更换 | 重新复制并配置 |
| 未加入赛道 | 网站上没点加入 | 先加入该语言再下载 |
| 本地通过但交不上去 | 提交中断或练习名不一致 | 核对练习名后再提交 |
高频问答
- 问:超时是网速不够吗?答:多数是代码超过判题时间,或这次请求被中断。网速再快也不会让死循环通过。
- 问:Exercism 令牌能给别人用吗?答:不要。令牌等于你的提交身份。泄露后到网站作废并换一把。
- 问:必须先本地测试吗?答:Exercism 的设计就是本地测试再提交。跳过测试,导师看到的是未验证的代码。
- 问:Codewars 的段位和 Exercism 通用吗?答:不通用。两个站的进度各记各的。
- 问:终端超时但网页正常,怎么办?答:终端没走线路。改成全局模式,不要只代理浏览器。
- 问:退役题的讨论还能看吗?答:有的还能打开。能不能再提交以题目页当时的状态为准,以官方最新条款为准。
每天练习时少把账号搞乱
Codewars 与 Exercism 打不开、提交超时、令牌无效或提示没加入赛道,先分开处理。网页判题看语言版本和是否退役;命令行看令牌、是否已加入赛道、终端有没有走同一条线路。令牌不要进仓库。提交中途不要换节点。
刺猬VPN采用 HTTPS+AES 加密,支持自定义用户名和密码匿名注册,不需要邮箱和手机号。免费节点永久免费、不限流量、不限速,用来确认题面能否打开;时长套餐在有效期内不限流量、不限速。一个账号支持多设备同时在线。题目规则以官方最新条款为准,实际可用性取决于当前网络环境。
开发者的稳定通道:用刺猬VPN流畅访问 GitHub 与全球开发资源
刺猬VPN提供永久免费节点,不限流量;无需邮箱,自定义用户名即可匿名注册。一个账号支持多设备同时在线,实际可用性取决于当前网络环境。