Skip to content

Latest commit

 

History

History
164 lines (99 loc) · 9.34 KB

Round1算法题怎么刷.md

File metadata and controls

164 lines (99 loc) · 9.34 KB

如何高效刷题?算法考察难度怎样的?面试官主要考察哪些素质?

0.png 前两天在校招求职内推群里给大家做了一个调查问卷 有的同学问

  1. 力扣到底到达什么程度,有点慌?
  2. 暑期实习面试前端对算法的要求会很高吗?

看到有同学对算法题仍然心存芥蒂,不知道该刷到什么程度

在已经内推的同学中,更有才刷了几十道就投递简历的同学,我只能说“初生牛犊不怕虎”啊

今天正题主要给大家分享一下,应该如何高效刷算法题,到什么程度就可以去面试了呢?

主要给大家分以下三个部分进行介绍:

1. 不同的岗位对算法题的要求是怎样的?

2. 面试官通过算法题考查候选人哪些能力?

3. 时间紧迫,如何高效刷题?

不同岗位对算法题的要求是怎样的

不同研发类的岗位对算法题的侧重会有些不同

  • 算法类的岗位对算法的要求最高,需要同时具备手撕leetcode和岗位相关的算法题。对于leetcode的难度最好刷到hard,常见的链表、树、BFS\DFS、dp等问题需要多刷刷

除了leetcode之外,还需要掌握CV、NLP、推荐相关的常见手撕算法题

  • 后端岗位对算法的要求次之,常规面试难度在leetcode middle难度(不排除意外情况,自求多福),leetcode刷题数量在200-300即可(middle占比80%-90%)
  • 前端岗位对算法的要求没有特别高,但是常见的链表、树的题基本必问,要能熟练掌握,灵活运用。leetcode刷题数量在200题左右(middle占比70%-80%)

除了leetcode相关的算法题之外,前端面试官还会额外考察候选人在前端领域的代码能力和支持储备,常见的手写题比如手写防抖、节流、实现深拷贝、promise等前端领域相关的题目

给前端小伙伴推荐这本👇《你不知道的JavaScript(上卷)》,这本是带我前端入门的书,很多面试常考题会在这里找到答案,不过全套3本现在京东活动只要120+,也还划算

算法题主要考察哪些能力?

这个问题非常 非常 非常的重要!!!

理解的这个问题才能更加高效的刷题!!

刷题的过程中应该注重培养自己哪些思考!!

  1. 考察解决问题的能力 在解题过程中是如何思考的,思路是否清晰
  2. 考察沟通能力 是否能够了解清楚面试官的用意,在遇到困难的时候是否可以和面试官沟通寻求解决思路
  3. 考察实践能力 研发岗位重点考察实践能力,只会背题是不行的,写算法题是考察代码实践能力的一种简单的方式
  4. 考察编码习惯 比如在写代码前是否考虑边界case,编码后是否能够通过一些case测试验证,变量命名等
  5. 考察灵活运用的能力 光会背题不行,总结也很关键,要能举一反三,比如面试官将日常工作中的题目抽象成树的题,你是否能有自信写出来(我曾经就真实遇到过,写了一页纸让我印象深刻)

了解了这些考察的方面,带着这些目标去刷题,让你的刷题效率事半功倍!!

都给我好好读!下面👇是一个编码过程中的沟通范例,可以照猫画虎学一下

image.png

前两天有个内推的同学跟我说,面试官考察了一道树的题,卡在了输入输出上,不知道应该怎么输入一棵树 /手动狗头,这说明刷题的时候只顾背题了,没有锻炼自己的实践能力和不够灵活.这位同学回去请认真刷题

时间紧迫,应该如何高效刷题?

我在参加校招的时候没有刷太多的题目,但是却帮我拿到了BAT字节快手等公司的offer,其中一个原因是我掌握了刷题的技巧,我了解面试过程中写题的时候应该如何同面试官交流(第2部分),并待入到我的刷题策略中

暑期实习刷题量在170道,秋招又刷了60道,加起来200多道

作为一个不喜欢刷题的人,每天刷10道题都要刷吐了,每天硬着头皮看题解,而且春招暑期实习来的像暴风雨一样突然,慢热的小伙伴反映过味儿来都要结束了,身边的同学都去实习了

火急火燎的刷题,屡屡遭受面试官的毒打、被按在地上摩擦

这里给大家推荐一些实用的方法,试用所有研发类的岗位,帮助你快速的刷题、这些都是我亲自试验过的,用这个方法可以帮助你快速的进入一个自信勇敢的面试状态,快速提升面试能力!

工具🔧:工欲善其事,必先利其器

刷题平台:《剑指offer》、leetcode、CodeTop 高频面试题网站:https://codetop.cc/home

先刷剑指offer这个是高频考题,在刷leetcode hot100可以结合CodeTop的频率选择

https://leetcode-cn.com/problem-list/2cktkvj/

题解:公众号labuladong、负雪明烛

  • labuladong总结的算法小册很不错,现在好像要付费了,可以帮助你举一反三,避免生硬的去背题,这本小册子帮助我很多,节省了很多的时间

  • 负雪明烛是北邮师兄,1000篇算法题解的作者,leetcode上面有很多他的题解 配置:IDE编码环境(vscode\idea等)、🧠、👋

最好自己在本地ide环境运行,练习输入输出

笔试和面试的时候会要求输入输出。

题写出来了,一个输出没有,岂不gg

我还会在无自动提醒的编辑器(sublime tex)里面练习白纸手撕的感觉\

下面👇说一下我的刷题过程:

时间规划:基本上每天刷题10道+,半个月左右就可以完成100多道题

但是开始每天10道很费劲,一般是自己尽力写,能写几道写几道,剩下几道题看题解,满足每天10+的量

春招时间很快就过去,如果刷题晚的话,每天的刷题量必须要有

早点拿offer、早点实习、早点转正就可以无忧秋招了呀,参加过的才知道秋招一边实习一边找工作一边搞论文多么难受

写题的流程

  1. 理解题意,确定理解清楚要解决的问题
  2. 思考,需要用什么数据结构、算法(写完了之后可以想想能够有更优解)
  3. 看题解,会写不会写都去看看别人的题解,学习优秀的代码,看完了之后用思路引导自己默写
  4. 默写,一种情况在ide中写,另一种情况在白纸上写,我们可以锻炼在没有自动补全功能的文本编辑器(Sublime)中写代码,在写的过程中带入第2部分的沟通策略

tips:有的小伙伴面试的时候遇到了自己刷过的题,非常的兴奋,唰唰唰就写完了,面试官当然知道你的小九九了,这样的话面试官一定还会换一道题的,懂了吧\

复习:

复习是非常重要的,很多同学去面试的时候发现之前做过的题目忘记了,理解的不够深,每刷50题或者每次面试之前复习一遍重要的题目

刷题的顺序:

  1. easy -> middle,easy题量差不多就行,重点刷middle难度

  2. 排序、链表、二分查找、树、dfs\bfs等类型

  3. 剑指offer -> leetcode HOT100 -> leetcode 精选面试题 -> leetcode精选算法200题(附加题,可以不刷)

    https://leetcode-cn.com/problem-list/2cktkvj/

    https://leetcode-cn.com/problem-list/2ckc81c/

    https://leetcode-cn.com/problem-list/qg88wci/\

  4. 负雪明烛大佬还整理了面试常考的 100 道算法题整理

负雪明烛常考100道力扣题单:

https://leetcode-cn.com/problem-list/q3iOID0B/

这个题单和leetcode HOT100重合度很高,重合度基本在60%-70%,可以互相对照着去刷

  1. 按照这个方式,刷一周就可以去面试中小厂了, 积累积累经验

  2. 然后继续刷,面过3次左右,就可以投递大厂准备面试(前提是你把前面面试中的问题都能梳理清楚,再被问到也不怕了)

tips:如果你是还到找工作时候的同学,建议你有事没事去面个试,不为实习,就为感受一下面试,面过就知道了,但是最好不要在自己要找实习的前1-3个月面试😠

下一篇文章教大家如何做面试复盘

后面内容大家可以在公众号「内推锦鲤」上查看…… 之后我将会分享一系列求职相关的经验分享


最后欢迎大家找我内推字节,已经成功内推数人

社招内推链接: https://job.toutiao.com/s/LKsg9cL(无需内推码)

日常实习链接: https://job.toutiao.com/s/LKsg9cL(无需内推码)

暑期实习:**https://jobs.toutiao.com/s/LKsTdhY**(填写内推码RP5RN29)

➕我的v备注:求职/进群-校招/社招-姓名-岗位,邀请你进交流群

简单头像框关注二维码.jpg

秋季招聘会公众号招聘首图.png