关于java:从小白到-6-个-offer我究竟是怎么刷题的

32次阅读

共计 2125 个字符,预计需要花费 6 分钟才能阅读完成。

最近自习室里又衰亡了一阵刷题潮,大家相约刷题~


明天和大家零碎分享下我去年转行时的一个刷题过程和办法,心愿对你有所帮忙。

首先介绍下我的编程根底,我学的是金融工程业余,硕士时学过 C++ 的课,这也是我的编程入门课(但我集体十分不举荐用 C++ 入门)。这门课的重点是 C++ 在金融畛域的利用,比方给 Option 定价,根本不波及算法和数据结构。

所以我是有肯定编程根底的,然而对算法和数据结构是小白,也不懂空间复杂度和工夫复杂度为何物。

另外阐明一下我的工夫,我是在工作后才开始刷题,所以是早晨和周末来刷,工夫比拟缓和,如果是学生的话在我的根底上要多刷一些哟。

上面上干货。


我把我的刷题过程分为 3 阶段。

第一阶段:打基础

工夫是 3 个月,做了 128 道题,均匀每天 1-2 题。

这一阶段刷题对我来说,是一个学习数据结构和算法的过程。

所以如果是科班的同学这一步就能够跳过了。

常常有同学问这个刷题程序问题:

我认为在不同阶段是不一样的,那么第一阶段我是 依照算法类型 来刷,每个类型大略花 1-2 周的工夫。

那到底先刷哪个类型呢?

刷 DP?

这不是劝退么?

这里对于小白来说,正当的学习曲线是十分重要的,否则一上来数据结构都不分明去做难的算法题容易受打击。

那么怎么才是正当的学习曲线呢?

我说的不算,其他人的也只是他集体教训,而应该是看 名校的口碑课程 是怎么安顿的,看传授为你制订的学习打算。

比方第一周,咱们去刷排序算法。

那在这个具体的分类下,题目按什么程序来做呢?

把题目依照频率从高到低的程序来做,也就是呈现频率高,常考的咱们先做。

那对于每一道题应该怎么做呢?

首先我会先本人思考 5 分钟,那如果过了 5 分钟还没有任何思路,就不用强求了,看答案吧。

Leetcode 有一个讨论区,外面有十分多的大神给的解答,重点不是看他的代码,而是看他怎么想的,怎么剖析的这个问题。

如果还没有了解,那我会去搜一下视频解说。

这里举荐一个小哥,也是我惟一举荐的 Leetcode 视频解说:

国内的小伙伴可能不太不便看这个,大家在留言区说下你举荐的视频解说吧~

对于在北美求职的同学,这小哥的英文对面试也会十分有帮忙。

这样就把一个刷题打算落实到了第一个分类、第一周、第一天该做什么。

然而做完题不是就高枕无忧了,最重要的一步是须要排汇、内化成本人的。

我喜爱的是写“解题报告”:

<,>

把这道题考查了哪些知识点,正确的思路是怎么的,他人是怎么想到的,代码是怎么写的,代码有什么小技巧,都记录下来。

这个是跟我过后一起刷题的小伙伴学的,并且咱们相互讲题,这样成果更好。所以这里强烈建议大家组队刷题,互相监督进步。

那么周末的时候温习和总结,我个别会做:

  1. 从新做一遍本周做过的题目,不是背答案,而是本人再去想一遍;
  2. 再做几道新题;
  3. 看书,建设更零碎的常识体系。

这里看书不是指把书从头看到尾,而是抓住重点章节,比方排序算法,那就参考 MIT 传授给你画的重点,只看《算法导论》的这些章节,这才是偷懒的正确打开方式啊。

不过,如果你的工夫很短缺,当然是零碎的看书、上课更好了,会有更加平缓的学习曲线。

这样 3 个月后我把根本的算法类型都刷过了,数据结构也都深刻了解了,刚开始做的题目也差不多都忘了,那么开始第二阶段。

第二阶段:拓展思路

这一阶段我花了 1 个半月的工夫,温习了第一阶段的题目,并做了 100 道新题。

  • 平时工作日的时候,我会去温习第一阶段的题目,并且用英文把它讲进去,毕竟我要加入英文面试,如果是国内面试的话中文就好了,而后你就会发现,本人是不会谈话的,不信你录音听一听。
  • 周末时,我会限定工夫去做新题,模拟考试或者面试的感觉,在有工夫压力上来思考,否则给短缺的工夫大家都能做进去。

这一阶段我是记录在 Excel 里:

第二阶段做的差不多的时候,就把 Linkedin 设置为“open to market“,就会有猎头找我了,那一旦拿到面试,就到了第三阶段。

第三阶段:面试

这一阶段的重点是找到面试的状态和感觉,并且疾速写出代码。

那么我的办法是

  • Mock interview
  • 加入 Leetcode contest

这一阶段的刷题程序我会按公司分类来刷,Leetcode 上有 company tag,如果是国内的小伙伴能够参考这个 Github: https://github.com/afatcoder/LeetcodeTop,列举了国内几大互联网公司常考的面试题,那么就会更有针对性的筹备面试。

这一阶段又陆陆续续做了 100 题,同时面完了所有的面试,就出工啦。


最初呢,再送个大家 3 个很好用的 Github 材料:

  1. 按国内公司分类:https://github.com/afatcoder/LeetcodeTop
  2. 依照算法类型分类:https://github.com/wisdompeak/LeetCode
  3. Leetcode 1-919 题的解析:https://github.com/grandyang/leetcode

另外还有一份精选的刷题笔记也想送给大家,之前在视频号里举荐过了,还没有领的小伙伴在公众号后盾回复「笔记」就有啦。


那以上就是我刷题教训的整个过程啦,如果还有任何问题欢送留言或者私信通知我,如果想退出自习室和大家一起刷题的也欢送加我微信,备注:自习。

我是小齐,纽约程序媛,点击下方视频理解我的故事吧~

正文完
 0