英文原文:10 Online Coding Contests For Programmers!
如果你拥有出色的编码技能,或者虽然你只是名初学者,但你愿意去锻炼自己的编码能力,愿意去和顶尖的编码者进行 PK,那么这篇文章就是为你而准备的。本文提供了 11 个在线编码竞赛,与来自世界各地的编码人员进行 PK。
文中提及的这些网站都有各自的实践问题、训练课程以及竞赛试题。另外,这些项目的赞助商(包括微软、IBM、Facebook 等)公司负责人也在密切关注此项目,或许你就是下一个幸运儿,让你有机会在这些大公司实习或工作。感兴趣的话就来试试吧!
1. Topcoder
TopCoder 可以说是全球最大的竞赛软件开发社区,全球各地的开发者都会来此参加比赛。该社区提供各种类型的编程竞赛,包括算法、测试、设计、组装、SRM、马拉松等。赞助商包括微软和 NSA 等一些巨头公司为获奖者提供现金奖励。提交的解决方案可以采用的语言有:Java、C++、C#或 VB。
2. CodeChef
CodeChef 是一个非营利性组织,这是印度的一家软件公司 DirectI 提供的,总部设在孟买。它是一个全球性的编程社区,举办网上竞赛、培训等各种活动。
3. Sphere online judge (SPOJ)
Sphere online judge 是最早的竞赛网站之一,支持超过 40 种编程语言以及编译器。如今,SPOJ 平台已经建立了在线评测系统,用于自动评估用户提交的项目。
4. CodingBat
CodingBat 是一个现场编程网站,支持利用 Java 和 Python 构建的相关问题。该问题提供即时反馈,此外,它还可以作为编码者实践和掌握编程基础知识的实用平台。
5. Google Code Jam
由谷歌公司推出的 Google Code Jam 是一年一度的编程竞赛。在这里,专业人士和学生程序员可自主选择编程语言在有限的时间内挑战复杂的算法竞赛。
6. Dream in Code
Dream In Code (DIC)是一个专为程序员和 Web 开发者提供的在线社区。该社区会员可以免费访问成千上万的编程教程、代码片段、论坛主题等。
7. Codeforces
Codeforces 是一个在线编程平台,基于该平台你可以练习各种问题,提交竞赛试题并与其他用户提交的问题进行 PK。
8. UVa Online Judge
这个在线编码网站是由西班牙 Valladolid(巴利亚多利德)大学维护。在这里你可以找到以往编程竞赛各种类型问题,包括 ACM 国际编程大赛;此外你还可以提交各种编程语言的源代码。
9. Python Challenge
以 Python 为主,Python Challenge 是个系列性的编程竞赛。尽管任何一门语言都可用来解决这个问题,但倘若你用 Python,将更加有助于你理解问题。
10. Facebook Puzzles
顾名思义,这套编程问题是由 Facebook 提供的。用户可以利用各种语言提交解决方案,包括C++、C、Haskell、Java、Perl、PHP、Python、Ruby。
11. ACM-ICPC
ACM – ICPC 是世界上最大的编程竞赛之一,每年举行一次。该竞赛是由 IBM 为学生团队组织的。这个竞赛主要涉及编程算法问题。从各个地区中选拨,最终进入世界级总决赛。目前支持两种语言:C/C++和 Java。
值得一提的是,还有一些平台也不错,它们是 IEEEXtreme,hackers.org,Timus Online Judge,DWITE。