LeetCode终极刷题攻略,上岸大厂只需刷200题就够了

本文原创自【直通硅谷】。我们欢迎尊重版权的转载,请您在转载本文或文内图片时,不要对内容进行更改,并于开头注明作者【直通硅谷】及文章出处【https://www.zhitongguigu.com】。
请勿将本文内容用于商业、盈利、广告性目的。

无论你是New Grad还是在职跳槽,无论SDE还是Data,刷题永远是求职路上绕不过的话题。尽管科技公司不断寻求方法考察面试者综合实力,但在面试过程中还是会出现类型重复的面试题,因此,通过多刷题这种粗暴方式,就会大大提高在面试中碰到相同类型题目的概率。以时间换概率,成为单打独斗的求职孤狼们不得已的选择,放眼论坛1000+刷题量的“小镇刷题家”比比皆是。

但今非昔比,梦回2013年,LeetCode上一共只有200多道题,是真正“刷刷题就能拿OFFER的时代”;然而如今,且不说各大厂对candidate的要求越来越全面(纯靠刷题上岸已成妄想),单看LeetCode上2200+的题库量,就让人“刚开始就放弃”。

“是我太笨还是力扣太难?”

有没有一种求职备战策略,可以在保证效果的同时兼顾效率?想上岸大厂,最少要刷多少题?答案是:有,200道!

直通硅谷的Alex老师凭借“1个中心,3个基本点”策略,只刷了200道题就横扫Google、Amazon、Facebook、Linkedin等多家科技巨头offer!

下面是Alex老师的经验分享:

很多同学在刷题上陷入误区,困在局部优化的点上魔怔了,坚信不刷到一定位置就不能去面试,实际上,这偏离了我们的原本目的。

注意!刷题确实很重要,但我们是在“准备面试”而不是“准备刷题”。真正的目标不是刷题,而是通过面试拿到offer。

面试结构简介

知己知彼百战不殆,以一个普通的SDE面试为例,我们先来简单了解一下面试结构:

A. 1 – 2 轮 Technical 电面
B. 4 -5 轮 Oniste
     a. 2 – 3 轮 Technical
     b. 0 -1 轮 Design
     c. 1 轮 BQ

首先,通常是1-2轮Technical 电面,面试时间基本在一小时内。不同公司不同安排,也有可能是HR先同你聊一聊,看看你和招人的组匹不匹配,之后再发电面。

紧接着就进入了Onsite环节。疫情期间没有真正的Onsite,视频就可以。这个环节有4-5轮,包含Technical,Design,BQ等,具体由公司和职级而定。

 

终极上岸策略

简单了解了面试流程,那要如何实现终极的目标——拿到理想offer呢?在备战过程中要时刻牢记:

一个中心:

结果导向——以面试的考核要求为中心

三个基本点:

掌握基本的数据结构 + 算法
有工业级的经历/项目
能根据面试考核的要求合理沟通

 

一个中心

什么叫“以面试的考核要求为中心”呢?简单来说,面试想要什么,我们就准备什么;面试想要什么,我们就表现什么。

网上有种说法,面试官想要考核求职者是否具备好的技术能力和表达沟通能力。这种说法过于泛泛,什么才算好?英语比赛拿了一等奖,算不算好的表达能力?从面试的角度来看,这真的不算。

坦诚点,面试官真正想要的是求职者解决问题的能力。

解决问题的能力又分为:

独立执行:简单东西自己做,遇到困难别闷着,最后必须要出活
带队探索:志同道合,一起搞事情

这不难理解,毕竟公司对一名工程师的期待大致为:交代的简单任务可以喀喀喀高效完成;交代的复杂项目在和别人沟通后完成,最终要看到结果(不管过程多么跌宕起伏,大家其实都不太关心);在提出自己的新想法后,筹划、设计、实施、后期监测一条龙,可以带领大家完成。

那这种期待匹配到面试中,具体是指什么?

独立执行:简单题目快速做

以Two Sum为例,这道简单的题目基本每个刷题人都会遇到。如果面试遇到此类简单题目,确定好需求就赶紧做题,没必要和面试官反复沟通,问东问西,这太过虚假。

独立执行:遇到困难别闷着

做完简单部分后,题目很可能会升级。就比如会出现3 Sum,4 Sum或者其他更难的、不容易轻易解决的问题。如果这种情况,强烈建议一定要和面试官沟通。

直接问他这题怎么做吗?当然不是。

正确的沟通方法是和面试官沟通“预期”,表达自己遇到了困难,可能会有延误,预计不会很快解决问题。告诉他你具体的困难是什么,如果得到面试官怎样的帮助,你就可以加快进度。

我们还以2 Sum、3 Sum为例。你可以向面试官表达,自己的确没有太多思路,问问他2 Sum中什么样的代码可以复用。无论如何,在沟通过后面试官就会知道你需要更长的时间才能够完成题目。

这样面试官就不会给你增加额外的“Surprise”,但却很有可能会显得自己很弱。不过坦白来讲,在毫无思路时你必须这样做,因为你最重要的事是将题目完成。

带队探索:眼里有团队

眼里只有自己的事会给面试官传递不好的信号,这相当于告诉他,你只适合做一些初级的工作。因为稍微大些的项目肯定会涉及到团队合作配合。那么面试中怎么表现出来眼里有团队呢?

可以渗透在面试的各个环节。

例如系统设计环节,在尽情展示你如何架构一个NB系统的同时,还应该提到你打算请同事帮你完成任务的一些其他部分。这样就让面试官知道你不是单打独斗,而是团队一起做事。也可以在BQ环节,主动说一下自己和团队一起做了哪些创新,不要一个人唱独角戏。

如果独立执行占的权重是95%,那么带队探索则为5%-25%。

不要小看这5%,面试的满分不止100,想要超越自己赢得更大的筹码,就要在带队探索部分做得更好。

讨论完中心,具体到该怎么执行呢?

 

三个基本点

掌握基本的数据结构 + 算法(正确刷题)

首先要有正确的刷题策略。任何一道题都是数据结构和算法的组合。要先学知识,再去做习题。在熟练的把知识点表达成code后,接下来才是刷题。

这里推荐分类刷,按照知识点一个一个的刷过去。这种方法相当于帮助大家巩固了以前学过的知识点,不需要思考用哪个知识点来解决问题。

另外,根据公司Tag下题目的难易比例,可以简单判断公司面试中的难题比例。

做完题后要记得总结。不要自己从头做,闭门造车不但效果差而且花费的时间太长。可以用前人的总结作为参考,对照着笔记学习;网络上的资源质量参差不齐,也可以让直通硅谷的老师带着你,站在巨人的肩膀上,效率会高很多。

这份攻略,相当于10位大佬手把手带你刷题

我们采访了10位FLAGM在职工程师, 浓缩各家经验为一份刷题秘籍! 你也会成为Alex老师一样的 200题上岸王!

这份攻略,相当于10位大佬手把手带你刷题

我们采访了10位FLAGM在职工程师, 浓缩各家经验为一份刷题秘籍! 你也会成为Alex老师一样的 200题上岸王!

用工业级的经历\项目(工程师的底气)

很难拿到面试?很难在面试中取得结果?表现很好但没有offer?

是否有工业级的经历\项目是关键,因为Recruiter或者机器在筛简历时会看,面试官在寒暄环节、在系统设计环节、在最终核分决定是否录用时都会看,没有这些那么这份简历是有遗憾的。

并且,通过询问工业级的经历\项目,可以方便面试官感知求职者是否具备解决问题的能力。

根据考核要求合理沟通

夸夸其谈和支支吾吾都不可取,无效的沟通等于浪费时间,我们要做的是“有的放矢”和“因地制宜”。

有的放矢:让自己有目的地说话,尽量可以表现出自己具备解决问题的能力。

最好知道自己说出去的话,能传递出什么样的信息。对于面试官来说,面试的过程其实是面试官假想在未来与你一起工作时一起解决某一个或多个问题的实战演练。

因地制宜:贴合考核要求。

面试官在出题的时候提出了很多的限制条件。在答题开始前,应聘者应该确保完全了解面试官的所有要求。否则,当你封笔提交时,突然发现你的算法、数据结构或者design并没有满足面试官的要求,而此时面试时间已过,那offer只能与你说再见了。

“一个中心,三个基本点”,不过9字,真正实行起来难度却不低。

  • 简历撰写有哪些注意事项,如何投递?
  • 面试前需要做哪些准备,面试流程如何?
  • 如何通过Linkedin联系refer?
  • 系统设计该如何准备?
  • 转专业的同学没有project该怎么办?
  • 到哪里去找合适自己的project?

直通硅谷!帮助你充分利用时间,弯道超车!大厂名师辅导、助教随时跟踪!扫码添加小助手了解秋招上岸计划!

Hi,我们是直通硅谷!

我们专注于全球科技行业求职培训,心之所向,是壮大全球华人科技力量。凭借实战中积累的丰富经验,及由530+全球科技公司在职面试官组成的导师库,我们让求职这件事成为系统的科学,并变得越来越简单!

自2015年,直通硅谷独家秋招计划已帮助4500+学员成功进入全球顶尖科技公司!

科技求职
你只需要一个
ALLinONE计划

已帮助4500+学员
进入全球顶级科技公司
1V1计划咨询

有哪些适合你的方向?

Recent Posts