【译】2017 年最受欢迎的 10 个编程挑战网站

3,761 阅读6分钟
原文链接: zhuanlan.zhihu.com

在学习编程的过程中,完成编码挑战是一个快速提升编程技能的不错方法。通过解决不同类型的编码挑战与难题,不仅能让你成为处理问题的高手,而且可以帮助你了解编程语言的复杂性,学习新的算法,并能够让你有条不紊的进行面试准备。

在本文中,我将与大家分享一些流行的编码挑战网站,并为大家进行大体的介绍。


1.TopCoder

TopCoder 是一个知名的在线编程竞技平台。它提供了一系列的算法挑战,你可以直接通过其代码编辑器进行在线作答。最受欢迎的 SRMs 挑战项目,将会在每月定期举办。而作为参赛者,你需要以最快的速度,与众多的编程挑战者进行 PK.

在 TopCoder 上排名前列的参赛者,也都是定期参赛的优秀程序员。作为网站上排名首位的程序员 - PETR MITRICHEV,他还维护着名为《算法周刊》的个人博客,他在博客中经常撰写关于编码竞赛、算法、数学等相关内容,感兴趣的朋友可以去看看。

2.Coderbyte

Coderbyte 网站上提供了超过 200 个编码挑战,你可以从 10 种编程语言中选择其中一种,直接在线完成挑战内容(具体请参阅此示例)。挑战的难度则由易(查找字符串中最长单词)至难(图的最大基数匹配)。

网站上还提供了一系列的算法教程、介绍性视频以及 面试准备的相应课程。与 HackerRank 和其他类似网站不同的是,你不仅可以查看 Coderbyte 发布的官方答案,还可以浏览其他用户的解决方案。

3.Project Euler

Project Euler 在计算机科学与数学领域提供了大量的问题与挑战。挑战的内容通常包括编写一个计算数学公式或方程解的小程序,例如,找出数字序列中每个数字之前的所有数字的总和。

由于不能直接在线编程解答,所以你需要预先在自己的电脑上搞定解决方案,然后在其网站上提交即可。

4.HackerRank

HackerRank 在算法、数学、SQL、函数式编程、AI 等众多不同领域为挑战者们提供了相应的编码谜题。你可以直接在线完成几乎所有的挑战(参见本例)。他们为各个挑战项目提供了讨论区与排行榜。大多数挑战的谜题来自于社论,让你更多的了解挑战内容的同时,思考如何解决问题。除了社论,你无法查看其他挑战者在 HackerRank 上的答案。

HackerRank 还支持用户提交个人申请,并通过解决赞助公司的编码挑战来找工作。

5.CodeChef

CodeChefsh 是一个源自印度的编程挑战网站,它提供了数百个挑战项目供你选择。你可以通过在线 编辑器来编写代码,并根据技术等级查看不同分类下的挑战内容(参阅此示例)。他们还建立了一个编程社区,便于用户间交流,撰写 教程,并及时地参加 CodeChef 编码竞赛

6.CodeEval

与 HackerRank 最为相似的是 CodeEval,这是一家使用代码测试帮助雇主找到合适人才的网站。招聘方通过发布并举办编程挑战,招聘优秀的程序开发者入职。如果你有能力搞定相应的挑战,那么工作自然不用愁。你可以在这里查看当前的挑战列表。

7.Codewars

CodeWars 是一个通过实战训练来提升编程开发技能的网站。它提供了基于社区中经典问题的挑战题目,你可以使用多种编程语言像打游戏升级一样,通过在线编辑器直接完成每项挑战,同时还可以查看、讨论其他用户的解决方案。

8.LeetCode

LeetCode 是一个流行的 Online Judge ,它提供了 190+ 编程题目,可以帮助你在线刷各大 IT 公司的笔试/面试题。你可以在 9 种编程语言中的任意其一,在线完成相应的挑战题目。虽然,你无法查看其他用户的答案,但网站将为你提供与其他用户答案分析对比后的相应信息,例如你可以间接地了解你的代码运行速度。

他们还提供了针对大厂的 Mock 面试部分,并且也会主办一些编程比赛,你也可以通过浏览他们的博客文章,更好地了解某些问题的解决方案。

9.SPOJ

Sphere Online Judge ( SPOJ )是一个提供超过 20K 编程挑战项目的 Online Judge,它也支持在线提交代码。SPOJ 会不定期的举办一系列编程挑战竞赛,同时他们还建立了一个针对编程挑战的用户讨论区。但它与其他网站不同的是,他们没有提供官方的解决方案。

10.CodinGame

CodinGame 与其他编程挑战网站有所不同,因为它提供了趣味性的游戏方式,让你通过在线编码解决相应的挑战。你可以在这里查看游戏列表,并在 这里查看相应的示例。在游戏中会有相关的问题描述、测试用例以及在线编辑器,你只需要编写相应的代码就可以开始挑战了(20+ 编程语言任选其一)。

虽然,这个网站与上述那些竞争性的编程网站有所不同,但玩过的朋友也都觉得很棒。

最后

上述分享的网站列表内容,一些网站是我用过感觉不错的,一些是利用谷歌搜索的,还有一些则是 Quora 上的文章以及其他相关文章推荐的,希望它们能对你有所帮助。还有一点要说明下,我目前在 Coderbyte 工作。


感谢你的阅读。若你有所收获,欢迎点赞与分享。

注:

  1. 本文版权归原作者所有,仅用于学习与交流;
  2. 如需转载译文,烦请按下方注明出处信息,谢谢!
英文原文:The 10 most popular coding challenge websites for 2017
作者:Daniel Borowski
译者:IT程序狮
译文地址:jianshu.com/p/709b8e03b

更多文章:

  1. 精选!15 个必备的 VSCode 插件
  2. 磨练编程技巧的 10 个益智网站
  3. 老司机推荐!4 个国内优秀的编程学习网站
  4. 10 个免费学编程的最佳网站

同时也欢迎关注我的微信【IT程序狮】,不定期分享 IT 学习文章与资源。