📜  竞争性编程的最佳资源是什么?

📅  最后修改于: 2021-06-26 13:10:58             🧑  作者: Mango

根纳季·科罗特克维奇(Gennady Korotkevich),彼得·米特里切夫(Petr Mitrichev),亚当·安吉洛(Adam D’Angelo) …您听说过上述名字吗?让我告诉你他们是谁…
前两个人(Gennady Korotkevich,Petr Mitrichev)以成为世界顶级竞争程序员而广受欢迎,最后一个人(Adam D’Angelo)也是Quora最具竞争力的程序员之一和联合创始人。
编程是整个宇宙中最愚蠢的事情之一((开个玩笑……),因为您需要告诉计算机如何做某事,但是上述所有名字都以愚蠢而闻名。现在您不能否认这一点。这是一套宝贵的技能,如果您真的有兴趣做这件事最愚蠢和有趣(开玩笑),那么直接给您的建议是……选择一种语言,学习编码的基础知识,开始在编码挑战网站上练习,然后跳转进入竞争规划

什么是竞争性编程的最佳资源

竞争性编程是引起顶级产品公司关注并在此处进行采访的最佳途径,但问题是从何入手? 。如果您是编程新手,那么哪个网站很好?什么是一些网站?参加和与其他人竞争的竞赛是什么?因此,下面我们列出了所有这些网站和竞赛,它们将为您提供有关竞争性编程这些问题的答案……

极客

GeeksforGeeks主要关注计算机科学主题和DSA基础知识。它有很多文章,对代码及其解决方案进行了适当的解释,因此您在理解代码背后的逻辑时不会遇到困难。该站点提供多种语言选项来解决问题。该站点还可以用于安排实习或面试,它是专门为准备一名程序员而准备聘请顶尖公司担任软件工程或开发职位的程序员而设计的。
存在多种编码挑战。这些挑战分为数据结构算法的不同主题,这些主题将帮助您在每个主题上打下坚实的基础。您可以在该网站上找到所有容易,中等和困难级别的编码问题。您还可以参加各种课程,以练习和准备技术面试。

极客竞赛编程极客

TopCoder

TopCoder是著名的编码挑战网站之一。在编码竞赛中引入排名的功劳归功于该网站,但坦率地说,这里的问题更加复杂,因此该网站适合高级程序员。一旦您掌握了编程知识,那么移至该站点将更加有益。您可以在此站点上找到很多选项,例如应用程序,聊天机器人,网站,设计,软件开发,还可以在此处测试和修复错误。
TopCoder竞赛SRM(单回合比赛)为您提供了与其他程序员竞争的机会。他们还举办活动TopCoder公开锦标赛(TCO)。您还可以赢得现金奖励,以在此站点上提供最佳解决方案。 IBM,Google,eBay,Microsoft,SoftBank,Nvidia这些都是一些领先的公司从该网站招聘候选人。

黑客排名

该网站拥有约700万开发人员,迄今为止已经接受了超过2100万次代码挑战。 HackerRank是一家总部位于美国的组织,他们在算法,数学,函数式编程,SQL,AI等不同领域都面临挑战。您可以找到挑战的讨论区和排行榜,它们还提供了有关问题的解释,从而为提出解决方案提供了适当的指导。
HackerRank对初学者非常好,因此即使您要打印第一个程序“ Hello World!”,也是如此。那么肯定HackerRank会给您这个机会。它具有一个不错的用户界面,其中预先编写了样板代码,可帮助初学者开始具有竞争力的编码。他们每月举办一些竞赛,例如CodeSprints,101 Hacks,HourRanks。在“代码周”中,您可以访问链接竞赛以获取详细信息,也可以在此处创建竞赛并鼓励程序员相互竞争。
HackerRank的四个主要重点领域是实践,竞争,工作和领导者董事会。因此,您可以在此处尽可能多地练习,设置良好的排名,参加竞赛并被该网站上的领先公司雇用,例如Adobe,LinkedIn,Twitter,DropBox,Booking.com,CapitalOne,华盛顿,华盛顿邮报,戴尔,RedHat ,Uber等。

厨师长

用您的代码烹饪最佳食谱,成为大厨并进入顶级公司。听起来很有趣,但是CodeChef确实是一个糟糕的印度竞争性编程网站,拥有大量的程序员。这是Directi的印度教育倡议。将问题分为不同级别,例如初学者,轻松,中级和困难。
有些初学者发现此网站有些困难,即使他们正在此处解决简单的级别问题也是如此。因此,如果您是从最基础的开始,那么在HackerRank之后切换到该网站将是一个不错的选择。关于这个网站的最好的事情是,如果您无法解决问题,则可以检查社论,再次尝试编写解决方案并获得接受,如果您解决了问题,仍然可以检查其他优秀编码人员的代码为同一问题找到最佳解决方案。通过这两种方式,您都会学到很多东西。
Codechef每个月主要举办三场比赛,即长挑战赛(为期10天),烹饪比赛和午餐时间。 Codechef还举办全球编程活动Snackdown,与其他程序员竞争。他们提供多种语言选择,并且程序员使用讨论区发布他们在练习或竞赛中遇到的问题。 AWS,三星,阿里云。这些是一些顶尖的公司从此网站招聘候选人。

LeetCode

谷歌,亚马逊,Facebook,苹果等顶尖的主要科技公司从LeetCode招聘候选人,而这份名单并不止于此。 Twitter,Yahoo,Uber,Pinterest,美国银行以及许多基于产品的公司都选择LeetCode的程序员,因此您不能否认该网站是程序员进行技术面试的最佳站点之一,它们拥有大量的资料这些公司的面试准备面临的挑战。
LeetCode面临着190多个挑战,但是您需要记住,该站点在各个主题上都有更复杂的问题(对有经验的程序员有好处),因此,它特别适合顶级高科技公司中的软件工程职位。他们有一部分文章可以帮助您理解某个问题,并且您还可以在此网站上对各种公司进行Mock访谈。他们每周都会举办编码竞赛,您可以参加并设定良好的排名。他们的主要重点是帮助人们找到工作,因此,如果您的目标是上述大型科技公司,请访问这里并在此站点上挑战。

SPOJ(Sphere在线评委)

SPOJ是一个在线裁判系统(不是竞争性编程网站,但您可以挑战并像其他平台一样参与),在不同主题上有超过20k的编码挑战。挑战范围从简单到硬编码问题。 SPOJ有一个很好的社区,如果您在编码方面遇到问题,可以为您提供帮助。您可以开始以最大数量的提交来解决问题,并在此处关注或检查优秀编码员的提交。一旦解决了大约50-70个问题并建立了一定的信心,您就可以参加不同的比赛。 SPOJ在其站点上还有一个“论坛讨论区”。

编码部队

Codeforces是一个俄罗斯网站,最适合竞争激烈的程序员,并且更频繁地举办比赛。他们每月组织2到4场简短的竞赛,每场2个小时。有时,他们每周还会举办2-3场比赛。他们有多种语言编码选项。参加很多比赛后,您还可以创建自己的比赛并通过该网站赚钱。
这是准备ACM-ICPC(编程奥林匹克)的好地方之一。您可以在此处对问题进行排序和练习问题,也可以使用其博客系统提问。该站点有一个强大而庞大的社区来寻求帮助。我们建议一些有经验的程序员使用此站点,因为对于初学者来说,这里的挑战很可能太过复杂。

欧拉计划

“欧拉计划的存在是为了鼓励,挑战和发展任何对迷人的数学世界感兴趣的人的技能和乐趣。” 。这是在此站点上编写的内容,因此您可以得出该站点非常适合数学难题的想法。因此,如果您可以应对数学和计算机编程方面的挑战,请访问此站点以解决问题。
您将要编写计算机程序来解决一些数学公式或方程式。他们还有一个针对每个问题的论坛。提供25个问题的解决方案之后,您可以达到一个新的水平。访问链接GeeksforGeeks欧拉项目,了解其工作原理。

黑客地球

该网站还是一家印度新兴技术公司,主要关注竞争性编程和招聘方面的挑战。他们有超过250万开发人员社区。该平台支持超过35种语言进行编码,并且与其他平台一样,您可以练习不同主题的问题(数据结构,算法, Python和机器学习)。该网站非常适合准备工作面试的人。
该网站提供了一些深思熟虑的挑战,这些挑战大多数都适合有经验的程序员。他们每月举办一次编码挑战和黑客马拉松。他们的挑战Code Monk在程序员中颇受欢迎。 ThoughtWorks,亚马逊,埃森哲,沃尔玛实验室,IBM,Intuit是HackerEarth的一些领先公司。

编码字节

对于初级和中级程序员,Coderbyte是一个不错的网站。他们以各种编程语言提出了200多个挑战。该网站非常适合求职面试,您会发现挑战的难度从容易到困难。如果您遇到任何困难,可以在Coderbyte上提问,更有可能从他们真正活跃的社区获得答案。您可以从他们提供的官方解决方案中匹配您的答案,还可以查看其他用户的解决方案。他们还提供一些有关面试准备和计算机科学基础的课程。 Deloitte,PWC,HBO,LogMeIn是Coderbyte的一些领先公司。

其他网站:

  • 交互位
  • CodinGame
  • 密码战
  • AtCoder
  • 协调性

热门比赛:

  • ACM ICPC(编程奥林匹克)
  • Google Code Jam
  • Facebook黑客杯
  • Google Kickstart