入职新公司两个月小结
来新公司已经两个月了,简单总结一下这段时间做过的事和总体体验吧,时间不分先后。
🛠️ 这两个月做了什么
改进 VPN 系统
原先公司的 VPN 系统特别离谱,整个公司的网络只允许同时连一个,因为某个人可以独占路由器端口。
先后尝试了非常多修改,最后还是安装 WireGuard 才有比较好的效果,毕竟可以自动重连。
INFO
之前写过两篇相关的文章:WireGuard 部署实录和用 WireGuard 公网 Peer 打通两个测试环境的私网,说的就是这个老 VPN 的问题。
修复埋点系统
后端有些 API 写的不对,不知道之前的人咋写的。而且全部环境都用的同一个 ID,导致所有环境的数据都是一样的。
修复商品更新不同步(线上紧急)
5 分钟才完成同步,是为什么呢?因为上一个人写的时候同步实现不了,直接用定时脚本重建 ES,写的啥呀。
同时还有一个问题:商品放在有子分类的父分类下会查不出来。存在这么久的问题,之前他们怎么一直没有发现呢,也是太搞了。
紧急修复线上每个页面都提示未登录
这确实是我背的锅,但是不完全:因为测试发现未登录返回的不是 401 而是 500,我就直接 if 之后 throw 一个 500。
但是问题来了,说白了这个产品的架构也是一坨,我是第一次见别人是这样架构的 —— 把一个稳定的、不需要更新的产品作为新产品微服务的一部分,什么都是共享实体。每次改都要考虑另一个东西,另一个东西老是出问题。不过这一次是上一个人做迁移的时候nacos配置没迁移好
优化导入导出性能
修复导入导出功能和导入的性能问题:使用 ID 游标分页,关联数据按页批量加载,通过 SXSSF 流式写出,支持导入的详细错误提示。
这个主要是商品表的字段更新太多了,有些东西没有更上去,我顺便更新了顺便优化了一下。
场景推荐算法
这是我入职的第一个小需求,为场景推荐提供轻量倒排结构和覆盖率算法匹配,在名称到达一定长度时用 KMP 匹配或者退化。
更改搜索匹配策略
取消全部的 OR,改为先搜 AND,再搜 OR,AND 优先。之前搜索准确结果的优先级太低了,现在 AND 的在前面,OR 的在后面。
新增开发脚本
新增了非常多的开发脚本,比如代理网页到本地的后端、新的重建 ES 脚本、一键配置 VPN 等等,也是为了方便吧。
修不完的小问题
修复了不知道多少一行代码就能解决的小问题:事务的顺序、关联更新的批处理什么的,以前的 N+1 查询太多了,都是些低级问题。
热词更新
修复热词更新,改为每月更新一次 + 时间衰减算法。以前的人也是神人来着 —— 热词逻辑的热词来源于用户的搜索历史,如果只有一个用户,而且搜索历史清空之后,全站点的热词就没有了。
ES 定向内容投放
实现 ES 的定向内容投放功能,就是特殊的用户可以看见特殊的内容,预览功能类似。
敏感词检测优化
将暴力匹配换成字典树 + KMP,5 分钟检测一次版本,改进 Python 词库服务支持版本检测,避免每次检测都重新下载一遍词库。
每次检测的时候要重新下载一个词库也是神中神了。
Sitemap 与 SEO
新增 sitemap 动态接口、分片分类索引结构,给其他页面新增 SEO 字段。这个不多说,但是离谱的是,我们的站点一直没有 sitemap,难绷住了。
调研 AI 推理框架
老板想要我在几百元的 CPU 上跑一个又快又好的模型,这个最扯了,真是把我当许愿树呢。
🙂 好的部分
工作作息不错,包吃住。
好像没有了。
🫠 不理想的部分
主要我对自己的产品在全栈上会比较要求高一点:我喜欢新版本技术栈,喜欢自己构建产品。
老板可不管你这些那些:
- 老板每次说要自己的 idea,但是我们的 idea 他总是曲解、否定或者过滤掉,总之我没有感觉到创建产品的乐趣和能动性
- 功能是正常的,但是老板老是认为不正常
- 有问题的时候,老板会问为什么出问题,我讲原因之后,他就会觉得我在找借口
- 明明是 3 天左右才能完成的需求,老板老是想让你一天之内完成;内部演示他觉得有问题,但是明天要发版,他会让你加班,不跟你废话
- 任务完成好了没问题,觉得你对要求不够高;任务来不及完成,就说你对待事情不专心
- 老板喜欢在自己不懂的领域指手画脚,老是认为什么都很轻松,才导致认知三天的需求变成了一天这样的情况
📝 总结
总体来说,我感觉我未能将我的想法融入到产品、去打造一个优秀的产品。而且在现在这样的环境下,出来的产品不可能是优秀的,而是老板的个人意愿出来的产品。
准备再干一段时间攒点房费,然后去寻找下一个公司 —— 希望是一个有趣有活力、可以有自己思考和想法,能实现自己的产品、做好自己产品的地方。
TIP
先把技术该练的练了,攒够房费就跑路 🏃
