an ckick pictrue

吃饭不洗...segmentfault 专栏

我的2020, 潮起浪平的这一年

Issue链接更新于:2021-02-09

20210209171143

简直直接的总结

2020 最惹人醒目的词: 无疑是新冠。虽然没直接打过交道,但间接影响还是很大的。过年过成家里蹲、成天带着口罩让老鼻炎又加重了、梦寐以求的在家办公成为现实、老东家的货运滴滴业务因为疫情几近停滞、新东家新平台新业务搞得风生水起;

融合

上半年做货车帮与运满满技术体系的融合,下半年做客如云与本地生活域内业务的融合;这个世界大鱼吃小鱼现象与巨头效应越发明显,作为技术人也就越需要习惯业务与技术融合的现实,这也是资本推波助澜的必然。

经历两次融合,发现不论业务还是技术其相似性极大;业务融合其根本还是账号体系的融合,只要账号体系打通了,其他业务都可以通过算法逻辑来打通;技术的共同点就是数据怎么映射,谁为主,谁为辅;站在前端的角度更简单,你只需要关心技术栈适配、鉴权、跳转的逻辑。

而对于鉴权,虽说JWT推行了这么多年,但很多公司还是在依赖cookie做身份标识鉴权,而SameSite新政的推出,着实抢了不少镜,也让我对cookie有了一个全新且深度的认识。

Cook Cookie, 我把 SameSite 给你炖烂了

微前端

微前端自2018年兴起,2019年框架层出不穷;2020年,在老东家技术融合的背景下,我在金融中后台运营系统落地了该项技术。在对Single-Spa, 乾坤等微前端框架调研后,发现与自己的所需有出入,业务逻辑改动较大。所以在借鉴其思想后,自己从底层手写了一个狭义的微前端方案,上线后,不管是用户体验,还是开发体验,都得到了提升。

也许这才是你想要的微前端方案

进入新东家后,发现新团队也有自己的微前端框架,其底层是基于Single-Spa。在融合的背景下,为了降低融合难度,自己又深度接触了这一套框架,最后在上一家学到的又用上了,主应用只负责加载子应用,子应用具备路由自制,控制具体页面渲染。最后发现不论是我的简版还是新团队的方案,其核心都是从三个方面下手: 构建(builder),加载(loader),渲染(render)。

但新团队的方案确实高于我自研的一大截,也和市面上的前端框架不一样,他不只是解决了主子应用的渲染,还解决了怎样建立主子应用的关联关系,让主应用知道自己关联哪些子应用,子应用每次发布都会通知主应用,同时子应用上线时像普通前端应用一样具备灰度能力。

平台的力量

刚刚说的微前端方案,支撑这个方案的不只是一个框架,其配套还有一个平台。这个平台解决了主子应用的创建、关联关系、发布部署、消息推送等问题,而这样一个平台是完全由前端团队独立完成;而且这个平台现在不只服务于前端,也服务于整个研发团队。

在阿里像这种因为要解决一个问题,而开发一个平台对的设计比比皆是,进来半年多,我非常惊讶于这个公司的平台的搭建能力;比如def这种发布部署平台,在我看来已经把前端工程化已做到极致;还有aone这种项目应用管理平台,从需求设计、应用建立、发布部署、测试回归等一站式的开发体验设计;其中最惊艳我的,就是多迭代的同时部署能力, 这解决了很多团队快速迭代分支管理困难的问题。像这样的平台还有好多好多,以前期望的或还没实现的,在这里都成为了现实。

在阿里,我们如何管理代码分支?

但好平台,并不是什么都好,如果你习惯了依赖和按部就班,可能两年后,你就什么都不会了。俗话说: 水能载舟,亦能覆舟。

面试

从老东家去新东家,自然避免不了面试的过程。我基本上从2020年初就开始了面试,先裸面了两家,发现虽然过了,但结果并不理想。就像大学中的考试,如果你听过一些课,稍微聪明点,考及格是没有问题,但奖学金…是不可能的,这最直接的后果就是职级评定不高,薪资不理想。

后面因为疫情,把面试的过程放缓,自己先系统性的整理了一遍知识,然后又打渔似的做了几十道LeetCode。然后陆陆续续面完了成都所有的一二线前端团队,面蚂蚁腾讯这种级别的,基本三面就倒下,普遍给出的反馈是前端基础扎实,但大项目经验缺乏。低一点级别的,基本都能收下offer,最后因为情怀与项目复杂度,选择了新东家,6月入职。(进来接触的第一个项目是一个30多个前端同时开发一个小程序项目,这种多人协作的级别,是我从未想过的,但由于底层设计与业务系分合理,其协作非常顺滑,无代码冲突,无分支管理困难)。

最后说一下我为什么要离开老东家,不是因为疫情业务停滞,也不是因为工资太低。促使我离开的理由大概有三个方面:

  • 技术天花板,在2019年述职时,我的述职对象是五个后端大佬,这怎么看前后端都是失衡的。你讲的,他都说好,但就是不给你升。今年在新东家述职,面对的是3个P8,你说的他们能听懂,能看明白你做这件事的价值与你设计方案的缺陷,能给你后续的职业规划做建议,这体验完全不一样;
  • 项目复杂度,我在老东家做微前端,是在融合的背景下做的,因为单独做,其收益比太低,其问题就在于项目体量与复杂度还不够。这个问题,在后面面试中也不断凸显;
  • 平台,虽说现在开源项目百花齐放,但要真正引入自己的业务,还是需要花费不少代价,踩不少坑。但好的平台很多路,别人已走过,你可以借鉴,你能学到真正的核心,而不是在门槛前花费太多时间;

如果你也考虑换东家,你需要考虑清楚你想要什么,不要裸面,不要打没有准备的仗(刷面试题不是准备,而是系统去整理你的知识),这是一个过来者给你的最好的忠告;作为一个面试官,我要告诉你的是:对于大厂,你的每一次面试都被做好了记录与评价,有可能一次的草率,就让你与你期望的团队成为遥不可及的梦想(提炼你的项目与经验,第一次面大厂通过率是最高的,被捞的通过率反而折半,如果你没准备好,被捞了也要拒绝,没有面试评价就是最好的评价)。

生活

今年生活因为疫情过的异常寡淡,缺少惊喜:婚礼被迫延后了、和同学朋友的聚餐变少了、5月因为脚裸重伤提前加入了养生篮球大队。

但值得惊喜的是,媳妇的户口终于落在了成都,这样我那告老还乡,种菜卖水果的农场主梦想得以保留;最近,我们又花了1000多块钱,把小家装饰了下,下班的动力更充足了。

20210209170802

2021, 愿生活如意,身体健康,职业奋进,🐂起来!!!