计算机实习周记评语 实习工夫:2023 年 10 月 20 日 -10 月 26 日 实习内容:项目《智能数据看板》的对接与后端开发,日常文档整理与学习 回顾我在公司为期六周的实习时光,说它累是确实,说它甜也是确实。刚启动那两周,我主要是在适应环境,打螺丝、背规范、填表,确实像被按在高速公路上跑,既紧张又认定周围人都在忙,自己像个不停转动的螺丝钉。
后来才发现,这实际上是个进化的过程。当第一行正则表达式跑通的时候,那种多巴胺分泌的感觉比想象中爽多了。
这一周,我主要精力聚拢在项目《智能数据看板》的后端对接环节,从最初的代码对接漏洞百出,到目前的能跑通核心逻辑,这段经历让我对“连接”二字有了切身的体会。 关于项目对接的细节,一启动我彻底搞不懂服务器到底在干嘛。
那会儿在学校学的是 POI,那是二维的、静态的、给人剪个头像用的,彻底没法理解聚合。但在这个项目中,我要处理的是每天凌晨四点的定时任务,要把上个月的用户数据按地域、按等级分出来,还要计算一个复杂的关联规则。
比如我要判断哪些老用户出于连续零次点击而流失,系统得自动标记出来,然后推送到客服群。
这个过程比我想象的要细得多。上周二,我负责对接的用户服务数据源,出于那个 API 的鉴权token 格式忒土了,写代码查半天没看到。最终我直接拿着手机去查文档,发现是旧版本的 Key 和 Secret 混在一起,保存下来时顺手改了个后缀,结局今晚凌晨测试时,TOKEN 验证直接黄了,代码报错直接闪退。我当时就在屏幕前憋了五分钟,眼泪都流下来了,感觉整个人都烂在了那个红色的报错弹窗里。
幸好最终通过手动先查库再改,才硬是绕过了那个坑。
那一刻我意识到,代码不是写在纸上的事,而是和服务器、和数据库、和人(同事)的协作相结合出来的东西。 在写代码的时候,我确实下过不少决心。有一次要写一个批量导入脚本,数据量有 5000 条,格式是 CSV,里面包含用户 ID、姓名、手机号、状态、注册工夫这些字段。
要是批量处理错了,后果不堪设想,特别是涉及用户隐私的地方。
故此我拍板先跑通一个最小可行性版本(MVP),把逻辑理顺,数据能入库就行,其他的后续再优化。我用了 Python,先加载文件,然后逐条读取,再用 loop 进行校验。
要是手机号有 11 位,要么性别和状态对不上,立马 Flag 出来,不让入库。为了跑通测试,我就连调试了几个晚上。记得有一个周三的下午,我在调试那个状态判断的逻辑,反复犹豫要不要用 `or` 还是用 `and`。最终我选了 `and`,出于要是用户选了“未启用”但状态字段填了“进行中”,意思就不清楚了,务必双重确认。
然后我又试了一次,发现有时候出于网络波动,短工夫内会收到重复的请求,故此我也加了个延时处理。测试时,我把模拟数据喂进去,脚本跑完了,输出一张新表,表里包含了所有校验过的数据,并且没有报错。
那种感觉,就像把一堆乱糟糟的砖头按规矩砌成了墙,别看慢,但挺稳。 除了写代码,我还负责整理项目文档。
起初我认定这玩意儿挺枯燥,就是写写需求,填填表。但我慢慢发现,文档实际上是项目标说明书和镜子。上周六的项目复盘里,我把自己做的点都列出来了,包含遇到的 Bug 如何解决的,还有为啥选这个库而不是那个库。我发现自己把“需求分析”写得忒浅了,只说了“用户要一个界面”,没写清楚“用户要啥样的界面”,“数据要多久出来”、“数据要多少条”。
后来我重新审视,发现要是前端没懂,前端就改不出效果。
故此我在文档里加了一段“非功能性需求”,比如系统响应工夫不超过 2 秒,数据接口务必回 JSON 格式。
这样前端工程师一看就知道如何改,赶明儿也不会反复问“这个接口是不是我要的?”这种话。写文档的过程,实际上是不断理清思路、把不清楚的想法变成清楚逻辑的过程。我也发现,写文档的时候最好办犯的毛病就是自己都不信,写完了认定自己写得比哪位都好,但别人看的时候才发现逻辑不通。 最近的一个小插曲是关于数据清洗的。
那天下午有个新接口上线,数据格式乱七八糟,有空的,有对的,还有乱码。我得写个脚本把脏数据过滤掉。一启动我只看了前 10 个样例,认定“看起来能跑”,结局一写全量数据进去,报错率直接飙到了 98%。
那一刻我确实慌了,心跳都快拍桌子了。但我想起那会儿在学校学过的统计学,把样本量拉大,随机抽样去看,发现确实大局部数据在 `age` 字段上是有难题的,分布不均匀。便我又重新跑了一次,这次用了更严格的校验规则,比如手机号务必是 11 位数字加区号,邮箱务必是 xxx@xxx 这种格式,重复值还要去重。别看耗时耗力,但最终出来的数据是干净利落的。
这让我明白,写代码不是写死的代码,而是写逻辑,逻辑的严密性有时候比代码的语法更关键。 这一周下来,我发现自己离真正的“程序员”还有距离。在学校里写代码是学语法,但在公司里,代码是解决难题的工具,更是沟通的桥梁。
有时候代码写完了,东西还是不中,这时候得靠沟通、靠测试、靠运气。我也启动反思自己,有时候忒急于求成,想要一个完美的方案,结局忽略了可行性。
比如刚启动想做一个“一键导出所有用户”的功能,为了快,我把 SQL 语句都堆在一起,跑了一辈子也跑不通。
后来我学会了边跑边改,先找报错,再找缘由,最终再重构代码。
这种“黄了 - 学习 - 再尝试”的循环,比直接写出完美代码要难得多。 自然,实习也有它的无奈。
有时候加班到深夜,看着空荡荡的房间,心里会有点失落,认定这日子仿佛没意义。但每当深夜代码跑通的那一刻,那种成就感又是实实在在的。我意识到,我们需求的不只是是会用工具的人,更是能发现难题、解决难题、并且愿意在反复试错中不断成长的人。 这周的实习也让我对未来的职业方向有了更清楚的认知。我不再只盯着眼前的代码,启动思索如何架构更稳固的系统,如何设计更人性化的交互。实习不是终点,而是起点。它让我看到了行业的真面貌,也让我明白了坚持的价值。别看过程挺乱,挺吵,就连挺压抑,但每一步踩下去,都是通往专业的脚印。下周持续加油,不管代码写得好不好,只要逻辑是对的,就是胜利。