工作汇报网 >地图 >

工作总结

工作总结

时间:2026-04-24 作者:工作汇报网

2026年编程员工试用期工作总结。

试用期这三个月,我干的活儿挺杂:写核心代码、改老接口、带两个新人、顺便帮着盯代码质量。说白了我就是个写代码的,但因为之前带过小团队,技术经理让我顺便做做代码复审和新人指导。以下是我踩过的坑和填坑的办法。

第一个跟头:接口超时优化,反被连接池坑了

入职第三周,接手一个订单同步接口。业务方天天喊慢,平均响应800ms。我分析后发现瓶颈在数据库:多表联查加JSON序列化。方案很直接:用Redis缓存产品字典,联查拆成批量主键查询,同步调用改成异步写队列。改完本地压测,响应降到120ms,美滋滋上线。

上线当天上午一切正常。下午三点,我正在写新需求,突然群里@我:“订单接口超时了,CPU飙到85%。”我赶紧上堡垒机,先top看一眼,Java进程CPU占用78%。再看Redis连接数:redis-cli CLIENT LIST | wc -l,结果600多,而连接池最大只配了200。我脑子嗡了一下——我用的那个Redis工具类,是团队封装好的,我一直以为它默认带了连接池。扒开源码一看,居然每次请求都new Jedis(),用完直接close。本地压测只有10个并发,根本暴露不出来。这简直让人想骂人,一个封装类连最基本的连接池都不配,还封装个啥?

应急操作:立刻改配置重启,把maxTotal调到500,并加了预热逻辑。五分钟后接口恢复,但这五分钟里丢了大概三十多笔订单的同步记录,后来手工补的。

事后我做了三件事:第一,重写工具类,暴露JedisPool配置参数,强制要求所有调用方传入连接池配置;第二,在代码评审checklist里加了一条——所有外部资源调用必须显式声明连接池参数,不允许用默认的;第三,压测脚本改了,现在每次发布前跑五分钟混合并发,从50线程慢慢加到500。

教训是什么?别信任何人封装的工具类,除非你亲手看过源码。还有,测试环境的压测流量必须贴近生产,走走形式没意义。

第二个跟头:新人的空指针,逼我做了件“土”事

记得项目冲刺那周,两个应届生来了。我给他们分的任务很简单:写一个用户权限校验拦截器。设计文档写得清楚,按角色查权限位,存ThreadLocal。结果提测那天,测试环境半天崩了三次,全是空指针。我翻日志,发现两个新人各自写了工具类:一个叫AuthUtil,一个叫PermissionHelper,判空逻辑还不一样。更离谱的是,拦截器里直接取token解析,根本没判断token是否为空。

当时我特无奈。代码规范文档上写着“所有外部输入必须判空”,但没人告诉他们具体怎么做。我本来想写个AOP注解,后来一想,新人连if判空都费劲,你让他们用注解?那不是更晕吗。

我换了个笨办法:写了一个BaseAuthInterceptor抽象类。里面把token解析、用户存在性校验、ThreadLocal清理都封装好了,剩下一个抽象方法getPermissions(String userId)让子类实现。然后我把这个类推到项目公共模块,让两个新人直接继承。改完之后,十分钟跑通了测试。再也没出过空指针。

后来我总结:遇到新人反复犯的低级错误,别急着上高大上的方案。先给一个能直接跑的模板,把犯错的机会堵死。等他们熟了,再讲原理。

一个让我觉得“这三个月没白干”的瞬间

那天凌晨两点,我被告警吵醒。爬起来看监控——物流调度系统的分配接口突然变慢,P99到了3秒。我连VPN进去,翻代码发现分配算法里有个三层循环:遍历订单、遍历车辆、遍历路径。数据量一大,直接O(n³)。我改了一版:按区域和载重把车辆建倒排索引,用优先队列取最优解。改完后单次分配从2.3秒压到0.05秒。

第二天早会,业务负责人进来说:“昨晚暴雨爆单,系统一点没卡,调度员准点下班了。”项目经理看了我一眼,我低头假装记笔记。说实话,心里挺爽的。

我身上还有两个毛病

第一个,代码注释太少。我总觉得“逻辑清楚就不用写注释”,结果新人接我代码时看得费劲。第二个,对业务理解还不够深。比如那个订单同步接口,业务方说“太慢了”,其实背后是“同步等待导致页面卡死”。如果能想到异步回调加前端轮询,效果会更好。这些需要时间磨。

下半年要干的事

先把老代码里的技术债务清一清。订单模块里有个用了三年的List嵌套遍历,趁还没出事赶紧重构掉。再一个,把故障现场页面丰富起来,现在只记了11条,争取半年后到30条,让新人来了能少踩坑。

试用期就这些。没有大道理,只有踩过的坑和填坑的办法。

    想了解更多【工作总结】网的资讯,请访问:工作总结

本文来源://www.gsi8.com/gongzuozongjie/191544.html