谈谈平时刷算法题的一些经验和小技巧

前言
hi大家好,我是寒寒,之前有很多同学都不知道算法这个部分怎么准备,大家都觉得这个部分其实就是刷算法题就行了,这种看法虽然并没有错误,但是在刷算法题的过程中还是有很多小技巧的,这些小技巧能够提高我们刷题的效果。
有一句经典的话,程序等于数据结构加算法,由此就可以看出算法对于一个程序员的重要性了。在校招中,算法也经常被作为面试的重点。
在讨论这个话题之前,我默认大家都学习过数据结构与算法这门课程,关于这部分理论怎么学习就不多说了。
今天就从校园招聘面试的角度来给谈一谈要如何去准备算法这个部分,讨论如何准备才能在面试中从容应付这个部分。
面试中如何考察算法
那么在面试的过程中,面试官如何去考察我们算法呢?第一个方式,就是通过问我们一些算法的理论知识,例如快速排序怎么实现?时间复杂度是多少?这部分最常问的就是八大排序算法,我建议大家对这部分内容要做到熟练掌握,并且要能够很快写出来并且没有BUG。第二个方式,就是面试官在面试的过程中会给我们出一两道算法题,叫我们写出来,这个环节一般都是每个面试中必备的环节,也是面试官评估我们代码能力重要的一个方式,一般算法没写出来,很容易直接导致面试不通过,所以我们要重视这个部分。
如何刷算法题
首先强调一个点,算法能力的锻炼是一个循序渐进的过程,和逻辑思维能力联系比较强,不能在很短的时间内突飞猛进的,所以这个部分希望大家早点准备。在大一大二的时候,如果有机会,尽量多尝试去参加一些算法竞赛,对自己算法的提升有很多好处。
这个部分分为三个要点,按照我说的三个要点能够更加高效地去刷题。
第一个要点是,我们在刷题的过程中,按照面试中考察的频率去刷题,把时间花在刀刃上面,,考察不多的比较偏的题目我们可以不做,还有就是hard题我推荐只做几道常考的,不建议做hard题,面试中几乎不会出hard题,考察的题难度以简单、中等为主。我推荐给大家几个网站,第一个是刷题的网站leetcode、第二个是查看每道题考察频率的网站codetop,大家在百度上搜索关键字就可以找到对应的网站了。
第二个要点是,大家在刷题的过程中,不要单单追求做题的数量,光追求做题的数量的意义其实并不大的,因为我们要的是能在面试过程中,在较短的时间内写出一道题并且没有BUG,所以我们就必须对我们做过的题目保持熟练度。所以我建议大家重复做自己不熟悉的、做错过的题目,直到自己能够熟练地掌握为止。
第三个要点是,我建议大家在做题的时候,直接在白板上面写,不要用有语法提示的编译器。因为我们在面试的时候,写代码的环境也很可能没有提示,而且面试官一般也不允许在本地IDE写。所以我们在平常写代码的过程中,最好养成这样的习惯,在面试过程中也就更容易去应付了。
面试中几个小技巧
看到算法题之后,应该先想一下用什么方法去做,尽量多想几种方法,想想最优解是用什么算法,时间复杂度和空间复杂度分别是多少,然后把自己想到的所有解法和面试官说一下,最后再开始写算法题。这样即使写不出来,如果我们的思路是对的,面试官对我们的印象也会更好一些。
#java求职##学习路径#
全部评论
多谢老哥
1 回复
分享
发布于 2021-10-08 10:32
请问刷算法题编程语言只要选自己擅长的就行了吧,比如python?
点赞 回复
分享
发布于 2022-01-08 20:43
秋招专场
校招火热招聘中
官网直投

相关推荐

6 35 评论
分享
牛客网
牛客企业服务