2023 回顾

441 阅读6分钟

迟来的 2023 年终回顾, 去年年底时在紧张刺激的准备面试,想着先搁置吧, 没想到上岸时已经到了四月底了, 恍惚六个月过去了,

找工作

去年十月份在降本增效的大潮下, “幸运”上了车, 当时对就业形势自己还是有较低的预期,实际感受比预想的更加激烈。 往往沟通的海量 hc 背后是一个 hc 在招。 一句话就是苟住, 不要轻易裸辞。 这次遇到一个荒唐的事是切身感受了下大龄程序员面试机会稀少,这很多时候与能力无关,而是年龄限制。 但另一方面外企又希望招到资深的程序员,希望工作年限越长越好,实测我被卡了四五次年限不够。这两拨人似乎没有交集。

image.png

因为面试的公司中有外企,回顾准备外企的面试过程, 大量时间是聚焦在算法和英语上, 第一次要写英文的简历,了解面试流程。 最后算法部分是刷了大概 200 题左右, 各个算法题型基本都涉及到。来回刷了几次这些 200 题。 android 外企的面试流程大致分为 phone screening 和 on-site 环节, phone screening 会是一到两轮的算法决定你是否进入 onsite 环节, 如果进入到 on-site 环节就会是 4-7 轮不定的面试轮次, 其中一定会有算法和行为面试。系统设计轮次取决于你的职级,一般是 senior 的工程师会有。最终的录取结果是取 onsite 环节的综合评价决定。 我了解的会有(failed, inclined to hired, strongly recommend) 类似这样的评价。 如果评价比较混合, 会考虑安排加面。最终把这些评价进行提交到招聘委员会决策。我觉得最终的录取在努力之余,运气成分更大些。能做的就是尽可能展示自己最好的一部分。我印象比较深的是在行为面试环节,因为紧张忘说了自己觉得比较亮眼的项目,事后想了下如果这样结束会觉得遗憾哟。幸运的是,后面安排了加面,把他顺利地说了出来。 外企的面试流程还是比较长的,基本是以月为单位,我的外企面试基本要面了五轮。

image.png

此外国内互联网公司有面一些,意外的是 2024年,还有公司在问 hashmap 的扩容数字

image.png

国内互联网最终也面了很多轮,有被挂了的, 也有面到中途没有 hc 的情况, 也有面到 HR 双方觉得不合适流程结束的。 过程崎岖。 心态没崩的一大部分, 刚 gap 旅行结束后回到上海就开始裸面, 拿到了第一个 offer, 后面就开始专心准备外企面试了。尽管一次次的失败, 好在每次结束后能够迅速从失落中恢复过来投入到新的准备中。 这过程看到的《浮士德》 给了我很多力量继续坚持下来。现在回想能够上岸了,还是会觉得不可思议。 如果再大几岁,上岸只怕更加艰难,简历能否通过尚且未知,而这我感受到和技术能力无关。

破站基架回顾

在阿逼工作的两年, 我觉得遇到了一群有趣的人,做了一些好玩的事。 抱憾是一些事没有做完, 像 AGP 升级,开了个头,迁移了 kotlin-android-extension 和独立编译单元迭代, 内存问题的后续。 我很好奇这些事的后续, 我也相信后面的同事会推完这些事。

刚进公司时是 各种全新的概念迎头撞来, monorepo, 快速编译, 各种各样的 gradle 插件, shell, python. 更让人头大的是这里面的东西基本有交叉关联, 开始时查个问题可能要看好几种语言。 前几个月基本是硬着头皮去看。 这个过程中我发现阻碍我看不懂插件逻辑的地方是我对 gradle 知识了解的还不够, 像复合构建的特性, component, .module。 我翻了一遍 gradle 官网文档, 了解了大概, 后面工作中结合 KOGE 再看了一遍, 就这样一边看一边实践,随着解的问题越来越多后开始理解项目结构组织,插件在其中充当了什么作用, 又会和脚本会有哪些关联。 这个过程中时常会有的感慨是, 好的架构设计,是能够面向未来的。 后面翻阅最初觉得奇怪的代码, 由衷感叹:“真妙啊, 这块代码本该是这样的”。 如果是我实现这块功能的话,我也会这么写,只是代码可能写的更为简洁, 但大体框架跳不出去,而且他当初考虑到的一些细节, 我考虑不到, 其中有的吃经验,有的吃基本功。 那时候我确认了,两年前做的决定还是挺正确的, 看到了优秀的开发者和代码设计。 瞥到了 2.75 座安卓大山(别问为啥有个 0.75,哈哈哈)。

这过程中自己也弄出了好几次事故,幸运的是周围的同事及时伸以援手,对问题保持理解,解决的态度,我看待事故呐, 只要事故的结果不是造成了严重的影响,其实是可以接受的, 同时团队中能做到对事不对人的复盘,这其实是对团队成员反而是一种有力的鞭策,去复盘一些当时没考虑的情况,让同样的问题不再发生,而且此后能够继续谨慎地做一些具有风险但有价值的事。也遇到了甩锅的事, 从周围老法师了解到怎么处理这些事。真的由衷感激这些同事,答疑了我当时很多小白的问题。

回顾这两年,自己应该还是长进了不少,从开始够呛地应付编译问题,到后面能独立的 own 了一部分事情。从对理论的泛泛而谈到具体的实践,当时还会对项目中的未知知识感到恐惧,现在能够平和地面对自己不会的一些部分,了解自己的边界在哪里。现在再看这段经历感受就是,不知不觉已经到这了。后面能走到哪里我也不知道,没有确切的目标,如果这次没找到工作,有打算回去做全职儿女了,不曾想侥幸上岸,职业生涯得以延续。我看到过接近 35 岁的程序员,技术能力仍旧持续进步, 他们对全局的掌控力和临场能力是年轻人所不具备的。只是我不理解他们为什么就不被需要了, 如果我到了他们的年纪,能拥有那样的综合解决问题能力,我会很高兴的。

最后

写到最后,我应该遇到了很多次幸运,我也清晰知道不会每次都好运,但我希望碰到人生难关的时候,自己可以是它的对手。 这两年真是一段愉快的经历呀!

image.png