反思
昨晚去北京大望路阿里面试, 产生了严重的挫败感, 羞愧难当.
比不得从大学就有目标有理想, 一直在为目标努力学习技术的同学, 在大学唯一能拿得出手的就是参加了电子设计大赛, 学了点嵌入式的知识.
毕业后开始做android, 说得好听点叫做项目, 实际上就是搬代码, 真正记到脑子里的有多少呢? 从百度Google搬到自己的代码里, 同一个问题要遇到好几次才能记住, 很多问题搬完了还不知道为什么这么做. ReactNative都做完一个项目了, 生命周期都记不清楚, 这样的工作有什么意义呢?
进步太慢, 毕业后的前两年自学android, 现在想来基本都是在爬, 两年之后自认为很厉害, 什么业务都做得了了, 其实只是井底之蛙, 甚至连hybird都不知道. 面试官问一句"都是原生开发吧", 支支吾吾回答了一句"就是在Eclipse里写java和xml...", 真是可笑至极! 一如昨天回答"intent如何突破传参大小限制": "不太清楚可以突破..". 我可以找借口说平时做的项目不大, 不需要这些操作, 其实用到intent的时候也应该深入看一下, 不是吗? 自认为工作这五年, 理论知识还不如BAT招的应届生, 也许在其内部工作了一年的新手掌握的基础知识都比我扎实吧?
稍微开点窍是在2018年初, 终于开始不满足于api调用了, 开始学习一些目前小项目中还用不到的东西, 比如JMM/深入点的多线程/各类数据结构, 也写了些博客, 自认为感觉良好. 殊不知浮于应用之上的深层理论知识只是华而不实的空中楼阁, 连Thread.join()有带有超时参数的重载方法都不知道, 就算精通了synchronize优化的偏向锁轻量锁又有什么意义呢? 先不说实际项目中毫无作用, 甚至只是用于应付面试都问不到那一步, 只稍微问下基础的应用就捉襟见肘漏洞百出, 基础不牢谁还有兴趣深入的问.
与前几年的呆傻相比, 这两年又太浮躁了, 自知欠的技术债太多, 开始病急乱投医, 一味为了面试去学习些面试题的星星点点, 或者接受各个技术群/博客/资讯网站关于技术的/关于人生的狂轰滥炸, 却积攒不到扎实的深入的技术知识或者应用经验, 这样下去只会越来越焦虑而毫无真正意义上的技术提高.
计划
以人为镜可以明得失, 看到了自己的不足就要针对性地做一些改变.
以下思路转变要切记:
1.核心思想, 从项目出发, 打牢基础, 逐步深入;
2.上班期间不再惦记其他知识的学习, 专心研究项目上需要的知识/碰见的问题, 否则只会三心二意, 项目上的技术点做不深入, 其他知识点也看不踏实;
3.下班后, 除了陪家人朋友/做家务之外的个人时间, 要抽出大半来学习, 比如没其他事的话可以玩游戏/逛吃的时间, 这个比较笼统, 没有具体衡量标准, 所以要时刻提醒自己;
4.学习时切忌不要急于求成, 以深入学习/学会应用为目标, 写博客是为了总结记录, 而不是为了花里胡哨的标榜什么. 比如写了一个算法, 尽量联系下应用场景; 看了一段源码, 想一下对应用层调用有什么影响, 这样才能学以致用.
具体的学习目标
1.周一到周五晚上只有一个半小时的小段时间, 用来学习小节点的算法知识, 周末大段的时间用于研究源码或者JVM等较深入的知识, 周六周天相加至少要6小时, 其余时间与媳妇商量来定;
2.算法知识先看完<剑指offer>, 然后刷LeetCode; 源码和JVM先看<Android源码设计模式解析与实战>, 然后看下<深入理解Java虚拟机>, 这三本书是今年的目标.
前瞻
人与人的目标各不相同, 有时候也羡慕可以踏踏实实开开心心养老的人, 可是更多的时候还是想要更进一步, BAT是我的目标.
现在已经老大不小了, 27周岁, 工作五年, 还是条只能混过简历筛选的咸鱼, 后面要更加努力了.
作者;YouCii
链接;https://juejin.im/post/5cabf8a1e51d456e6f45c6b4