国内应届生是不是把算法题刷得滚瓜烂熟就能进Google了?

我自己在FB做过面试官,面试过200多个人,对Facebook, linkedin,google那套面试模式还是比较熟悉的。

Google算法面试的一大特点就是喜欢出新题或者变种题,你可以去翻翻面经,基本上很少会有原题出现。所以LC刷得再熟练,没有真正理解的话,可能换个马甲就不会做了。

另外算法面试的时候,如果你很快秒掉一题,面试官可能会再出一道题或者各种follow up。无脑刷题背答案是没用的。

大家水平都差不多,那最后会以什么标准区分呢?

像Google这样的大厂,面试评价体系已经很标准了。这里我们只讲算法面试,实际上还有系统设计和行为问题面试。

来看一道题,结合具体例子来感受下吧

最长回文子串 Longest Palindromic Substring

详细题解可以看下我之前录的视频

疫情下,如何快速拿到大厂offer!_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili

对于这道题,面试评价从高到低如下

Strong Hire

使用 O(n) 或者 O(nlogn) 的算法实现出来 (Manacher’s Algorithm or Suffix Array),并且代码优秀,无 Bug 或者有很小的bug,但是能自己发现并解决,无需太多提示

Hire

能够分别使用枚举法和动态规划实现时间复杂度 O(n^2) 的算法。并且代码质量合格,无Bug,无重复代码,无需面试官给提示。

Weak Hire

只使用了其中一种 O(n^2) 的算法实现出来,代码质量还不错,可以有一些小 Bug,面试官可以给一些小提示。

No Hire

只能想出一种 O(n^2) 的算法,但是 Bug 太多,或者需要很多提示。

Strong No Hire

连一种 O(n^2) 的算法都想不到

4-5轮面试下来

有 >= 1 个 Strong No Hire => No offer
有 >= 2 个 No hire => No offer
有 1 个 No Hire + 1 个 Weak Hire => No Offer
有 1 个 No Hire,其他都是 Hire => Offer or 加面(取决于公司招人多不多,门槛高不高)
有 1 个 Weak Hire => Offer or 加面

一种极端情况是: 一个 Strong Hire + 一个 Strong No Hire => 开个会一起讨论一下,通常结果是加面或者No Offer。

总结一下,就是面试不一定会要求你用最优复杂度的算法来解决问题。而只刷LC的话,会容易让你产生一定要用最优解来做题的误区。

还有代码不是写出来就可以过的,代码质量同样很重要。

好的代码质量包括:Bug free,良好的Coding Style(包括变量名命名规范有意义,合理的使用空格,善用空行等),容易让人读懂的逻辑,没有冗余代码,有边界检测和异常处理。

先实习再转正是不是很容易?

这个得看公司,很不巧,G家实习转正很不容易。至少在北美是如此,国内的话竞争应该会更大,不要说转正了,实习就很难拿。

说下北美这边Google实习要怎样才能转正。

谷歌实习转正需要4个feedback,一次实习可以从host和co-host那里各收集1个feedback。

剩下2个有两种方法获得:再实习一次,或者通过两轮面试。

所以如果要拿两次谷歌实习,至少要提前一年就做准备。并且第一次实习的表现决定了会不会给第二年的实习offer。一般大部分人时间只够一次实习,再加两轮面试才有机会转正。

关于算法面试的方方面面,我在《九章算法班》里面讲得很多了,除了怎样正确高效地刷题,和面试官如何沟通,如何提升代码质量,大厂的面试风格等等都有所涉及。最新一期正在招生中,有3节免费体验课,可以领取九章算法精选100道算法面试题哦。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值