看了很多的书,根据官网学了非常多的技术。
学习了使用到的技术相关的底层原理,也看了部分核心源码。
但是这依旧无法带我冲过红线,站上领奖台。
最近面了蚂蚁,到了五面CTO这里。明显前面聊技术,聊项目经验,都ok,都很愉快。但是到了算法就哑火了。可能还是因为没有刷过算法。我自己知道,算法是我目前最大的短板。我不能靠运气向前冲,先补短板吧!
所以决定把下半年的计划,和明年的计划做一个先后顺序的调整。本来打算下半年看一下linux内核相关的知识的。明天打算花时间去刷一轮算法。但是在面试过程中,很明显感觉到 coding能力不足,算法能力不足,思维能力欠缺。
能决定你走多远的不一定是长坂,但是能拖你下水的一定是短板。
刷算法有这么几个好处
- 提升自己的思维逻辑能力。
- 提升动手coding能力。
- 额,不想功利化。但是面试都会有。别人面试我,会问算法。我面试别人也会问算法,算法依旧是短暂时间内,能够考验一个人的思维能力,coding能力的最佳方法。
- 算法能力,能够让你的工作变得更加轻松。你能在更快的时间内完成你看到的需求。
- 算法能加深对数据结构的理解。
- 算法能够弥补 API的不足。
- 看试官,屏幕共享看着你敲代码,是一项不可少的娱乐项目!
我准备这样刷算法
- 如果可以的话,尽可能的在最短的时间内,写出来你随机到的算法题目。一道题目,写超过半个小时,即使写出来,依旧没有任何意义的。所以从你拿到题目,到运行案例通过,最好是在二十五分钟之内完成。这样才有锻炼的效果。
- 做出来以后,再去找最优解。哪怕花的时间长一点。然后归纳总结解题思路。这道题,这类题,如何能够快速完成。
- 每写一道题,就总结用到的数据结构。
- 我会把每一道题,都当做我工作中遇到的必须要解决的问题。
- 一年有365天,254个工作日,111个节假日。 定一个1000的小目标,工作日每天两道,节假日每天5道,应该是: 254*2 + 111*5 = 1063
看一下朋友的忠告
一年而已,未来杭州见~