在不了解算法的前提下,您无法通过Google或Facebook的采访。 那么为什么不现在学习。我是一位拥有15年以上经验的程序员。 从高中开始的第一年,我在算法上学习和工作很多。 在我毕业之前,我一直都在学习并对它充满热情。 毕业后,我开始出国学习,走了研究道路。
在不了解算法的前提下,您无法经过Google或Facebook的采访。 那么为什么不现在学习。
我是一位具有15年以上经历的程序员。 从高中开端的第一年,我在算法上学习和作业许多。 在我结业之前,我一向都在学习并对它充满热情。 结业后,我开端出国学习,走了研讨路途。
可是,作业3年后,我更喜爱做产品/软件而不是研讨。 我转向技能/工程而非算法。 可是,我个人以为,关于开发人员来说,了解算法依然很重要。 而且,我以为您可能不了解Google或Facebook而无法经过面试!
> Photo by Fabian Grohs on Unsplash
1. HackerRank
从初级到高档,从开发人员到招聘司理,该网站在编程界都是十分有名的。
> hackkerrank.com
Hackerrank有许多算法,难度从低到高,以及各种算法和数据结构(乃至是SQL)。 您将编写代码,直接运转并检查成果,或检查评论以了解人们怎么处理它。
在我的采访过程中,也有一些公司让我来这儿进行测验(算法+多项挑选+论文)。 因而,您能够来这儿做更多操练并习气它。
2. TopCode
> https://www.topcoder.com/challenges/
TopCoder是最早能够相互竞争的程序员的在线"竞技场"之一。 它供给了算法应战的列表,您能够运用其代码编辑器在线进行操作。 单轮比赛每月在特定时刻举办几回,编码员相互竞争,以最高分最快地处理应战。
在TopCoder上排名靠前的用户是十分优异的程序员,而且常常参与许多编程比赛。 排名最高的人将具有自己的博客" PETR MITRICHEV编写的ALGORITHMS WEEKLY",他们能够在其间编撰有关代码比赛,算法,数学以及任何喜爱的东西的文章。
3. Geeksforgeeks
假如您在履行算法时遇到费事,在Google上寻觅处理方案后,您可能会屡次看到该页面。
> https://practice.geeksforgeeks.org/
这个geekforgeeks页面看起来有点……很丑,这些操练的分类不是很好。 可是,它有许多常见算法操练的处理方案。 每个处理方案包含许多不同的办法,以及每种办法的复杂性/内存。 这是十分风趣和有利的阅览。
因而,有时您能够在主页上看到此页面/处理方案示例的盛行算法!
4. Leetcode
另一个受欢迎的算法训练网站:Leetcode。 在此问题上的数量不亚于hackerrank,有3个首要难度等级,分别是Easy / Medium / Hard(某些简略的问题十分困难)。
> https://leetcode.com/
当我去算法面试时,常常有人问我一些简略的问题,用中级来评价才能,而困难是针对Facebook / Google面试。
与其他页面比较,此页面也能够很好地衡量您的功能/运转时代码,以检查您的代码运转快速仍是慢速,是否能够优化。
每日编码问题
观看CS Dojo的Youtube频道时向我介绍了该页面-一位Google装点辞去职务以担任YouTube装点。
> https://www.dailycodingproblem.com/
与其他页面不同,此站点没有作业列表。 相反,您输入电子邮件,他们每天都会发送给您1种算法来测验。
这些也是Easy / Medium,像Amazon / Google这样的公司用来采访提名人。 假如您购买了高档套餐,将取得处理方案。
Exercism.io
假如其他页面要操练算法,那么操练便是学习编程的好地方。
> https://exercism.io/
关于训练的操练许多,可是这些操练对算法的要求不是太重,可是对运用编程言语的要求却很重:
- 运用if / else循环。
- 日期处理,字符串处理
- 办法别离,班级安排
- 怎么处理过错,编写异步代码
我运用此网站来了解有关Golang和Elixir的更多信息。
假如您现已编程了一段时刻,想学习一种新的言语,学习一种新的思想方法,那就去运动吧!
总结
在本文中,我共享了6个超酷的网站来操练算法和学习编程!
我个人以为您不需求学习太多,假如想在面试之前进行操练,请拜访Skilled / Hackerrank / Leetcode。 或许,假如您需求学习新的言语,请挑选运动。
知优网 » 6个超酷的操练算法,学习编程的网站(算法网站 在线编程)