计算机专业的毕业生以及准备跳槽的程序员们,在找工作的面试和笔试时,除了项目经验外,最重要的就是算法题了。有别于程序设计竞赛的倾向于高难度有竞技性题目的选拔性考试,面试中的算法题通常考察的知识点较为单一,代码量相对不大。因此,对于面试中考察算法题的针对性训练,ICPC和OI的OJ上的题目由于难度较高,需要的时间长,不是太合适。通常,程序员们会去LeetCode(力扣)和牛客网这两个平台刷题。
力扣的算法题题库大概有两千题,牛客网的算法题题库大概有三四百题。假设一个程序员一天刷三道题,那么他一年就可以刷一千多题。都掌握了的话,通过技术面试中的算法题部分应该是没有问题的。
然而,刷题并不总是一帆风顺的。不是每个人都能读过《算法导论》。你可能绞尽脑汁也会被一道题卡住。可能是输入输出格式的处理,可能是没考虑到的边界情况,甚至需要的核心算法你闻所未闻。那么,这个时候如果没有老师同学的帮助,就只能借助看题解来理解了。


上图是牛客网和力扣的题解界面,在题库中点开题目,在题目的页面中即可方便地查看题解。题解的数量和质量都不错。

什么是好的题解呢?最差的题解是只贴代码,不知道能不能通过。再好一些的题解是代码有一些注释,能够看出主要的算法设计思路。再好一些的题解是给出算法伪代码的每一步。我心中最好的题解是给出算法数学上的分析与证明,数学上证明是对的,写成算法也一定是对的(实现错了另说),再给一些图示的具体例子方便理解就更好了。
CSDN想从正面突破牛客网和力扣,在题目和题解的数量和质量上胜过他们,我认为是不经济的,即使能超越也要付出大量时间和人力的代价。
CSDN可以通过Blink构建社交平台,在上面分享做题打卡的成果。对于刷题,一些人放弃的原因是没有里程碑,不知道坚持下去能有什么结果,也不知道自己处于什么样的位置。
每周有新题目比赛作为练习的话,可以让做题者定位自己的位置。已经做题的数量也可以作为一个参考。

CSDN的算法技能树,做出一道题可以点亮小树苗,我猜点亮一个专题下的所有小树苗就能点亮一个大树苗。这也是一种里程碑。
可以整理出一套好的力扣文字题解,有图有算法。可以做配套视频讲解算法,以及这一算法在一些类似题目上的应用。
可以建立课程群,有导师和助教(也许可以用程序代替),对做不出的题目答疑。推荐类似题目。
本文针对计算机专业毕业生及程序员面试中的算法题进行详细解读,对比LeetCode(力扣)与牛客网题库特点,探讨高效刷题策略及优质题解的重要性。
1282

被折叠的 条评论
为什么被折叠?



