杂谈——毕业一年的无病呻吟
2024-09-19 13:06:29 # 杂谈

从 CQUPT 毕业一年时间,身份从学生转换到打工人也已经一年时间。一年以来关于生活和工作可能有许多想法,但都只是在脑海中绕了一圈,有的消失了,有的还留着。所以想用文字记录下当下的想法。

离职

第一份正式工作在 A 公司,岗位是后台开发。我是从 22 年 10 月的时候开始实习,毕业转正,直到 24 年 6 月正式离职,算下来待了 3 + 11 + 5 = 19 个月时间。

在 A 公司学到了很多,虽然进 A 公司之前只会 Spring Boot 那一套,但是第一项目需要开发一个监控的 agent,学习了 Go 语言,对操作系统网络、进程、Shell 脚本也有了进一步了解。

第二个项目参与了多端,管理端用回了 Spring Boot,为了方便开发还熟悉了 Docker 运行各种中间件,ci / cd 流程。C 端为了开发客户端后台程序学习了 C++、Cmake,因为要跨平台运行,也进一步了解了 linux 中程序的运行。

为什么?

第一,在 A 公司做的是 toB 产品,无所谓代码质量,只要能跑,能满足客户需求,能交付,那就足够了。除非是请求一个接口十几秒导致客户端卡住了,或者下载失败了,没人会关心代码写的怎么样,也没人会关心资源占用是不是太多,当然也可能是项目体量本身就小,还没有到需要优化的地步。总之,好像在业务方面我学不到更多东西了。

第二,我好像并不清楚应该怎么评价我自己。我的意思是,我的岗位是后台开发工程师,我参与了 xx 项目的开发,应该怎么评价我的工作呢?项目有明确的工期安排,根据合同或者项目经理和客户讨论出来的工期,应该从我有没有按时完成任务来评价吗?如果 xx 时间前完成了 xx 任务,我就加一分?或者是不是应该从我有没有造成线上事故,解决事故的速度来判断?我没有找到答案,我只知道尽量在工期前完成任务,完不成就提一下延后,或者加一会儿班继续完成就行。没有人会对我进行评价,每个月的工资都是一样的,从另一个角度来说好像也挺好的。

第三,也是被下一家公司老板评价说自我矛盾的点,我好像又想走技术上升通道,精进自己的专业,又遇难则退,抱怨外部条件。在 A 公司的项目需要了解 Chromium 源码。我的说辞是它太难了,A 公司又没有人教,我水平又有限,做的都是随便谁来都可以做的工作,简单描述就是:需要改一下某个按钮的行为,那就在可能触发这个按钮的地方附近打个断点,然后 debug 找到具体位置,修改一下逻辑就好。要说什么都没学到也不对,我确实了解了浏览器的一点点知识,但我又不能沉下心来钻研它,应该被称之为浮躁,或者“挫”。

在 A 公司最后的阶段,我心理状态十分不好,变得易怒,焦虑,当然是在工作外的时间,也非常感谢女朋友的包容谅解。那时我觉得上班就是坐牢,我也不想写代码。我觉得自己没有价值,是个 loser,遇见困难就逃避,只愿意呆在自己的舒适圈,却还妄想自己如果做了 xx 事,可能就会怎么样。当时个人和家庭经济情况并不好,是负债的水平。我感觉好像是受够了?又或者是我不想再续那半年期的房租(😂)?最终我还是裸辞了,提前一个月打好招呼,和前辈老师谈了谈,六月初离开了 A 公司。

过渡(摆烂)

六月离职后在出租屋待过了最后一个月,然后投奔了发小。在这两个月的时间里,我摆烂,准备面试,面试。我自认是惰性非常大,又十分拖延的人。在这段时间里,我第二天太阳出来前睡觉,睡到自然醒,吃一顿饭,打游戏,腰疼了躺床上玩手机。表面上看起来是十足的废宅,但是我的心理却不是那么放松,诚如之前所说,一是经济情况并不好,躺不了两个月;二是心里还是会想我有什么价值,我想要做什么。

就在毕业前,还是学生的时候,不管是口头上说的,还是心里想的,都是很清晰的一条路,可能也有好多其他人也这样想:赚钱,提前退休,在一个小房间里一直打游戏坐吃山空。它是如此简单,在工作前我都相信这好像就是 TM 的理想吧?现实却很骨感,上班没多久就电子 ed 了,除了发工资,消费带来的正反馈,其他的事情却没有一间能让人高兴的。当然自己还是有想过找一条出路的,或者叫做想想生活、工作的意义。

之前关注的 up 主 polebug23 的一期视频说了对工作生活的看法:工作应该是有热情,有价值,有成就感的事。工作应该叫做事业,你愿意投入时间,你有激情,你可以从中获得回报。这是在毕业前已经在实习的我看到并且还转发到朋友圈的一条视频。工作时这个想法在脑海深处,离职前后它浮了上来。我发现自己好像没有真正意义上想要为之投入长时间的事,每每想起都觉得自己一无是处,想一会儿就去刷视频,打游戏,用短平快的刺激来麻痹自己的想法。

但是终究还是不能一直躺下去。我除了会写一点代码,没有其他特长,总是要吃饭的,所以还是继续找程序员的工作。说实话,我对工作没有抱任何期待,只是需要赚钱维持生计。大家总说环境不好,但其实互联网企业可以看见的招聘都挺多的,就自己的看法,事实上只是菜鸟(我)的环境不好。我想如果换位思考,我想要招一个什么样的人,来和我一起工作的话,我可能不会选我自己。于是开始复习八股文,看点算法题(我一直都不擅长也没有投入精力),投简历。

我发出的和有回应的比例大概是 5:1 左右吧。只拿两个面试经历来说:第一个是 OD,因为有亲戚在武汉,所以投了很多武汉的公司。OD 的 HR 是真的很多,一天得有四、五条都是 OD 的招聘。我参加的应该算是部门直招,部门的 leader 把笔试题喂到了嘴里,却不曾想我最害怕的就是算法,知道笔试截止前一天,我才开始面对,刷了几道练了手感就直接参加了笔试。一共三道题,两道 100 分的过了 100% 和 60%,200 分的实在做不出来,就直接输出了答案,结果 100% 通过了 😂。就这样应该算是通过了笔试,然后收到测评。细致的 leader 还将测评的注意事项给说了一遍。

到这有了转折,另一家 B 公司要求线下面试,这家是做 C 端 APP 的公司,我之前从没有接触过 C 端产品,也没有抱很大期望,但是结果却让我意想不到。一共三面:

一面 hr 先和我聊了聊上一份工作,然后扔了两道 leetcode 简单题:有效的括号,压缩字符串。

二面是技术面,也是之后的 mentor,暂且称呼为 Q 吧。先来看了两道算法题,压缩字符串我题意都理解错了。然后聊了上一家公司的离职原因和工作内容。然后根据我的简历开始提问,我写了自己熟悉 Docker,Git,MySQL 等等。

  • Q: 你说的熟练使用是指怎么个熟练,让我说一些使用的场景。
  • Q: 有了解过 Docker 容器的跨平台吗(Q 说这比较冷门,但是遇到过问题)?A: 我只说了 Go 可以生成不同架构的产物
  • Q: Docker 容器怎么改时区?A: 回答的修改 /etc/localtime
  • Q: 有用过 Docker Compose 吗?A: 怎么配置 Docker Compose 的日志?
  • Q: 怎么过滤查询 Docker 的日志,两种方式?A: 重定向文件再 grep
  • Q: 有了解过 Git stash 吗?A: 暂存没有提交的修改
  • Q: 怎么修改 commit ?A: git commit –amend
  • Q: Git reset 三种方式(浅聊了一点)
  • Q: MySQL 查询有索引的字段的规则?A: 最左匹配
  • Q: 如果有一个字段很长,无法建索引(longtext),有没有什么办法解决?A: 在 Q 的引导下,用散列(哈希)算法压缩后建索引。
  • Q: 怎么用 Redis 做排行榜?A: zset
  • Q: 如果有同分的情况,要根据提交时间判断排名怎么做?A: 同样在 Q 的引导下,分数 + 时间戳再取倒数。
  • Q: 并发问题,怎么保证不超量超卖?A: 回答了一些方法。Q 说想要的答案是用 list 解决
  • Q: 如果非常多的请求比如 1 亿个来抢购,想想让客户端怎么处理,最简单粗暴?Q 说直接概率处理让部分用户点击按钮后直接返回,都不用请求 😂
  • Q: RESTful 的方法类型。
  • Q: 幂等性有了解吗?
  • Q: OPTIONS 用在什么地方?A: 网络检测
  • Q: HTTP 怎么解决粘包的问题呢?A: content-length
  • Q: Linux 怎么看磁盘占用?A: df -h。
  • Q: du 命令呢?怎么找大文件?
  • Q: 怎么看日志?A: 用 vim。Q: 很大怎么办?grep
  • Q: 进程和线程的关系?
  • Q: k8s 怎么暴露网络?用 NodePort。
  • Q: etcd 租约续约有了解过吗?

我在二面中在 Q 的引导下基本所有问题都有回答到,总体给我的面试体验非常好,每个问题都有自己的理解,也会告诉我可能的答案,没有咄咄逼人的氛围,整体就像是在朋友聊天一样。

然后是老板 H 三面,H 指出了我很多问题,我自我矛盾,眼高手低。但是也理解了我的状态,说了说自己的经历,我也能感受到 H 的真诚。我很兴奋,有人能理解我的状态,并且指出来;我也很难过,因为我觉得自己在 H 当时的眼里应该不算是一个优秀的人,虽然事实却是是这样的,我不是一个身上带着闪光点的人。

面试结束后在写字楼下台阶坐了半个小时,正值中午,热出了汗,流进了眼睛,十分酸涩。

新工作

当天下午还没来得及睡一觉,接到电话通知 B 公司发了 offer,我没有犹豫地接了,拒绝了 OD 后续的流程。一是面试体验非常好,不管是 Q 还是 H 给我的感觉都非常棒,至少相对前公司来说是完全不一样的感觉;二是我在一个月左右的准备面试和参加面试过程中感受到我没有什么竞争力,能有人要都不错了;三是 H 在三面说的:外包项目不会给人带来成长,因为没有那么高的要求,你做出提升也不会影响你的评价和薪资。当下的机会成本更高,也许去其他地方短时间的钱可能更多,但是也可能你的成长性远远比不过其他在成长性高的地方工作学习的同学。

我想要做什么、我能够做什么、我能创造什么价值、怎么评判我的价值。我希望能在之后的生活中找到它们的答案。