反思一次羞愧的阿里面试经历

·  阅读 12507

反思

昨晚去北京大望路阿里面试, 产生了严重的挫败感, 羞愧难当.

比不得从大学就有目标有理想, 一直在为目标努力学习技术的同学, 在大学唯一能拿得出手的就是参加了电子设计大赛, 学了点嵌入式的知识.

毕业后开始做android, 说得好听点叫做项目, 实际上就是搬代码, 真正记到脑子里的有多少呢? 从百度Google搬到自己的代码里, 同一个问题要遇到好几次才能记住, 很多问题搬完了还不知道为什么这么做. ReactNative都做完一个项目了, 生命周期都记不清楚, 这样的工作有什么意义呢?

进步太慢, 毕业后的前两年自学android, 现在想来基本都是在爬, 两年之后自认为很厉害, 什么业务都做得了了, 其实只是井底之蛙, 甚至连hybird都不知道. 面试官问一句"都是原生开发吧", 支支吾吾回答了一句"就是在Eclipse里写java和xml...", 真是可笑至极! 一如昨天回答"intent如何突破传参大小限制": "不太清楚可以突破..". 我可以找借口说平时做的项目不大, 不需要这些操作, 其实用到intent的时候也应该深入看一下, 不是吗? 自认为工作这五年, 理论知识还不如BAT招的应届生, 也许在其内部工作了一年的新手掌握的基础知识都比我扎实吧?

稍微开点窍是在2018年初, 终于开始不满足于api调用了, 开始学习一些目前小项目中还用不到的东西, 比如JMM/深入点的多线程/各类数据结构, 也写了些博客, 自认为感觉良好. 殊不知浮于应用之上的深层理论知识只是华而不实的空中楼阁, 连Thread.join()有带有超时参数的重载方法都不知道, 就算精通了synchronize优化的偏向锁轻量锁又有什么意义呢? 先不说实际项目中毫无作用, 甚至只是用于应付面试都问不到那一步, 只稍微问下基础的应用就捉襟见肘漏洞百出, 基础不牢谁还有兴趣深入的问.

与前几年的呆傻相比, 这两年又太浮躁了, 自知欠的技术债太多, 开始病急乱投医, 一味为了面试去学习些面试题的星星点点, 或者接受各个技术群/博客/资讯网站关于技术的/关于人生的狂轰滥炸, 却积攒不到扎实的深入的技术知识或者应用经验, 这样下去只会越来越焦虑而毫无真正意义上的技术提高.

另外一点是心理素质不过关,多年的工作经历都是在小公司、国企,面对互联网企业龙头不自觉的自卑了很多,其实有很多问题也都知道,却因为表述问题导致答不上来。比如问了JVM的生命周期,自己就死板认为是类似Activity的生命周期回调,思路完全打不开。说到这里,其实还是自己面试太少,起点太低又追求过高,放大了自己的心理素质缺陷。

计划

以人为镜可以明得失, 看到了自己的不足就要针对性地做一些改变.

以下思路转变要切记:

  1. 核心思想, 从项目出发, 打牢基础, 逐步深入, 业务看到哪, 源码就要跟到哪, 不要拖, 不要欠;
  2. 上班期间不再惦记其他知识的学习, 专心研究项目上需要的知识/碰见的问题, 否则只会三心二意, 项目上的技术点做不深入, 其他知识点也看不踏实;
  3. 下班后, 除了陪家人朋友/做家务之外的个人时间, 要抽出大半来学习, 比如没其他事的话可以玩游戏/逛吃的时间, 这个比较笼统, 没有具体衡量标准, 所以要时刻提醒自己;
  4. 学习时切忌不要急于求成, 以深入学习/学会应用为目标, 写博客是为了总结记录, 而不是为了花里胡哨的标榜什么. 比如写了一个算法, 尽量联系下应用场景; 看了一段源码, 想一下对应用层调用有什么影响, 这样才能学以致用.

具体的学习目标

  1. 周一到周五晚上只有一个半小时的小段时间, 用来学习小节点的算法知识, 周末大段的时间用于研究源码或者JVM等较深入的知识, 周六周天相加至少要6小时, 其余时间与媳妇商量来定;
  2. 算法知识先看完<剑指offer>, 然后刷LeetCode; 源码和JVM先看<Android源码设计模式解析与实战>, 然后系统地看下<深入理解Java虚拟机>, 把之前掌握的知识梳理好, 这三本书是今年的目标.

前瞻

人与人的目标各不相同, 有时候也羡慕可以踏踏实实开开心心养老的人, 可是更多的时候还是想要更进一步. 现在已经老大不小了, 27周岁, 工作五年, 还是条只能混过简历筛选的咸鱼, 后面要更加努力了.

分类:
代码人生
标签: