常用面试编程训练5大网站
编程挑战可以极好地:
学习另辟蹊径地完成事情
练习一种新的编程语言
遇到关键问题进行解决
保持我们的大脑敏锐且专注
玩得开心!
在我寻找最好的编程挑战的过程中,我缩小到五个好资源。相信它们可以在你的编程之旅中极大地帮助你,或者可以满足学习和探索计算机科学更多领域的目的。
LeetCode
传送门:https://leetcode.com/
首要推荐的就是LeetCode。这个网站应该是最广为流传,也是公认最适合的准备算法面试编程的网站了。这个网站现在有200+道算法编程题,支持c/c++, Java, Python等多种语言的测评。现在这个网站扩充了题目类型,已经加入了数据库SQL语言题目和Shell编程题目。
LintCode
传送门:http://www.lintcode.com
TopCoder
TopCoder是最开始的在线竞技编程平台之一。它提供了很多的算法挑战,用户可以使用平台上的编辑器直接完成挑战。每个月该平台会提供几次它们最受欢迎的Single Round Matches,比赛要求用户在特定的时间内与他人竞争,看谁解决问题的速度更快。
TopCoder上排名靠前的用户都是很有竞争力的程序员,他们会定期参加各种比赛。这些用户还可以通过名称为ALGORITHMS WEEKLY BY PETR MITRICHEV的博客平台去发表一些关于编程竞赛、算法、数学等方面的文章。
Coderbyte
Coderbyte提供了200多项编码挑战,挑战者可以使用10门编程语言中的任意一种直接在线解决(看看这个例子)。这些挑战的难易程度各不相同。
另外Coderbyte还提供了很多的算法教程,入门视频和面试准备的课程。与HackerRank和其它网站不同,用户可以查看其他挑战者提供的解决方案,而不是Coderbyte*官方*发布的。
中国大学MOOC(慕课)
主要是免费,在这里有很多的名校课程,课后有习题测试和考试。适合自行选择课程学习,对大学生来说来补充课程上的不足是非常有必要的。
大学计算机专业 - 网易云课堂
网易云课堂的计算机专业,这里的课程比较系统的能帮助大家学习,劣势是很多的课程开课时间需要等待。
Project Euler
Project Euler提供了很多关于计算机科学和数学领域的挑战。挑战内容大致都是要求挑战者编写一段小程序从而为某个数学公式或方程式提供解决方案。
由于不支持直接在编辑器上编程,因此需要用户在自己的电脑上先写好解决方案,然后在网站上再提供出来。
HackerRank
HackerRank提供了很多不同领域的挑战,比如算法、数学、SQL、函数式编程、人工智能等等。挑战者可以直接在线完成所有挑战(看看这个例子)。HackerRank针对每一项挑战专门成立了讨论和领导委员会,而大多数挑战来自于一篇社论,它解释了更多的挑战,以及如何接近它提出解决方案。除了这篇社论,你目前还不能看到其他用户在HackerRank上的解决方案。
HackerRank还支持用户提交应用程序,而且通过解决公司发起的编码挑战,挑战者还有机会获得一份工作。
aGupieWare
一个独立APP开发者从美国的一些领先机构调查了计算机科学程序,然后基于斯坦福大学,麻省理工学院,卡耐基梅隆大学伯克利分校和哥伦比亚大学提供的免费课程,它创建了一个类似的课程。该程序分为15个课程:3个入门课程,7门核心课程和5个选修课程。
GitHub
这个我想大多数开发者都知道就不多说了,作为开源代码库以及版本控制系统,Github拥有140多万开发者用户。
Rosalind
这是个稍微比较特别的方法,但仍然不失是一个很棒的解决和学习编程问题的方法。Rosalind 提供一些关于生物信息学的挑战,你可以按照自己的节奏来解决。
FightCode
你可以编写你自己的机器人,然后用它们来和社区里的其他成员比拼。它是一种 “即编即用” 型的平台,但如果是初学这种方法或者只是想找点乐趣,它还是非常有用的。试试看这些文档,好更了解它一些。
UDACITY
传送门:https://cn.udacity.com/
这个网站时一个盈利性的网站,由斯坦福大学的教授来创办,主要教授的是HTML5以及WEB和JAVA等。该网站还会有很多作业,这些作业主要和编程、软件测试等相关。不仅如此,每个单元都有相应的练习与答案,而且这些答案有独立的视频。如果在这个网站学习编程,再也不用担心没有编程实例。
Google’s Python Class
Google它本身就被一大堆Python代码驱动着,只有他们提供社区支持并且愿意帮助其他人学习这门语言才更有意义。这是我曾经最喜欢看的指南和课程之一。它真的很详细,而且视频适合初学者,观看起来也很有趣。
来源于网络