简评:作者根据难度列了一个 Top 10 编程挑战网页。

1. Coderbyte

null

初级 —— 中级

Coderbyte 提供了 200+ 编程挑战,你可以在在线编辑器中使用 10 种不同的编程语言来解决问题。它也从 800,000+ 用户答案中选取了一些作为官方解答。Coderbyte 被顶尖编程训练营推荐了,因为它收集了一些面试题。

同时,他们还提供了算法 & 数据结构网页开发以及编程训练营等课程。

2. Codewars

null

初级 —— 中级

Codewars 收集了大量来与他们社区的题目。你可以使用 20+ 编程语言在线解答。你可以查看每个挑战的讨论以及其他用户的答案。你可以通过解答题目来获得积分,从而提升自己的排名。

3. CodeFights

null

初级 —— 中级

CodeFights 收集了一些编程题,你可以在线解答,也可以在论坛中参与讨论题目。他们还有一个叫“公司机器人”的功能,你可以通过编程机器人与 Uber,Dropbox,Quora 等公司的工程师对抗。

4. CodinGame

null

初级 —— 中级

这个网站有别于上面列出的,因为它不是通过生成一组输出来解决一些编程问题,在 CodinGame 中,你通过写代码来玩一个在线游戏。这是一个很棒的网站,通过自己写的代码,你会看到一些很有趣的游戏(看看这些例子)。游戏图像很好,编辑器/游戏 UI 也很平滑。总的来说这是一个初学者学习代码非常好的网站。

5. TopCoder

null

中级 —— 高级

TopCoder 是最早的在线编程竞赛网站平台之一。它提供了一个过去的算法挑战清单,你可以使用他们的编辑器直接在线完成。他们广受欢迎的单轮比赛会在每个月的特定时间举行几次,你可以和其他挑战者进行比赛。这里是他们的挑战可能覆盖的一些话题

除了解决在线的挑战之外,他们还会举办赞助比赛,你可以通过写出最佳方案赢得一些奖品

6. HackerRank

null

中级 —— 高级

HackerRank 专注于计算机科学话题,所以它提供了一些算法,数学,SQL,函数式编程, AI 等领域的挑战。你可以直接在线答题(查看例子)。他们为每个挑战提供了讨论和排行榜,大部分的挑战来自于社论,这个社论更多地解释了这个挑战以及如何解决这个挑战。

7. LeetCode

null

中级 —— 高级

LeetCode 目前收集了一些最好的算法挑战。它们覆盖的话题需要一些二叉树,堆,链表等数据结构知识,这就是为什么他们的挑战比其他网站更高级的原因 —— 同时这些挑战也很棒,如果用来准备软件工程师面试的话。

他们还有个模拟面试的板块,特地为面试准备,他们举办自己的编程竞赛,还有一个文章的板块,可以帮助你更好的理解一些问题。

8. CodeChef

null

中级 —— 高级

CodeChef 是一个印度人为主的编程竞赛网站。你可以在他们的在线编辑器编写代码,以及查看一些挑战,这些挑战根据你自己的技能等级分成不同的目录(查看例子)。他们有一个很大的开发者社区,贡献过一些论坛,编写教程,以及参与 CodeChef 的编程竞赛

9. GeeksforGeeks

null

中级 —— 高级

GeeksforGeeks 收藏了最好的算法和数据结构方面的话题,包括文章,解释,代码解答等。你可以通过一个例子来看看他们是如何把一个复杂的问题分解成一些简单的部分,解释并提供代码解答。他们也有在线编辑器来让你在查看答案之前先自行练习解决挑战。

如果你在准备软件工程师面试,用这个网站来准备面试,并且刷掉算法难题,实在是再好不过的选择。

10. Codeforces

null

高级

Codeforces 是俄罗斯人为主的编程竞赛网站。他们经常举办在线竞赛,一些世界上最好的程序员都会参与。如果你是一个初学者,那么他们的挑战对于你来说可能会难度太高 —— 这是一些他们最近的挑战。他们的挑战通常需要具备高级数学和算法知识。

原作者: Daniel Borowski

原文链接:https://medium.com/coderbyte/the-10-best-coding-challenge-websites-for-2018-12b57645b654