环境配置
5月末。
“Carbon,我了解了你的情况——其实我还是挺想留你的,这样吧,一个月850…决定权在于你。”
“那如果我留下的话,有实习证明吧?”
“这个当然。”
“这样的话,我再考虑考虑。”
挂掉经理的电话,我看了下我投出去的十几份简历,像是石沉大海。望着茫茫夜色中三期实训中心的几点灯光,我感到一阵脆弱无力。
“很抱歉,经理…”
我在钉钉上发出了这么一条消息。
听说那个男人已经找到了月薪3k的工作,我真是羡慕不已。
我又投出几十份简历,纵使是被标记为“感兴趣”,也再也没有了下文。
“没关系,我也很想休息一段时间,休息够了还可以抽空把自己手里的项目做完。大二也不用急着找实习的。”
我对自己这样说,虽然说的都不假,但是我也有很大安慰自己的成分。
就这样吧,是时候休息一段时间了。
代码重构
“这边缺前端,有谁想来吗”
这一切都要感谢那位19级学姐,因为她的缘故我才有机会得到字节的面试机会。
轮滑球课上,我被大佬们带着打期末考试比赛,下课后我发现了一通未接来电。
我滑到体育场的角落,试探着拨过去——就这样约好了面试时间。
一面
- 介绍一下项目经历
- webpack性能优化(懒加载、按需引入、首屏加载)
- 浏览器缓存机制
- 超大文件分片上传 及 断点续传
- 算法题
- 函数柯里化
二面
- TCP和UDP的区别
- TCP为什么可靠
- 拥塞控制怎么实现的
- 为什么要区分堆栈内存
- VueX实现局部数据共享
- 事件轮询机制
- 函数柯里化(难度陡增)
- 算法题
三面
- 项目遇到过的难点
- 继承模式
- 算法题
- 简单说说虚拟DOM
- 能实习多久
HR面
- 团队合作相关问题
- 遇到过的困难
- 对行业未来的思考认识和规划
- 读研
- 上一份实习的情况
- 什么时候能入职,能实习多久
七百日元婴铸气,于一朝飞升渡劫
高并发
6月23日,飞到深圳,然后又是乘车,又是带着行李箱乘中介的小电驴看房,晚上又是到处转悠熟悉环境。
刚过来的感受就是——热得**(文明),房租非常真实,1500合租只能租到80年代的房子——说实话,若仅是老旧一点我是不介意的,但是刚一进门就看到一大箱过期食品和厨余垃圾的混合物在桌子边上发酵堆肥,那浓郁的味道只让我想起停电半年的冰箱里生驱的烂菜,但是出于礼貌我还是要草率地看一下房间,象征性地拍一下照片做记录,不过还是装不出有意向的样子。
由于这前后的对比,还是花了1900租了一个6、7平米的单间——然而竟然还有押金!最后各种费用算下来,一口气交了4000大洋出去…
我真的心疼坏了,我突然觉得一切不值得,突然好想回家躺着玩一个暑假,真的,太累了。
人在江湖,身不由己。还是得出去转转,熟悉一下环境。
本来打算去看看公司,但是在小区内迷路的时间太久了,导致走到半路的时候天色已经是有些许昏暗了,就索性不去了,找了家饺子店吃晚饭。
我点的是饺子,给的是馄饨,吃的是烧麦。那是真的妙。一切都很陌生,我开始感到有点水土不服。
后来跟着导航走,在小区里面又迷路了半小时,终于是回到了住处,一边写着博客,一边期待明天会好起来。
本文也记录一下每天的计划安排等等
6.23
7点起床,打理好之后,吃个早饭去公司做入职流程
初始化
空调还开着,是26度;微光透过窗帘,室内昏暗朦胧。
所以现在应该是几点了呢?
“卧槽,要上班。诶我手机呢???哦,才六点啊,继续睡吧。”
…
“卧槽,要上班。几点了???哦,七点啊,七点半就起来,继续睡。”
“卧槽,要上班。七点二十九???哦,再躺一分钟。”
最后终于是在七点五十出了门,这得益于我没有买洗漱用品,所以也没有花时间洗漱。
一路上我还是觉得非常从容,毕竟九点半才开始入职流程,一个半小时慌什么呢?我看着沿途的街景,和来往的行人和单车擦身而过,我便意识到,这就是早高峰。想到这里,我突然又有了骑车的想法——深圳的街道在我看来非常有特色,因为许多单车、电瓶车之类的都在上面行驶,我也花一块五加入这个行列,只是单纯想融入罢了。
不过仅仅是骑了三四分钟我就发现需要过天桥,又只能把车锁上还了。心底突然多了一道价值一块五的伤口。
八点三十分左右,跟随导航到达A地。
突然之间,我脑海里有一个声音在问:
“为什么要来这里啊?”
我打开offer邮件,差点让我想原地躺平放弃奋斗去隔壁香港求个富婆低价包养我四个月——好像从来就没说过是在A地这边上班诶。嗯,真好。我心底真是在微笑着流泪,因为这真是好笑,但是小丑竟是我自己。
只好原地打车去B地,一看价格区间:23~25——是我这种穷困的家庭能够负担得起的价位。好了车来了,28,抢钱啊?这么贵谁坐啊?下一个,29?开玩笑呢,28都不成我能要你这29的?
在此次拒绝之后的十分钟内,竟然再也没有司机师傅接单。
时间也是一点一点流逝,眼见着马上就要八点四五了,终于是又有司机师傅接单了,一看价格,32。我还能说什么嘛,我和这个司机缘分不浅,多给点怎么了嘛。
但是司机师傅这时候又在半路堵车了…我和他就成了一场双向奔赴,看着导航上它一动不动的样子,我就心急,我越是心急,我就跑得越快。地图上说的预计它还得堵上一分钟,我寻思我这都过了四五分钟了咋还堵着呢。
直到司机给我打一通电话,我才知道是我网速2G了,人家到地方了问我在哪呢。
看着自己刚跑过的几百米,又得跑回去…
九点,终于上车了。
HR还是很贴心的,怕我找不到地方,offer邮件里面还有图文视频寻路指引的附件。但是啊,万万没有想到啊,我2G了啊,邮件靠着缓存还能打开,但是这个在线的附件加载不出来啊…只能是把链接给朋友们帮忙看看打字发给我,至少文字还是勉强能加载的——我qq发个文本消息,只需要等待三秒就可以发出去呢…
九点二十,到了写字楼所在地,根据用了二十分钟勉强加载出来的一部分图片,再反复比对确认加上询问附近的工作人员,终于是摸索进了字节的大楼,然后慌慌张张地跟着指引到了六楼。
好,总算是没有迟到。
这里有工作人员负责接应我们办理入职,但是需要扫码进行一个签到确认,关键是——我2G啊,扫码打不开啊!进度条在那里加载了足足一分钟后,我向工作人员询问起这里的wifi密码——好家伙!还没工作呢倒是先蹭起网来了!好在另外一个办理入职的同学也是2G了——我甚至怀疑他是相当善解人意,为了照顾我的颜面才给出这么一个理由,然后请求工作人员开一下热点给我们两个用一下,当然不管是怎么样,我都应该感谢对于我这种大聪明行为的善意。
至于为什么会突然2G了?我看着我网速挺正常的,经过我专业的分析,猜测可能是这边的DNS都没有缓存,所以我访问资源速度比较慢。
这也能解释为什么过了一段时间在下午的时候就正常了。
好了,总算是拿到了工牌开始办理入职手续。开始递交材料了,看到我前面几位的学籍材料,我就有理由怀疑我的学历是这里最低的了。
不过呢,我也早有心理准备了,所以还是比较淡定。但是让我绷不住的就是,领取办公笔记本的时候,告诉我由于上海疫情,mac供货不足,就只能用windows替代一下了——我看到那个thinkpad啊,我都怀疑这个价格有没有1500…更让我心态爆炸的是,看着旁边的一位朋友领到了mac,一问才知道他是做后端的——我不明白啊,人与人之间的差距怎么能够比人与狗之间的差距还要大啊,我做前端的色彩和分辨率对我很重要的,你做后端的你用mac干嘛啊,你用linux啊!
但是我哪敢说什么啊,还是去26楼去找我的工位了。
迎接我的是我的mentor,一看吓一跳啊,这个不是我的一面面试官吗,想想自己面试答得狗屁不通我就心有余悸,因为我自己回忆一下我的作答,我都嫌弃我自己啊。
但是mentor人很好啊。
开局我是真的很懵逼,新人培训直接丢给我一个图形的结构的文档,超链接那是四通八达啊,主题也是五花八门,从公司内如何应对性骚扰到代码规范再到一堆看不懂的技术文档啥都有,搞得我是找不着北。mentor就和我说该干嘛干嘛,我也才有了点头绪,然后中午也是mentor带着我和另外一个同事去食堂吃饭,我也才知道这边吃饭的一些流程。
字节的饮食还是可以的,这里的食堂让我想起学校的一食堂二楼的自选,除此之外,还有下午茶!!!我靠,今天的牛奶西米露丸子和红枣豆沙丸子二选一!!!突然之间觉得一切都好起来了!!!
之后看培训资料看得无聊也借着做核酸的机会去四处逛了逛,发现这里是有54楼的,真的挺大的,然后5楼还有小邮局,可以去领取 字节10周年礼包 和 新人入职礼包——好!然后好像是34、35楼还有按摩和健身房!虽然我没有进去,但是想想就很棒啊!另外,大概是每个办公区楼层的走廊上都有咖啡厅,但是由于我不清楚是不是免费的所以暂时还没试过——但是下周一定会喝的,因为今天看文档差点睡着两次…
后面晚饭也是和mentor以及另外一个同事一起吃的,交流了一下,那个同事是某知名985硕士,虽然早有预料,但是还是觉得非常佩服。然后他和mentor就开始交流周末的计划:
“这周打极地大乱斗不?”
“打排位不?”
我当时心里只有——“?”
最后是摸鱼一直到下班,本来骑车回去主要二十分钟,但是我还是花了两小时,因为在外面迷路了…
总的来说,今天感觉还不错,感觉自己又行了,一切都好起来了!
向后兼容
6月27日,一如既往艳阳高照
九点半到了公司,赶上了早饭——纯牛奶加酱肉包,以及黑芝麻糊…
然后一直摸鱼摸到了中午,然后和几个同事一起去吃午饭,这个过程中我们友好交流,直到有人问起:
“Carbon,你以前是在哪个学校读书呢?”
我愣了一下,但是很快还是给出一个自然的微笑并说出了一个生僻词汇
这位同事也愣了一下
“那是在X省吗?”
“不,是在Y省a市”
他转过头和另外一位同事相互看了看对方,又转过来和我说,他们当初也是在Y省a市读研——自然是某985,说得很自然,没有炫耀的意思
因为在离开这自此沉默无言的餐桌后,电梯间内又有人讨论:
“那个xxx,以前本科只是个211…后面竟然保研上清华了”
哎呀我的妈呀,我吓得简直是瑟瑟发抖啊,这又一次提醒我周围的都是什么神仙了…
总之就是,还需要继续努力,还有很长的路要走!
稳定迭代
别的不说,字节的早饭我真的爱了
我拿了一碗纯牛奶,一个酱肉包,五片培根,一根像是来自KFC的油条,一片煎蛋,一份炒面还有一个淋了糖和芝麻的甜馅面包——我当时也怀疑,我真的能吃这么多吗,不过事实证明人类能够通过努力成就伟大的事业
然后我寻思吃了饭买瓶水吧——好家伙,每日补贴五瓶水,外面卖5元的这边直接1.7元,感觉赚翻了!更厉害的是外面的贩卖机,圆珠笔,记事贴,鼠标免费拿!
怎么办,我好像有点喜欢上这里了
但是看看小组七个人,六个都是985硕,想想“和优秀的人一起,做有挑战的事”,他们应该算是完成了,毕竟和我共事那肯定是相当有挑战的
坚持每天吃早饭,每天多产出一个Byte
动态内存分配
这几天一直在看各种资料,也终于是对MV*架构有了一些系统性的认识,比如MVC,Modal数据逻辑,View视图,至于Controller,那就是负责处理业务逻辑的
但是一些较为高深的技术,对我来说实在是有些鸡肋,比如看完云计算的资料,我的脑子里只留下各种被叫做”ass”的东西,笑死根本看不懂
其实是”aaS”
来了好几天了,还没开始写代码
“Carbon,你来写一下这个文档”
“嗯?”
我写文档,什么文档?刚才开会讨论的更新内容的实现方案?
当时我就麻了,我项目都不知道是啥呢我就写文档了,何况以前从来没写过写文档…
最后还是写出来了,之后按照要求要我和其他几个人讨论方案,一开始我还没有意识到,后面我才发现问题很大——是把需求给另外几个同学实现,然后再去和后端那边协商接口…
好像,就不需要我来写代码…
后面也就开始摸鱼了,然后突然,就那么弹指一挥间,我被一股强大的拉力拉入一个群聊,电光火中之间风云骤变,雷霆万钧而不见天日,原来是群内人员都是非同凡响,其中一人更是体冒金光,我使出浑身解数把眼睛睁开一条缝,竟是酷诺太古时期的队长,我上下打量了此人——的资料卡,他的名字气宇非凡,正式员工的身份更是人中龙凤,而且最超凡入圣的是他那不怒自威的头像——一片空白——这无疑是表明他虚怀若谷,大象无形的强者姿态,看完我从工位的椅子上弹射升空做七百二十度的托马斯大回旋,然后以头抢地为这天神下凡五体投地!
众大佬见我这般粗野蛮愚之态,便知道我尚未开化,便赐予我西文真经一卷——仅仅只是翻开扉页的一角,一道圣光冲天直上,吓得我连忙合上,这前后仅有不到三秒的时间——第一秒我被震撼到了,第二秒我感到一种面对无穷的恐惧,第三秒我合上书感到一种力量正在源源不断地进入我的体内,我已重获新生!
晚上回去的时候和另外两位同学聊了聊,发现是顺路的,然后这样我才知道我可以地铁20分钟直达家门口…
想想这些日子,早上八点顶着三十几度的天骑一个小时的车去热岛效应的市中心,晚上又带着一身的疲惫在昏暗的道路中骑一个小时的车摸索着回家
新世界的大门,已经打开!
阻塞挂起
今天开始接触项目代码,由于是我用的是windows而启动脚本是针对mac的,所以是配了一上午的环境,各种文档都是mac的,对windows来说是相当不友好
中间也有几次差点成功了,但是项目应用打开就是一片空白,然后我只能继续改…
最后下午mentor找我开会,散会的时候惊觉我一个环境配了一上午,最后给我的启动脚本前面加上一个set
字段然后就能启动了…
不过怎么说都是能动了对吧,但是我一进项目怎么看都觉得不对劲——怎么还是一片空白呢?又去问mentor,发现原来是我负责的是这是一个应用的模块,最后要合并到master里面才是完整的,所以现在根目录下是什么都没有的,自然是一片空白…
找到了我负责的路由,可以开始写代码了,点进去一看
“诶,不是,不是说做模块化复用吗,那…那我要复用的模块呢?这个页面怎么就一个标题啊?”
哦,原来其他同学负责的部分,单独放到了另外一个库,还没合进来呢…
然后又是一下午的摸鱼划水:
git clone xxx
rm xxx -rf
git clone xxx
rm xxx -rf
# ....
别问我我这是在干吗,我也不知道…
晚上走得早,我mentor问我:
“走啦?”
“对,主要是…我不知道我现在要做什么”
我笑了,mentor也笑了
哈哈,希望工资没事
垃圾回收机制
mentor他们太忙了,感觉一直在开会,我也不好意思去问他们问题怕打扰到,他们估计也意识到了这一点,就让我去带着外包小组写代码
后来也是硬看代码,感觉懂了,但是项目在windows上运行处处受限简直是举步维艰,然后去IT部门问了一下mac的事,被告知不仅是mac没货了,就连显示屏都没货了,我想着我那占了1/6工位面积的thinkpad不禁红了眼眶
没有mac,我项目都无法顺利运行,但我负责的需求死线是在6天以后,我觉得我有必要采取一些措施自救
我去联系外包小组的一位同学(以后我们叫他Leech),然后我就像是产品经理一样给他说需求——这里有个永恒的定律就是,产品和研发之间总要有一个占据上风压倒对方。我甚至都有点怀疑自己未来会不会成为一个产品经理了。不管怎么说,在我详尽地描述加上坚持不懈三顾茅庐,终于是把事情问得一清二楚,虽然老脸丢尽但是我看到了希望,项目总算是跑起来了,前端后端都跑起来了,数据还交互成功啦!
不得不说字节的技术是真的牛批,很多开发的流程不找人问一下还真不清除
既然已经能顺利运行了,那么也该研究一下运作机制和原理了,在盯着一堆长度达到40的变量名称和稀奇古怪前所未见闻所未闻的语法看了几个小时之后,我收获到不少东西:
其一就是不得不再次感慨字节技术多么牛逼,然后就是我是多么废物…
吃饭的时候mentor问我,搞懂这个项目没有——我心里咯噔一下,支支吾吾说
“在看…大概知道…”
“那项目RPC结构BFF层的逻辑是怎么一回事了解吗”
我当时就麻了,我觉得mentor你好陌生啊,虽然我们才接触一周,但是你这冷漠的样子让我想到了一面里我答不上问题的时候心里那冰凉的忧伤——我一个FE Developer研究这个干嘛…
后面吃完饭又想了想这个事情,越想越感觉不对劲,突然灵光一闪回想起昨天看到的文档资料,其中的专家大佬分析前端未来的趋势是”前后端一体化”,所以现在让我看后端的意思就是——我以后可能也要写后端代码…
不过那都是后话了,说不定没到那时候就因为太菜了被开除了
等到快要下班的时候,Leech把他的mac从4k显示屏前拿走放进包里打算开始度过一个愉快的周末了,然后我只能十分愧疚地拦住他让他帮忙看看bug,不然我的周末就只能和这个bug共处48小时了
“抱歉打扰一下,同学,段代码是你负责的对吧,我想知道为什么它会报错”
说完这句话我就有点后悔了,因为这搞得我跟瞎子一样,我真怕他心里怼我——报错信息不是写着有吗
他看了一下,说是因为他的代码还没同步到仓库,现在这些文件存在对这些未同步代码的引用,所以就报错了。然后反手把那几个文件的全部内容注释掉就好了
话刚说完他就开始操作,不一会儿看上去确实能顺利运行了,但是为了验证是否有其他bug,我又我试着输入路由进行页面跳转,然后又报错了…
这下他就懵了,把自己的mac电脑拿出来看代码,发现和我的一模一样,然后又在我的thinkpad上找问题,最后找了半小时,终于把问题定位到
路由输错了…
超前进位加法
7月6号,DDL前一天,早饭是炒面+黄金小馒头+肉包+小面包+牛奶
已经是在windows上开启云环境进行开发了,但是项目终于是到了云环境也跑不动了的地步——在mentor当面尝试拿着我的电脑修改我污染的代码,二十分钟后也是放弃了,问我为什么不考虑一下mac
的事情。
“入职本来是mac
的,但是疫情导致供货不足就只给windows
的thinkpad
了,现在已经过了将近半个月了,还是没消息”
“是哪位同学和你对接的,我去和他联系一下”
于是五分钟后,就有通知让我去五楼领取电脑。我过去一看啊,那银光闪闪的LOGO啊,略微可见的几处划痕是它辉煌过去的记忆,曾经一定是无数伟大的项目在此设计构建,开发调试,最后再到发布上线供世界景仰——全都在这个苹果里了。这样的设计,寓意这将伟大的世界融入小小的苹果中,与霍金先生的《果壳里的宇宙》遥相呼应,又和我们程序员“HelloWorld”的情怀产生强烈的共鸣!
我颤抖地双手接过这受过洗礼的圣器,我感到万物是如此轻盈,就像是光这样极限的存在却没有重量一般。我用制造过无数warning
的双手摩挲它的表面,用观察过无数error
的双目注视着它——这时我才意识到,就像是众多灵器一般,她也是活的存在。
嗯,没错,说的就是
siri
….
我回应她无声的呼唤,将把这在岁月中尘封的故事重新开启——这时我受到了一些自然法则的影响,在第一次试图宏展开失败两三次之后,又换向进行第二次宏展开再次失败两三次,最后在第三次尝试中成功宏展开。
研究表明,
事不过三
是宇宙中万物遵循的法则,usb接口尝试三次才能插入
就是这个规则的一种体现
一瞬间,我像是经历了一堂四十分钟外加三十分钟超长拖堂的中学思想政治课,还是整个教室只有我一个人讲台上却又有好几名省级专家老师那种,使我收获到了许多人生哲理,譬如——高调做事低调做人
。如果说无数优异代码是丰功伟绩,那么mac
文字后紧跟的pro
就是低调做机的证明!做人也该有这样的内涵!
次日,又一个通知,告诉我由于4k
缺货,只能给我1080P
凑合一下。
这一套组合直接让我的代码修为几何级增长!我甚至敢于写代码了,直接从无到有,进步趋近于无穷大!
冒泡排序
在此之前,我们小组一共有七个人,其中一人叫做Cloud——和一个传说级强者一样的名字。
因为他的名字,让我对他有一种熟悉感——除了他的学历以外。
不过,吃午饭的时候mentor感慨道,Cloud就要走了,他已经实习了两个多月了。
我和着香菇酱肉,扒了两口饭,又吸入小碗装盛的姜末瘦肉粥,为这朴实无华中带有的瘦肉的鲜美滑嫩以及生姜微辣的后劲感到无比充实。我并不为他的离开感到诧异,毕竟是有着这样强大的名字,自然是要往高处走的。
听说一位大二校友在下周也有放手一搏的打算,我期待着她的到来,在从这修罗塔的最底层往上爬的过程中有一个同伴的存在会让心里好受不少的。
希望所有人都能到达自己心中的顶峰。
对了,至今还没列出过字节的菜单,这里就做一下记录吧,这是某天晚上的:
【35F和47F】晚餐菜单
一、自助餐菜单
主荤:淮山焖排骨、酸辣柠檬鸡[辣椒]
半荤: 辣白菜五花肉[辣椒]、咖喱鱼丸
素菜:蒜蓉南瓜、清炒油麦菜
风味小吃:豆沙包
主食:白米饭/紫米麦仁杂粮饭
杂粮:蒸小芋头
流食:青瓜蛋花汤、皮蛋瘦肉粥、莲子百合红豆沙
水果:大红提
饮料:科迪酸牛奶
[图片]二、粉面菜单
尖椒牛肉丝,黄豆烧排骨,三鲜浇头(刀削面/河粉)
[图片]三、A套餐菜单
淮山焖排骨+酸辣柠檬鸡
领取楼层:39F、51F
[图片]四、轻食餐菜单
和风照烧鸡肉荞麦面 & 意式牛肉丸肉酱面
盒饭点位:39F、51F
[图片]温馨提示:轻食餐加热后食用,更安全、更美味哦
[喇叭]关于轻食微波加热办法及相关内容
\1. 微波加热方法:盒子去盖,拿出酱杯(或者将酱料撒在食物上);
\2. 微波炉设置:中档火力加热,时间2min;
\3. 注意事项:包材盒底使用PP或耐热纸浆材质,可以微波炉加热,盒盖使用PET材质,不可以微波炉加热;
堂食用餐时间18:50-20:00
盒饭取餐时间18:50-19:20
懂得善待自己的胃,就不是孤单
[送心]祝同学们用餐愉快! (^▽^)
非受控组件
众所周知,大家都很自觉地卷。
哪怕是八点钟的时候,一层楼直接自动熄灯了,这时候就有人会为了大家能够继续工作而去把灯又打开。
今天总算是见到了二面的面试官,和一丝不苟非常严肃的初映象不太相同,他似乎挺开朗活泼的,突然和我笑咧咧地打招呼开玩笑让我有点意外。
他说当时他去杭州那边的工区,那边的同事都让他快走,因为他是不卷的,八点就下班了。
七点半吃完饭回到工位盯屏幕,他过来问我们——
“昂?休息时间还卷啊”
然后可能是为了更具有实际的影响效果,又亲切地针对着同事Leen说:
“我要和你们推荐一款手游——王者xx,你玩不?我们那边新来的小伙子都十几颗星了…”
最后得出的结论是,以后七点吃晚饭后一定要打游戏。
然后我仔细想了想,他好像是八点下班来着…真是…非常滋润…
不知道有没有人注意到,相当一段时间我的句子末尾是尽可能不加标点符号的,但是最近又加了这是这么回事呢?
因为之前写JS末尾是尽可能不加分号的,导致现在写代码老是被eslint纠错…所以决定以后还是把末尾的符号加上。
边缘计算
之前提到了二面的面试官——姑且称为”MOW”吧,来我们工区待了一阵子,言谈举止无不彰显社牛属性,把我这种社恐人士紧张得那是不敢轻举妄动。
但是不仅是二面面试官来了,今晚的团建,+1leader也会来。
牛肉火锅店的包间,叫边缘计算。我当时就知道这是面向程序员开店,价格肯定往上翻一番。
果不其然MOW就是全场的中心,自带主角光环,一个人活跃起了整个饭桌上的气氛。
接下来就是推杯换盏,为了应对今天这种局面,我在过去的两年也是有刻苦地锻炼不断超越自己的极限。
眼见着一个年轻的硕士就要不省人事,我看着面前的两罐——没错,是啤酒,但是已经是我的极限了。
“这才刚刚开始呢”
MOW这样说着,我的神情突然有一点恍惚,感觉脚底也是不知轻重,后知后觉乘法口诀表背出了一个二二得二…
散场时,空罐的数目在这个基础上翻了个倍。
大家搀扶着彼此,踉跄着去做核酸,又晃荡着乘上地铁,我那时感觉像是波涛汹涌的大洋上,头晕目眩。回家的路上我不止一次后知后觉差点睡着了。
那一晚是近几年来睡得相当早的一次,从九点一直到第二天早上的七点。
高度耦合
我看到了群里面PM质疑QA的言论,我心里一阵麻木,只是看了一眼时间,九点半了呀。
我写下这段不好评价的代码,我心想,要是以后有谁要负责重构它,那必然是生不如死的。
只是没想到这重构来得如此迅速,就在今晚,在这个点,而且还是由我自己来。
面对QA将PM的言论转发给我的行为,我愣了好一会儿不想动弹,我真的很想走了——这是我内心中最诚挚的呼唤,也是我隔着屏幕从QA的打字节奏中感受到的东西,我们希望和绝望交织的情感竟然有了一丝共鸣。
但是我的绝望是更多的,因为代码是我写的,我清楚它有多么烂。那是我再一次地感受到,什么叫做高度耦合。我承认我偷懒了,为了减少学习和开发的成本,本来可以抽离成单独的模块的部分,我却通过一手有点精妙但是更多的是丑陋的条件语句将其与原有的代码糅合成了一坨不可名状之物。
对着这跨域了多层组件又多级嵌套的逻辑我望眼欲穿,又看了看时间,我甚至想放声大笑起来。
现在是两点,我在出租屋内写下这段文字,目的是提醒我和所有看到这段文字的人——高内聚,低耦合。
激励函数
借用的macbook眼看着就要到期了,一想到新的项目需求要来了我就浑身难受。
就在这时,一股灵压突然从我的手机里释放,一看,竟然是工资来了——昨天还吃不起饭,今天卡里就有了一万!
正所谓福无双至今朝至,一看IT部门的消息——macbook pro到货了!
再看看今天是周五,mentor六点钟就开始玩手机我当时就知道事情不对,果不其然没过几分钟他就问我要不要早点下班拥抱周末——所以我俩至少比平时早了一个小时就去白嫖公司的晚饭。但是可能是出于某种mentor的自尊,吃完饭后他又回到了工区,我也不好意思直接就走也就跟过去了,但是一看他——还是玩手机。
我出于礼貌邀请他下班,他说让我先走——想必是还有事务要处理。
五分钟后,我从洗手间里面出来,遇见了下班的mentor。
我俩相视一笑,场面有一丝丝尴尬。
七点钟小组竟然已经没有人了,一切都好起来了!
记忆化回溯
来这边大概快四个月了,中间实在是比较忙,也非常累,所以就没有怎么更新日记了。
但是问题不大,我们还是学过Git的,还是有办法知道以前写过什么代码。要我说,我是大二上就开始接触Git了,怎么着也有半年了,自以为add-commit-push
帅得飞起,实际上还没出新手村。
来了这里才发现git
就是一个帅得不行的时间机器,前往某个时间线(分支),回退到过去某个时间点(版本),重置时间的起点(reset),带走这之后将发生的未来(stash),带到另一个时间线(分支),释放这个“未来”(stash-pop),完成历史的改写。
更还有以前都没听过的操作:变基、压缩commit、cherry-pick、覆盖记录等等,对于我来说都是非常不可意思的事情,像是一个熟悉的朋友竟然有着一张不为人知的狰狞面孔。
好吧,我的记忆大概也是一个像git的分布式版本控制系统吧,那么在离职前的最后几天,让我们好好回忆一下这段时间发生的事情吧。
递归分治
要我评价自己的话,可能用一个算法思想名词比较合适——贪心。
除了本职工作以外,还做起了电商,还接了很多外包项目,也还得抽空学点新东西给自己充电,这导致我感觉没有什么休息时间,经常是熬夜到四点中才睡,久而久之,也就只能早上十点才醒得过来…虽然工作的强度本身本就不低,但是我还是得强行抽出精力来推进自己其他的业务,比如一个IGEM-Wiki,一个VSCode插件,一个浏览器插件,一个webgl小游戏,一个小程序…当然还有很多至今都还没做完,也还要学一下Linux、Python以及课内的知识——我感觉自己几乎快要被榨干…
压力大加上也没休息好并且大型团队合作开发经验又不足,导致我对负责的需求心里没个数——感觉上是做完了,但是我并没有意识到这还得和联调,还得走非常多且非常长的链路,并且也得画图分析状态机…总之就是产生了巨大的风险并且还没有暴露,最后就陷入了我这辈子不堪回首的处境之一:
开发用了五天,改bug用了十五天,这十五天是我mentor带着我一起改bug的,在公司就待到两点,疫情管控居家就一天开七个小时以上的会议通话改bug….
“以后会更好吗?”
代码审计
离职前十天,今天mentor有时不在,我和另外一个实习生一起吃饭——没错,直到今天我才知道他也是实习生,他不仅学历碾压我,业务水平对我也是降维打击。
我回首看看,那些大佬依旧谈笑生风。
我曾从他们那里学到很多,而如今我距离他们是更加遥远。
吃饭时和他聊了半个小时之久,我表达了我对自己现状的不满和对未来的迷惘,我很想知道我返校后的这个冬天该如何度过。
他听完我的经历,给我说了很多…
人生,就是一场对自己负责的修行,还是要客观地看风险…
那么,是时候说再见了,字节跳动!