面试前想练习算法?那么这6个免费的算法网站,你一定要知道!
在不了解算法的前提下,您无法通过Google或Facebook的采访。那么为什么不现在学习。
我是一位拥有n年以上经验的程序员。从高中开始的第一年,我在算法上学习和工作很多。在我毕业之前,我一直都在学习并对它充满热情。毕业后,我开始出国学习,走了研究道路。
但是,工作3年后,我更喜欢做产品/软件而不是研究。我转向技术/工程而非算法。但是,我个人认为,对于开发人员来说,理解算法仍然很重要。而且,我认为您可能不了解Google或Facebook而无法通过面试!
>PhotobyFabianGrohsonUnsplash
从初级到高级,从开发人员到招聘经理,该网站在编程界都是非常有名的。
>hackkerrank.com
Hackerrank有许多算法,难度从低到高,以及各种算法和数据结构(甚至是SQL)。您将编写代码,直接运行并查看结果,或查看讨论以了解人们如何解决它。
在我的采访过程中,也有一些公司让我来这里进行测试(算法+多项选择+论文)。因此,您可以来这里做更多练习并习惯它。
如果您在执行算法时遇到麻烦,在Google上寻找解决方案后,您可能会多次看到该页面。
这个geekforgeeks页面看起来有点……很丑,这些练习的分类不是很好。但是,它有许多常见算法练习的解决方案。每个解决方案包括许多不同的方法,以及每种方法的复杂性/内存。这是非常有趣和有益的阅读。
因此,有时您可以在主页上看到此页面/解决方案示例的流行算法!
另一个受欢迎的算法培训网站:Leetcode。在此问题上的数量不亚于hackerrank,有3个主要难度级别,分别是Easy/Medium/Hard(某些简单的问题非常困难)。
当我去算法面试时,经常有人问我一些简单的问题,用中级来评估能力,而困难是针对Facebook/Google面试。
与其他页面相比,此页面也可以很好地衡量您的性能/运行时代码,以查看您的代码运行快速还是慢速,是否可以优化。
观看CSDojo的YouTube频道时向我介绍了该页面-一位Google员工辞职以担任YouTube员工。
与其余页面不同,此站点没有作业列表。相反,您输入电子邮件,他们每天都会发送给您1种算法来尝试。
这些也是Easy/Medium,像Amazon/Google这样的公司用来采访候选人。如果您购买了高级套餐,将获得解决方案。
如果其他页面要练习算法,那么练习就是学习编程的好地方。
关于锻炼的练习很多,但是这些练习对算法的要求不是太重,但是对使用编程语言的要求却很重:
使用if/else循环。
日期处理,字符串处理
方法分离,班级组织
如何处理错误,编写异步代码
我使用此网站来了解有关Golang和Elixir的更多信息。
我个人认为您不需要学习太多,如果想在面试之前进行练习,请访问Skilled/Hackerrank/Leetcode。
欢迎转行和学习编程的伙伴,利用更多的资料学习成长比自己琢磨更快哦!