11

6个超酷的练习算法,学习编程的网站

 4 years ago
source link: http://news.51cto.com/art/202006/618315.htm
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

在不了解算法的前提下,您无法通过Google或Facebook的采访。 那么为什么不现在学习。

我是一位拥有15年以上经验的程序员。 从高中开始的第一年,我在算法上学习和工作很多。 在我毕业之前,我一直都在学习并对它充满热情。 毕业后,我开始出国学习,走了研究道路。

但是,工作3年后,我更喜欢做产品/软件而不是研究。 我转向技术/工程而非算法。 但是,我个人认为,对于开发人员来说,理解算法仍然很重要。 而且,我认为您可能不了解Google或Facebook而无法通过面试!

A3eaAbm.jpg!web

> Photo by Fabian Grohs on Unsplash

1. HackerRank

从初级到高级,从开发人员到招聘经理,该网站在编程界都是非常有名的。

na2I7rE.jpg!web

> hackkerrank.com

Hackerrank有许多算法,难度从低到高,以及各种算法和数据结构(甚至是SQL)。 您将编写代码,直接运行并查看结果,或查看讨论以了解人们如何解决它。

在我的采访过程中,也有一些公司让我来这里进行测试(算法+多项选择+论文)。 因此,您可以来这里做更多练习并习惯它。

2. TopCode

yiYv6nA.jpg!web

> https://www.topcoder.com/challenges/

TopCoder是最早可以相互竞争的程序员的在线"竞技场"之一。 它提供了算法挑战的列表,您可以使用其代码编辑器在线进行操作。 单轮比赛每月在特定时间举行几次,编码员相互竞争,以最高分最快地解决挑战。

在TopCoder上排名靠前的用户是非常优秀的程序员,并且经常参加许多编程竞赛。 排名最高的人将拥有自己的博客" PETR MITRICHEV编写的ALGORITHMS WEEKLY",他们可以在其中撰写有关代码竞赛,算法,数学以及任何喜欢的东西的文章。

3. Geeksforgeeks

如果您在执行算法时遇到麻烦,在Google上寻找解决方案后,您可能会多次看到该页面。

3YJFZrn.jpg!web

> https://practice.geeksforgeeks.org/

这个geekforgeeks页面看起来有点……很丑,这些练习的分类不是很好。 但是,它有许多常见算法练习的解决方案。 每个解决方案包括许多不同的方法,以及每种方法的复杂性/内存。 这是非常有趣和有益的阅读。

因此,有时您可以在主页上看到此页面/解决方案示例的流行算法!

4. Leetcode

另一个受欢迎的算法培训网站:Leetcode。 在此问题上的数量不亚于hackerrank,有3个主要难度级别,分别是Easy / Medium / Hard(某些简单的问题非常困难)。

EzyA7fE.jpg!web

> https://leetcode.com/

当我去算法面试时,经常有人问我一些简单的问题,用中级来评估能力,而困难是针对Facebook / Google面试。

与其他页面相比,此页面也可以很好地衡量您的性能/运行时代码,以查看您的代码运行快速还是慢速,是否可以优化。

每日编码问题

观看CS Dojo的Youtube频道时向我介绍了该页面-一位Google员工辞职以担任YouTube员工。

NZRrIru.jpg!web

> https://www.dailycodingproblem.com/

与其余页面不同,此站点没有作业列表。 相反,您输入电子邮件,他们每天都会发送给您1种算法来尝试。

这些也是Easy / Medium,像Amazon / Google这样的公司用来采访候选人。 如果您购买了高级套餐,将获得解决方案。

Exercism.io

如果其他页面要练习算法,那么练习就是学习编程的好地方。

uURB3i3.jpg!web

> https://exercism.io/

关于锻炼的练习很多,但是这些练习对算法的要求不是太重,但是对使用编程语言的要求却很重:

  • 使用if / else循环。
  • 日期处理,字符串处理
  • 方法分离,班级组织
  • 如何处理错误,编写异步代码

我使用此网站来了解有关Golang和Elixir的更多信息。

如果您已经编程了一段时间,想学习一种新的语言,学习一种新的思维方式,那就去运动吧!

总结

在本文中,我分享了6个超酷的网站来练习算法和学习编程!

我个人认为您不需要学习太多,如果想在面试之前进行练习,请访问Skilled / Hackerrank / Leetcode。 或者,如果您需要学习新的语言,请选择运动。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK