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. 高效准备算法面试 https://schelley.co/bytebytego (折扣码 schelley)
  3. 与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多道题不知道从哪里开始刷起,几百条答案不知道该看哪个,有些高赞答案为了炫技而过于简略初学者看不懂,有些答案不是自己会的编程语言也看不懂。

所以,对想要高效复习算法面试的小伙伴,我推荐去订阅Alex Xu的Coding Interview Patterns(链接:https://schelley.co/bytebytego  折扣码:schelley)。

Coding Interview Patterns它最大的特色,就是帮你用更少的时间精力,来把算法面试准备好课程聚焦于滑动窗口、双指针、回溯和动态规划等核心模式。它不推崇死记硬背,而是教你洞悉问题的本质结构,让你对问题有更深的理解,从而在面试中游刃有余。每章都深入浅出地讲解一种模式,并搭配技术面试中常见的实际案例。书中的示例代码简洁优雅,还贴心地指出了如何应对边界情况,帮你避开解题时的常见“雷区”。Coding Interview Patterns里的配图是一大亮点:色彩生动、直观,逐步拆解解决方案,让递归等复杂概念变得一目了然。对于视觉型学习者来说,这些图表简直是枯燥教材的清新替代品。虽然内容精炼,这门课程却毫不失深度,既适合中级coder,也能为高级玩家提供满满的干货。总之,如果你想高效准备好算法面试,我强烈推荐Coding Interviews Patterns。

如果你想进行模拟面试

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

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

我的编程相关影片(YouTube)