我去年动了跳槽的念头,于是又开始刷题。一开始图省事,直接打开浏览器就用 LeetCode,后来发现有些题在牛客上讨论更接地气,再后来为了跑一个爬虫脚本,又去折腾了 Replit 和 GitHub Codespaces。折腾了三个月,踩了一堆坑,也花了不少冤枉钱。今天不吹不黑,就说说这几个在线编程平台到底怎么选。先扔结论:没有全能选手,只有看你当下要干嘛。
刷题平台:LeetCode 和牛客,到底哪个香?
先说数据,截至 2025 年 2 月,LeetCode 题库总量超过 3200 道,其中免费题大约 2000 道,会员价格是 35 美元/月,或者 258 元/年(国区)。牛客网题库也在 3000 道以上,大部分免费,但一些企业真题需要积分兑换,积分靠签到和发帖攒。从执行环境看,LeetCode 对 Python 的时间限制通常在 1 到 2 秒,牛客有些题卡到 0.5 秒,我有一道动态规划在牛客上超时了三次,最后发现是输入读取方式不对,改用 sys.stdin.read() 才过。LeetCode 的社区讨论质量确实高,尤其是英文题解,但中文支持一般,有时候看半天看不懂。牛客的面经和公司真题是杀手锏,但编辑器偶尔卡顿,我遇到过两次代码丢失,气得想砸键盘。所以如果你目标是大厂算法岗,LeetCode 必刷;如果偏国内中小企业,牛客的真题更对口。别纠结,两个都用,反正免费。
云 IDE:Replit、GitHub Codespaces、CodeSandbox 怎么选?
这部分水更深。Replit 免费版给的是 0.5 vCPU、512MB 内存、1GB 存储,出站流量 10GB/月。我拿它跑一个处理 100MB CSV 的 Python 脚本,直接 OOM 被杀,当时我还以为代码写错了,查了半天日志。Replit 适合写个小工具、跑个 API 测试,但机器学习想都别想。GitHub Codespaces 免费额度是每月 120 核时、15GB 存储,默认机器 2 核 8GB 内存,启动一个 Python 环境大约 30 秒。我用它做过一个 Django 项目,体验接近本地 VS Code,但国内访问偶尔要梯子,而且如果你忘了关,核时哗哗地掉。CodeSandbox 免费版给 2 vCPU、2GB 内存、20GB 存储,前端项目秒开,React 和 Vue 模板很全,但后端支持弱,数据库要外接。我建议:写前端 demo 用 CodeSandbox,做全栈项目用 Codespaces,临时跑脚本用 Replit。如果国内网络不好,可以考虑腾讯 Cloud Studio 或阿里云 DevStudio,免费额度也够用。
我踩过的坑和对应的解决方法
第一个坑:免费额度不够用。我的解决方法是组合拳——用 Replit 写原型,用 Codespaces 跑正式项目,刷题只在 LeetCode 和牛客之间切换。第二个坑:在线环境延迟高。有次在 Codespaces 上跑单元测试,延迟 200ms 以上,后来换成国内平台,延迟降到 50ms 以内。第三个坑:刷题没效果。我一开始按顺序刷,刷了 50 题还是不会。后来改成按标签刷,数组、哈希、双指针各刷 20 题,然后参加周赛。坚持了 3 个月,LeetCode 竞赛分从 1200 涨到 1600。具体步骤:1)每天一道每日一题;2)每周一次周赛;3)每道错题写题解,用自己的话。别小看写题解,我写了 30 篇之后,发现很多题都是套路。
说点可能挨骂的观点
在线编程平台最大的价值是即时反馈,但你千万别把它当成全部。我见过有人刷了 1000 题,结果连 Git 都不会用,本地环境都搭不起来。真实工作里,没人给你一个网页写代码。所以我的建议是:初学者可以用在线平台入门,但一定要尽早学会本地 VS Code + Docker + Git。另外,别被会员绑架。LeetCode 免费题足够应付 80% 的面试,除非你要冲大厂高级岗,否则没必要买会员。我去年冲动买了年费,结果三个月只刷了 40 题,血亏。最后,在线编程平台没有最好的,只有最适合你当前任务的。别问哪个好,先问你要干嘛。