对于软件开发人员来说,保持编程的竞技水平是非常有必要的。
通过解决不同类型的编程难题,迎接不同类型的编程挑战,不仅能让你成为处理问题的高手,帮助你了解编程语言的复杂性,还能让你学习到更多新的算法,变得越来越优秀。
下面是几个优质的编程网站,有利于帮助大家提高编程技能,准备技术面试,促进大家的职业发展。
01
TopCoder


TopCoder 是最早的在线编程竞技平台之一,该网站提供了一系列的算法挑战。
在这里,你可以:
他们还会赞助竞赛,如果你写出最好的解决方案,就可以拿到奖励!
官网 | https://www.topcoder.com/ |
|---|
HackerRank


HackerRank 侧重于“计算机科学”主题,在算法、数学、SQL、函数式编程、AI 等众多不同领域为挑战者们提供了相应的编程题目。
在这里,你可以:
官网 | https://www.hackerrank.com/ |
|---|


LintCode 收集了网上一些最常见、最高频的编程题目,支持中英双语:
官网 | https://www.lintcode.com/ |
|---|


对于“算法和数据结构”主题,GeeksforGeeks 有很多很好的文章、解释和代码解决方案。
在这里,你可以:
如果你正在准备一个软件工程的面试,也可以用这个网站准备和复习更难的算法问题。
官网 | https://www.geeksforgeeks.org/ |
|---|


Coderbyte 提供了200多种编程挑战。
在这里,你可以:
除了编程挑战之外,Coderbyte 还提供算法和数据结构、Web开发等编程训练营的预备课程以及一系列关于面试准备的相应课程,被很多顶级编程训练营所推荐。
官网 | https://www.coderbyte.com/ |
|---|


Codewars 提供了大量由他们自己的社区提交和编辑的编程挑战。
在这里,你可以:
官网 | https://www.codewars.com/ |
|---|


CodeFights 提供了一组编程挑战。
在这里,你可以:
官网 | https://www.codefights.com |
|---|


CodinGame 这个网站很特别,他跟一些竞争性编程网站有所不同。它不是简单地通过生成一组输出来实现编程挑战,而是以玩游戏的方式通过在线编程完成相应挑战。这是一个很棒的网站,有些游戏非常有趣,并且游戏界面和图形设计非常精美。
官网 | https://www.codingame.com/ |
|---|


LeetCode 是一个题库,里面有许多编程面试的题目,你可以在线编译运行。通过刷LeetCode可以保持编程状态,同时对于技术面试也有很大帮助。难度较高。
官网 | https://leetcode.com/ |
|---|---|
中文版 | https://leetcode-cn.com/ |


Codeforces 是一家总部位于俄罗斯的竞赛编程网站,它会定期举办在线比赛,并且竞赛选手是世界上一些最优秀的程序员。他们的挑战通常需要用到高等数学和算法,如果你是一个编程新手,他们的挑战很可能对你来说难度比较大。
官网 | http://codeforces.com/ |
|---|
11
Stack Overflow


Stack Overflow 是一个与程序相关的IT技术问答网站,在这里可以看到太多经典的问题,我们可以从这些问题中学习如何去提问,如何和答题者沟通。当你看习惯了stackoverflow 上面的问题,提问时就会不自觉去模仿,从而避免问出无脑问题。很多时候,遇到一个问题,我们根本无从下手,不知道朝哪个方向思考。但是通过 stackoverflow,我们可以轻易知道具体的解决方案,有时候甚至还能知道别人面对这个问题时候是怎么思考的。
官网 | https://stackoverflow.com/ |
|---|