8家大厂SSP offer的清华学长谈算法岗是否人间地狱(送七本学长手写iPad笔记)( 四 )


其次 , 基础知识的复习也很容易会遗忘 , 面对这个问题 , 我一般会将高频考点的知识写在ipad中 , 然后每晚会去复习一遍 , 这样一个月下来 , 基础知识应该就可以烂熟于心了 , 这一段的复习就可以告一段落了 。
4.2 项目/竞赛
项目/竞赛一般会在基础知识之后进行考察 , 这些一定要提前准备好 , 写在简历里的项目一定是要自己亲自做过的 , 因为一旦面试官问到了项目中某一个部分的代码是如何实现而你又回答不上来的话 , 在他心里对你的印象就会非常减分 , 并且会怀疑候选人的诚信问题 。 所以 , 我的方法是将之前做过的项目重新再做一遍 , 包括代码部分 。 这一块看似会花费大量时间 , 实则并没有那么长 。 具体来说 , 我会先将做过的项目重新梳理一遍 , 画出整个项目的流程图 , 然后再逐行复习自己的代码 。 等代码复习完之后 , 再删掉重新写一遍 , 这一步骤因人而异 , 取决于你的记忆能力 。
竞赛方面 , 常用的竞赛模型如GBDT、XGBoost、LightGBM、FFM、DeepFFM等一定要了解 。 最后 , 如果你的论文或项目与面试官所做的方向非常的match , 你通过这一面的概率也将会大很多 。
4.3 coding能力 ??????????????
代码能力是计算机专业学生的基础能力 , 求职技术方向的同学 , 无论是测试、开发或算法 , 互联网公司在这一块的考察都是重中之重 。
一般而言 , 大厂在每一轮的技术面中 , 至少会出一道编程题 , 多的会直接上三道编程题让你做(我就遇到了...) , 难度主要集中在easy和medium , 少数丧心病狂(褒义词)的面试官会出hard题 。 而考察范围已是圈内公开的秘密 , 就在《剑指offer》和Leetcode上 , 因此刷题成为了大家求职路上必须要迈过的一道坎 , 这个坎没有人可以帮到你 , 只有靠你自己 。
我在硕士阶段也没有刻意的去刷过题 , 只有本科时刷过洛谷 , 下面是我Leetcode账号上提交次数的统计:
我是从8月初开始集中在Leetcode上刷题 , 一直刷到了10月份 , 《剑指offer》也是在Leetcode上刷的 , 平均每个月刷题数是300 。 可能很多人都觉得300道根本不可能完成 , 确实 , 如果你按照Leecode官方的题号顺序去刷根本不可能 , 但如果是按照题目类型(标签)去刷 , 每天刷10道 , 一个月也就完成了300道 。
一开始可能会很慢 , 但基本上每个类型的题目当你刷够20道以后 , 都可以总结出该类题目的代码模板 , 所以前期会慢一点 , 越往后则会发现刷题速度越来越快 , 可以理解为先苦后甜 。 而对于刷题的方法 , 可以分为三轮进行:
a.第一轮:优先效率 。 当一道题花了十五分钟去思考也没有思路时 , 则果断选择直接看答案 。
b.第二轮:培养思路 。 你需要对以前做过的每一道题都要有一个大致的映像 , 并且知道解题的方法是什么 。 这一轮其实最难度过 , 因为人对事物的遗忘是有规律的 , 而我们需要想办法客服这个规律 。 在这里推荐一下我的方法 。 我在刷完每一道题之后 , 会在ipad上注明题号以及题目名称 , 然后将该题的解题思路写下来 , 最后还会重写一遍代码 。 这样 , 以天和周为单位不断地复习之前的题目 , 就可以做到以后遇见它们时可以迅速反映出是用什么方法解决这道题的 。
c.第三轮:完善思路 。 当我们顺利度过了第二轮之后 , 第三轮则需要学习每道题目的多种解法 , 比如TopK问题可以用快排变形/堆/二叉查找树/计数排序四种方法解决 。 在我的面试过程中 , 有些面试官会在你AC一道题后还会要求写出最优解 , 这往往决定你的面评是否能达到较高级别 , 也就是能否拿到sp以上级别的offer , 并且一道题如果学会了多种解法 , 也会让你加深对这道题的理解 。 因此 , 我建议大家要学会用多种解法解决一道题 , 并且要培养出能快速AC的能力 。

特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。