原文:The 10 Best Coding Challenge Websites for 2018
作者:Daniel Borowski
翻译:a3192048
在2016年底,我发表了一篇文章:The 10 most popular coding challenge websites for 2017.该列表基于一些资源,如热门博客帖子,Quora帖子,文章,Google搜索以及论坛等热门帖子(如r/learnprogramming 和 Hacker News)。
这个更新的2018年列表包含10个网站,提供最佳的编码挑战和资源,以帮助初级和中级开发人员提高他们的技能,准备面试,并在他们的职业生涯中取得进步。 列表的顺序基于难易程度(从初级到高级)。
1. Coderbyte
适合等级:初级 ~ 中级
Coderbyte提供200多种编码挑战,您可以使用10种不同的编程语言在在线编辑器中解决这些挑战。 它还为一些挑战提供官方解决方案以及800,000多个用户解决方案。Coderbyte 曾因其丰富的面试题准备库而得到top coding bootcamps的推荐。
除编码挑战外,他们还提供 Algorithms & Data Structures, Web Development 以及coding bootcamps的预备课程。
2. Codewars
适合等级:初级 ~ 中级
Codewars提供了由他们自己的社区提交和编辑的大量编码挑战。 您可以使用20多种编程语言之一在其编辑器中直接online(在线)解决难题。 您可以查看每个挑战的讨论以及用户解决方案。 您可以通过解决他们的挑战来获得积分并攀升排名。
3. CodeFights
适合等级:初级 ~ 中级
CodeFights提供了一系列编码挑战,供您在其在线编辑器中解决,并且有一个供用户讨论挑战的 forum(论坛)。 他们还有一个名为 Company Bots (公司机器人)的功能,你可以编写代码来和由Uber,Dropbox和Quora等公司的工程师编写的“机器人”比赛。
4. CodinGame
适合等级:初级 ~ 中级
这个网站与上面列出的网站不同,因为在CodinGame上你不是简单地通过产生一组输出来解决编码挑战,而是编写代码来实际在线玩游戏。 这是一个很棒的网站,一旦你编写代码,一些游戏就很有趣(见example(例子))。 游戏图形很好,编辑器/游戏UI非常流畅。 总的来说,这是一个很好的网站,适合初学者学习编码。
5. TopCoder
适合等级:初级 ~ 高级
TopCoder是在线竞争性编程的最早的平台之一。 它提供了过去的algorithmic challenges(算法挑战)清单,您可以使用他们的代码编辑器直接在线完成这些挑战。 他们受欢迎的单轮比赛在特定时间每月提供几次,在那里你可以与其他人竞争以解决挑战。 他们的挑战可能涵盖的一些 topics(主题)。
除了解决在线娱乐挑战之外,他们还提供赞助比赛,您可以在这里 win prizes (赢得奖品),以便撰写最佳解决方案。
6. HackerRank
适合等级:中级 ~ 高级
HackerRank专注于计算机科学主题,因此它为多个领域提供了挑战,如算法,数学,SQL,函数编程,AI等。 您可以直接在线解决所有挑战(参见example(示例))。 它们为每一项挑战提供了讨论和排行榜,而大多数挑战都来自一篇社论,该社论更多地解释了挑战以及如何处理挑战以提出解决方案。
7. LeetCode
适合等级:中级 ~ 高级
LeetCode汇集了当今在线的一些最佳算法挑战。 他们所涵盖的主题需要知道数据结构,如二叉树,堆,链表等,这就是为什么他们的挑战比其他一些网站更先进的原因 - 不过对软件工程师面试准备来说再好不过了。
他们还有一个Mock Interview (模拟面试)板块,专门用于面试准备,他们主持自己的编码contests(竞赛),他们有一个articles (文章)板块,以帮助您更好地了解某些问题。
8. CodeChef
适合等级:中级 ~ 高级
CodeChef是一个印度竞争性编程website(网站),提供数百个挑战。 您可以在其在线editor(编辑器)中编写代码,并根据您的技能水平查看分为不同类别的挑战集合(请参阅example(示例))。 他们有一个庞大的编码社区,为论坛做贡献,编写tutorials(教程),并参与CodeChef的编码 competitions(竞赛)。
9. GeeksforGeeks
适合等级:中级 ~ 高级
GeeksforGeeks拥有针对算法和数据结构主题的best collection (最佳文章),解释和代码解决方案。 您可以在 example here (此处)看到如何将复杂问题分解为更简单的部分,解释解决方案然后提供代码解决方案的示例。 他们还有一个在线editor(编辑器),您可以在看到解决方案之前自己练习解决挑战。
如果您正在准备进行软件工程面试,那么您一定要使用本网站来准备,以及复习一下那些更难的算法问题。
10. Codeforces
适合等级:高级
Codeforces是一家总部位于俄罗斯的竞争性编程website(网站),定期举办一些世界上best(最具竞争力)的程序员在线竞争的竞赛。 如果您是初学者,他们的挑战很可能对您来说太高级了 - 这里有一些最近的挑战例子some examples。 他们的挑战通常需要高深的数学和算法知识。
与last years article(去年的文章)一样,这10大网站基于:我自己使用所有这些网站的经验,Google searches(谷歌搜索),Quora帖子以及去年文章中用户的comments(评论)。 我还关注了人们在 r/learnprogramming 和Hacker News等热门论坛上提到的网站。 免责声明:我在Coderbyte工作,这是上面提到的网站之一。
原文链接:https://medium.com/coderbyte/the-10-best-coding-challenge-websites-for-2018-12b57645b654