我正在尝试寻找可以在学校或工作环境之外磨练我的手艺的地方。是否有网上地方或书籍可以访问编程难题或挑战清单?

#1 楼

主持人注意:这旨在成为规范列表;请检查您的建议是否已添加到答案中。如果没有,请编辑答案以添加您的答案,最好提供解释或提出建议的原因。
在Stack Exchange上

选择标签,请按照发布新问题,并尝试解决它们。如果您找到了一个不错的解决方案,请将其标记为以后使用:


堆栈溢出
代码审查社区挑战
编程难题和代码高尔夫
解决算法和数据类型问题

书籍



Adnan Aziz的访谈算法

破解编码访谈(第六版)作者:盖伊·拉克曼(Gayle Laakmann)

史蒂芬·S·斯基耶纳(Steven S. Skiena)的编程挑战>

Algorithm Geeks Google Group
CodeKata
LessThanDot程序员难题论坛
WTF日报自带代码系列
游戏网站和正在进行的比赛



Codingame-有趣的游戏(单人游戏和多人游戏),以练习您的编码技能。支持25种以上的编程语言。
CodeChef

Code Combat-战略策略风格的Java和Python单人和多人游戏。

Hacker.org挑战— “ hacker.org面临的挑战是一系列难题,技巧,测试和脑筋急转弯,旨在探究您的黑客技术的深度。要掌握该系列知识,您需要破解密码,编写巧妙的代码并剖析难以理解的东西;并且在过程中,您将丰富您对黑客世​​界的了解。”

Pex娱乐-来自Microsoft研究的游戏,您在与其他程序员的对决中

Rankk —“您从轻松的级别开始,并通过解决每个级别所需的最少挑战数,逐步发展到中级和硬性级别。到达顶峰的过程是艰巨而又有意义的挑战。您需要有足够的决心和毅力来走远。预计只有少数能到达顶点并达到Geb。“

TopCoder

Google Code Jam-算法难题


4Clojure(Clojure)—“ 4Clojure是一种资源,可帮助初出茅庐的clojurian通过交互式问题学习语言。前几个问题很容易,即使没有经验的人也可以找到学习曲线宽容。有关更多信息,请参见“帮助”。给定问题的最优雅的解决方案效率固然重要,但逻辑清晰地位更加重要。使用内置谓词可以轻松解决一些(简单)问题。但是,在这些情况下,如果您尝试找到自己的解决方案,您会学到更多。 。“
Ruby测验(Ruby)-“本周Perl测验的精神对Ruby程序员来说,Ruby测验是每周的编程挑战。每个星期五都会向Ruby Talk邮件列表发送一个新的Ruby Quiz。“
IOCCC(C)-”编写最模糊/最模糊的C程序的竞赛。 (尝试理解上一年的条目,或者提交一个新的条目很有趣。)一个诚实的错误。 (尝试了解上一年的条目,并学习在其他人的代码中发现类似的错误)“
CheckiO-Python编程挑战。成员可以创建自定义的“任务”。
CCPS的109 Python问题109不同难度级别的Python问题,并带有自动伪随机模糊测试器以验证功能是否正确。

在线判断器/自动评估



Codingbat面临许多编码挑战,从热身到更难的递归问题。它可以使用Java和Python。

Cyber​​-dojo具有多种多样的katas,并且支持多种语言。它旨在支持进行TDD的有计划的实践,但也可以用于个人开发。在线法官

Codewars —培训代码挑战。 />这个网站看起来很有趣,并且至少在Java中有很多问题。另外,正如他们所说,它具有自适应学习算法,可以使学习更有效。

执行力-超过30种语言的挑战将自动进行评估。

问题列表和竞赛存档



ACM / ICPC问题索引@ HIT — ACM国际大学生编程竞赛的问题列表


算法专家-包括算法和其他难题站点的列表

职业生涯杯-收集来自各种科技公司的社区认可的采访问题
Ontairo过去的计算机编程难题的教育计算组织

Facebook上的工程难题-为评估潜在员工而提供的难题
Google Code Jam竞赛归档文件
第九届ICFP编程竞赛年度任务归档文件为评估潜在员工而提供的
编程实践
欧拉项目
罗塞塔代码
TopCoder比赛清单

国际信息学奥林匹克-学生团队的年度内容。 (上一年的问题集)

面向安全的


粉碎堆栈
gera不安全的编程挑战
和编程为主题。


评论


尝试这些挑战-java4732.blogspot.in/2015/06/programming-challenges.html

– Umesh Kushwaha
16/09/10在20:12