SchelleyYuki

算法学习和算法面试

(本文节选自我的YouTube视频:程序员必须掌握哪些算法? 如何系统性地学习算法? )

算法学习有两个主要的场景:1. 算法入门:系统性地学习算法  2. 算法面试: 高效复习算法。本文将覆盖两种场景,并推荐对应的学习资源。

This post contains my affiliated links. I may receive compensation if you make a qualifying purchase through my link. 

本文提到的算法学习资源链接

  1. 算法实战项目课 https://schelley.co/algo可在这个页面领取课程折扣码(最多可省75%)
  2. AlgoExpert https://schelley.co/algoexpert 使用折扣码 schelley 可省10%
  3. Grokking the Coding Interview https://schelley.co/grok-coding 使用折扣码 schelley 订阅Educated Unlimited 可省10% (折扣详情
  4. 与Google, Facebook的资深面试官进行模拟面试 https://schelley.co/mock-interview  链接自带10%折扣

算法入门:如何系统性地学好算法

如果你处在算法入门的阶段,或者你刚刚开始转码学CS,想系统性地学习各种算法和数据结构,那我推荐Udacity的Data Structures and Algorithms。这门课可以通过这个页面领取折扣码,最多可拿到二五折优惠(75% off!)。

这门课的视频讲解,是带中文字幕的。课程最大的特色,是带你做一系列高质量的算法实战项目,实现你在现实生活中经常会用到的各种硬核技术,来巩固你的算法技能。

这门课程的final project,是运用A-star算法,实现Google Map导航的核心功能route planner,就是能算出你到任意目的地的最优路线。这个route planner项目,它的含金量和深度,要远超美国很多高校算法课的final project。把这种项目放上简历,你的简历在求职市场上会更容易脱颖而出,为你挣得更多的面试机会。

除了用实战项目帮你挣面试机会,这门课还在各个章节安排了总共80多道经典算法面试题。把这些题做完,你通过算法面试的机率也会大大提升。一门课程,既能帮你补简历,又能帮你准备面试,这对时间很紧张的小伙伴,特别是转专业学CS的同学们,就再适合不过了。另外,跟Udacity其它nanodegree课程一样,你在这门算法课里做的每个实战项目,都会有专人审阅, 并以很高的标准对你的代码提出改进意见。你可以无限次提交, 不断获得新反馈。这种无限良性循环带来的提升, 会远远超过你在学校上课时获得的提升, 因为学校的作业和项目只能提交一次。

如果你正在准备算法面试

我评论私信里有很多刚开始刷题的小伙伴跟我说,上Leetcode刷题就是两眼一抹黑,1000多道题不知道从哪里开始刷起,几百条答案不知道该看哪个,有些高赞答案为了炫技而过于简略初学者看不懂,有些答案不是自己会的编程语言也看不懂。

所以,对想要高效复习算法面试的小伙伴,我推荐去订阅AlgoExpert(链接:https://schelley.co/algoexpert 折扣码:schelley)。它最大的特色就是视频讲解160道高频经典算法题,覆盖所有重要题型,精讲每种数据结构。每个视频都有英文字幕、每道题都提供9种编程语言版本的答案。它也有完整编码环境,可以自己写代码跑测试看结果。所有的题都按照算法套路来分类,更方便你分类算法思路、总结算法模板。

把这些经典高频题练熟、总结好套路模板、能举一反三,你的算法基本功就已经很不错了,可以约面试了。

如果你不喜欢视频讲解,更喜欢图文讲解

AlgoExpert的所有算法精讲都是视频讲解。有些小伙伴不喜欢看视频讲解,更习惯直接看图文讲解。对于这类用户,我推荐Educative.io旗下的算法课程Grokking the Coding Interview: Pattern for Coding Questions(链接:https://schelley.co/grok-coding )。它和AlgoExpert类似,也是精讲各种重要题型,同时也带有一个完整的编码环境,帮助你快速提升算法水平。

Grokking the Coding Interview这门课程可以通过订阅Educative Unlimited会员使用。使用折扣码schelley可省 10%。折扣详情链接

如果你想进行模拟面试

如果你刷题刷得差不多了,想通过模拟面试进一步提升你的成功率,你可以通过Exponent平台(链接:https://schelley.co/mock-interview )预约一名Google或者Facebook的资深面试官,来给你做几次模拟面试。与这些资深面试官进行模拟面试的最大价值之一,就是获取他们的真实feedback和建议,从而帮你进一步提升你的面试技术,特别是你在面试现场的沟通应变能力。这样无疑能增大你通过面试的机率。

Exponent的模拟面试链接是 https://schelley.co/coach 该链接自带10%折扣

我的编程相关影片(YouTube)