跳到正文

导航

← 所有文章
ZTHINK

如何准备软件工程师的算法与数据结构面试——资料篇

准备算法面试,只读经典教材:一门大学公开课和三本大学教材,不收面试速成书。

Read in English ↗
如何准备软件工程师的算法与数据结构面试——资料篇 — Aileen Wright
本文目录

这份清单只收大学讲算法用的经典教材,外加一门大学公开课,不收面试速成书和题单。先把这几本教材读扎实,面试题就不再陌生。

清单一共四项,分两步:先打基础,再把两本经典教材放在手边备查。每一步挑一项就够了。

两级浅色石阶:下面一级放着台灯、笔记本和一本摊开的教材,上面一级并排立着两本厚教材

第一步:一门课或一本教材打好基础

MIT 6.006 Introduction to Algorithms(2020 年春季)。 这门课由 Erik Demaine、Jason Ku 和 Justin Solomon 讲授,MIT OpenCourseWare 公开了课程录像、讲义、习题和考试。没上过算法课,或者算法课已经上了很多年的读者,适合从这门课开始。录像要看,习题也要做。

《Algorithms》第 4 版(Robert Sedgewick、Kevin Wayne)。 这本书的配套网站链接了 Princeton 在 Coursera 上的两门课:Algorithms Part I 和 Part II。Coursera 课程页写明课程的全部功能免费。喜欢边写代码边学的读者,适合用这一套:书和课都用 Java 把每种数据结构实现一遍。

第二步:两本经典教材放在手边备查

《Introduction to Algorithms》第 4 版(Cormen、Leiserson、Rivest、Stein)。 这本书通常简称 CLRS,MIT Press 在 2022 年 4 月 5 日出版了第 4 版。准备面试不必通读 CLRS。上课或者做题遇到没弄懂的地方,再翻到对应章节读证明。

《The Algorithm Design Manual》第 3 版(Steven Skiena)。 Springer 在 2020 年出版了第 3 版。全书第二部分是一份常见算法问题的目录,习题里还收了软件公司的面试题。认得出题型却叫不出名字的时候,就去查这份目录。

这篇文章只谈算法面试。姊妹篇《如何准备软件工程师的系统面试——资料篇》专门谈系统设计面试。

参考来源