【91专访】 微软大佬 cabbage 分享算法面试心得

275 阅读4分钟

背景

最近得知 cabbage 拿到了微软的 offer,并在准备拿其他更大公司的 offer。就迫不及待地联系了他,希望他本人可以接受采访。于是这篇采访稿就和大家见面了。

cabbage 是一个做事情非常认真细致的人,对待工作一丝不苟,基本上事情交给他你就可以放心那种,这样的人谁不喜欢?我本人非常看好他,一定可以进更好的公司。

以下 Q 为 lucifer,A 为 cabbage。

采访

  • Q: 你是什么时候开始接触数据结构与算法(以下简称算法)的?
  • A: 20年准备跳大厂的时候才开始的,半路出家的前端开发,以前根本都用不到算法所以也就没去学过。
  • Q: 你是什么时候接触 91 天学算法(以下简称 91 天)的?从什么途径得知的?
  • A: 通过GitHub上的Lucifer的算法repo关注的公众号,然后通过公众号了解到的。
  • Q: 91 天有给你带来了什么样的变化么?
  • A: 从基本啥都不会到对基本的数据结构有一点了解,以前只会做easy的题,现在有部分medium的题也能做出来了,主要是学会了套模板。
  • Q: 学习算法过程中有“顿悟”的时刻么?
  • A: 有吧,就突然有一天发现看到新题了会不自觉地去拿以前做题的套路去往上套,然后发现还真能用。
  • Q: 你比较擅长的算法是什么?可以给大家简单分享一下么?
  • A: 说不上擅长,就是套模板的题我都还挺喜欢的,比如说找排列组合的上来就先写个dfs,找满足条件的substring就先上一个sliding window,大部分的时候套上模板就能解决了。
  • Q: 有没有什么想和刚入坑算法的同学分享的?
  • A: 模板特别有用,不管会不会先背下来,背的同时就是一个理解的过程,91算法的题解就可以帮你加深记忆也可以帮你更好的理解。另外刷题可以一次性把一个类型的都刷完,比如可以跟着91的分类刷,会更有效率。
  • Q: 相对而言,你觉得 91 天哪里做的还不够好?应该如何改进?
  • A: 同类型的题可以再多加几道加深记忆,容易到困难的过渡不知道还能不能再smooth一点,没有CS背景的对于有些类型的题理解起来不容易,可能需要更多的background,比如DP和back track这样的。(因为一直在做前端开发的缘故,思维总是习惯性的线性思维,不容易绕过来)
  • Q: 在你学习算法的过程中,对你帮助最大的学习资料是什么?
  • A: LeetCode 的题解讨论区以及油管的一些视频。

lucifer 注:有的leetcode 题解和油管视频真的做的不错,我们也在《91天学算法》的讲义中给大家进行了推荐。

  • Q: 愿意把 91 天分享给你的朋友么?
  • A: 愿意。

lucifer 点评

收到 cabbage 的建议。 下一期《91天学算法》西法打算做几点改变。

  1. 目前正在和力扣官方合作,希望可以将《91天学算法》整合力扣的学习计划LeetBook。这样大家学习起来更加无缝,效率更高。届时也会有专门的交流群。
  2. 增加模拟与枚举 的题目,以前这部分是自习的
  3. 增加排序 章节
  4. 前面增加了几道题目,相应其他章节需要删除题目,我打算将高频面试题删掉。
  5. 部分题解不够完善,再次打磨。
  6. 部分难度梯度跨度较大,增加一点缓冲题目或者对跨度较大的进行大篇幅讲解,尽量让大家不掉队。

另外现在已经不建议大家参加这一期(第四期)的《91 天学算法》了,大家可以等待下一期。并且下期的周期可能缩短为一个月左右,而不是现在的 91 天。这是因为每天一道题节奏太慢,会导致学习效果变差。而如果你觉得 91 天都跟不上,一个月岂不是更跟不上?这种担心我觉得是多余的,因为跟不上和时间关系不大,更多的是学习的方法技巧以及不断做题后的顿悟