我的第九次醒来
4
总点击
张远,王诗涵
主角
fanqie
来源
金牌作家“浅沐然”的现代言情,《我的第九次醒来》作品已完结,主人公:张远王诗涵,两人之间的情感纠葛编写的非常精彩:最后一天------------------------------------------。,没有前兆,没有呼救,连一句遗言都没有。他的手机屏幕还亮着,上面是一张代码截图——那是他死前最后一条朋友圈,发出去三小时了,没人点赞,没人评论。就像他活了三十二年——安静、普通、随时可以被划走。,闹钟响起,他才发现:今天,是他生命的最后一天。……,手机闹钟准时响了,是一首他自己都不记得什么时候设的歌。他伸...
精彩试读
最后一天------------------------------------------。,没有前兆,没有呼救,连一句遗言都没有。他的手机屏幕还亮着,上面是一张代码截图——那是他死前最后一条朋友圈,发出去三小时了,没人点赞,没人评论。就像他活了三十二年——安静、普通、随时可以被划走。,闹钟响起,他才发现:今天,是他生命的最后一天。……,手机闹钟准时响了,是一首他自己都不记得什么时候设的歌。他伸手按掉,又在被窝里赖了三十秒,然后坐起来。,但早上的房间有一股凉意。他光着脚踩在地板上,脚趾缩了一下。卫生间镜子里的他头发乱糟糟的,下颌有一圈没刮干净的胡子茬,眼睛下面是深浅不一的青黑色——这是长期加班的勋章,每个程序员都有,只不过有的人重一点,有的人轻一点。张远的属于中等偏重。,从衣柜里拿出一件灰色T恤和一条牛仔裤。衣柜里还有几件没拆标签的衬衫,是**上次来**时硬塞给他的,说"三十二岁的人了,上班穿得像上班的"。他把衬衫推到了最里面,一次都没穿过。——镜子里的人很普通,不高不矮,不胖不瘦,五官放在人群里找不到的那种。他有时候会想,如果自己在路上碰到自己,大概也不会多看第二眼。但这种念头从来不持续超过三秒,因为他从来不是一个爱胡思乱想的人。。程序员不胡思乱想,程序员写代码。……。他看了一眼手机:七点二十。共享单车到地铁站,三站路,出站后在公司楼下的肠粉摊买了一份鸡蛋瘦肉肠粉,加辣酱,蹲在路边吃完。一次性饭盒扔进垃圾桶,用纸巾擦了擦手指,进大楼,刷卡,坐电梯上十四楼。,闭着眼睛都能走完。:"早啊张哥。""早。",打开电脑,先看了眼昨天留的*ug——用户账户在某些特定条件下会重复扣款。这个*ug他追了三天了,测试组第一次报上来的时候以为是并发问题,加了分布式锁,线上还是偶尔出现。后来以为是数据库事务隔离级别的锅,调了,还是有。今天他打算从日志入手,把过去七十二小时的支付回调日志全部过一遍。
戴上耳机,打开IDE,屏幕上的代码一行一行地滑过去。他的眼睛跟着那些字幕移动,偶尔停下来,在一个函数名或变量名上停留几秒,然后继续。办公室里键盘的敲击声此起彼伏,像一场没有指挥的交响乐。
……
上午十点零三分,产品经理张伟(他们公司有两个张伟,一个是产品,一个是测试,为了区分,大家管产品这个叫"大张伟")走到他工位旁边,弯下腰,敲了敲桌面。
张远摘下一边耳机。
"那个登录页改版,你这边什么时候能排?"大张伟问。
"上周不是说排到下个月吗?"
"老板昨天看了竞品的登录页,说我们的太丑了,让提前。"
张远忍住了翻白眼的冲动。"给我两天。"
"明天行不?兄弟,帮帮忙。"
"你不如直接说让我今晚加班。"
大张伟笑了笑,拍了拍他的肩膀。"辛苦辛苦,晚上给你点夜宵。"
说完人就走了。产品经理都这样,用最温柔的语气说出最**的话,然后拍拍你的肩膀好像他真的会给你点夜宵一样——他当然不会。
张远把耳机重新戴好,继续看日志。窗外的阳光照在他肩膀上,暖洋洋的,但屏幕上的代码还是冷冰冰的。
……
中午十二点,他去了食堂。糖醋排骨窗口排了很长的队,他不想等,打了一份番茄炒蛋和一碗米饭,找了个角落的位置坐下来。
吃到一半,有人在他对面坐下了。
"这里有人吗?"
他抬头。是林小满。
运营部的,坐他对面那个方向,平时偶尔能看见她的侧脸——大多时候是在低头打字或者端着杯子接水。张远对她的了解仅限于名字很好听,长头发,笑起来的时候眼睛会弯成两道月牙。仅此而已。
"没有。"他说。
林小满坐下来,打开她的饭盒——自己带的,一小盒米饭配青菜和几块鸡胸肉。
"你自己带饭?"张远不知道为什么先开了口。
"嗯,食堂太油了,"她用筷子夹了一块鸡肉,"吃了胃不舒服。"
"我也是,但懒得带。"
她笑了一下,不是那种社交性的客套笑,是真的觉得"懒得带饭所以只能忍受食堂"这件事有点好笑。"那你只能忍着了。"
就这么聊了几句。很普通的对话,普通到张远在说的当下完全没放在心上。林小满的表情、语气、低头扒饭的样子,和一个普通的、在意健康的、嫌食堂油大的白领没有任何区别。
如果那天他就知道后来会发生什么,他大概会多看她几眼。甚至可能会注意到一个细节:她说"食堂太油了"的时候,眼睛并没有看他,而是在看食堂门口——那里站着一个穿灰色夹克的男人,正低头看手机。
但她只看了一眼,就收回目光,继续吃饭了。
张远没有注意到这些。
……
下午两点,站会。每个人说今天的进度。张远说"*ug还在追,预计明天能修完"。
王诗涵点了下头,没多问。临散会的时候,行政的小姑娘多了一句:"下周二周总要来视察,大家工位上别乱堆东西。"
王诗涵是总监,三十九岁。她今天穿了一件深蓝色的西装外套,头发用一根黑色簪子盘在脑后,露出光洁的额头和修长的脖颈。五官精致但不张扬,是那种需要多看几眼才能品出来的耐看型。虽然年近40岁了,但她皮肤紧致白皙,看起来最多三十出头,颇有**的成熟风韵。她在会上很少说废话,每个人讲完,她要么点头,要么问一个很具体的问题——"你说的这个接口,QPS能到多少","这个方案的兜底逻辑是什么"。
张远对她的印象一直就是:专业、有要求、但不是不近人情的上司。有一次他熬夜改了一个紧急需求,早上八点她发微信说"你代码第三个函数有内存泄露的风险,改完再上线"。他才知道,她会在他的代码上线前自己先过一遍。
这让她在张远心里多了一层东西——不完全是敬佩,更像是一种"被看见了"的感觉。在一家两百多人的公司里,总监能注意到你写的每一行代码,这件事本身就说明了一些什么。
但这也不代表什么。她大概对每个人都这样。
……
下午四点,张远在日志里发现了一个规律。
重复扣款的问题,只在周二下午两点到四点之间出现,而且只出现在绑定了**特定银行信用卡的用户身上。他翻了一下定时任务列表,找到了一条他之前没注意到的任务:每周二下午两点,系统会自动向那家银行发起一次"账单同步"请求。
如果账单同步和用户的主动支付同时发生,竞态条件就出现了。
他写了一个复现脚本,在测试环境跑了一遍,果然复现了。靠在椅背上长长吐了口气——三天了。
接下来就是修。方案不复杂:在支付接口里加一把分布式锁,账单同步期间锁定该用户的支付状态。他正准备动手写代码,企业微信弹了一条消息。
来自王诗涵:"来我办公室一下。"
……
办公室里只有她一个人。她坐在桌后面,面前摊着几份打印出来的文档,台灯的光打在她脸上,把她的轮廓照得比平日柔和许多。她给他倒了一杯水——白色马克杯,上面印着一行小字:"代码写得好,不如需求做得少。"
"这是你买的?"张远接过杯子,不知道为什么问了这个。
"我妈送的,"她说,嘴角动了一下,露出一个平日少有的笑容,"她不懂我做什么,但每次来**看我,都带一个。我家柜子里已经有七八个了。"
她把一份文档推到他面前。需求变更说明,来自客户方,今天早上发来的。客户要求在支付流程里加一个人脸识别环节,下周一前要上线。
张远快速看了一遍。"这个改动不小,支付模块和人脸识别模块是解耦的,要加这个环节得动底层。"
"客户不等。"
"那先做临时方案——支付前套一个H5页面做跳转,通过人脸识别再继续支付。底层改造排进下一期。"
王诗涵看了他几秒。"行。你今天把方案和排期做出来,明天上午评审。"
"今天?"他看了一眼时间,下午四点二十。
"有问题吗?"
"没有。"张远看了一眼电脑右下角——四点二十一。他心里已经开始盘算剩下的工作量和时间的比例。
张远拿上文档出了办公室。
……
接下来几个小时,他一边修*ug一边写方案,两件事都不复杂,但都耗精力。七点半他点了一份黄焖鸡米饭当晚饭,鸡块有点老,土豆倒是好吃,吸饱了汤汁。他一边吃一边继续写,桌上摆着外卖盒、筷子、和一张草稿纸,上面画着人脸识别接入的流程图,箭头和方框乱七八糟地交织在一起。
八点以后办公室的人开始走了。九点剩不到十个人。十点剩五个。张远还在写方案里异常流程的处理——识别失败怎么办,用户拒绝怎么办,网络超时怎么办,每种情况都要写清楚。
十点四十,他发给了王诗涵。三分钟后她回了:"第三部分异常流程不够细,明早前改完。"
他看了一眼时间——快十一点了。叹了口气,继续改。
十一点,改完第三遍。这次她没回了。
他正准备走——企业微信又弹了。"你走之前来我办公室一趟。"
……
她还在。台灯是办公室里唯一的光源,其余全是暗的。她面前的马克杯空了,杯底有一圈深色痕迹——咖啡或者浓茶,大概喝了不少。
她从抽屉里拿出一个U盘,推到他面前。"这里面是客户的**SDK,他们不肯开源。你要用里面的接口完成支付和人脸识别的联调。越快越好。"
张远拿起U盘翻看了一下。"什么时候要?"
"客户催得紧。你看着办。"
他心里估算了一下——看文档、写联调代码、测试、上线,最快一周。但他没说,只是点了点头。
"还有一件事,"王诗涵接着说,她从文档堆里抽出一张纸,上面是她手写的几行字,"这是我之前用过他们SDK时记的笔记,接口调用顺序和常规写法不一样,你注意看第七页到第九页,还有加密方式不是标准RSA,是他们自己改的变种。"
张远接过那张纸,看了一眼——她的字很漂亮,不是那种刻意练过的楷体,是一种自然的小行书,干净利落,和她的办公桌一样整洁。
"谢谢王总。"
"辛苦了。"她说这话时声音里带着与众不同的关爱。
这是她第一次对他说"辛苦了"。张远有一点点意外,但没表现在脸上。他站起来,走到门口——
"张远。"他回头。
王诗涵没有看他,她的目光落在桌面上那张已经没有在看的文档上。灯光照着她的侧脸,她的表情很淡,像一张被水洗过的照片,所有的颜色都褪了一层。
"你回去以后早点休息,"她柔声说道,"别太拼了。"
然后她低下头,继续看她的文档了。
张远在门口站了两秒,"嗯"了一声,推门出去了。
……
回到工位,他把U盘**电脑,打开里面的PDF。英文的,术语很多,写得确实不怎么样。他硬着头皮看了两页,脑子已经转不动了,决定明天再看。
拔掉U盘,收好,关电脑。
站起来的一瞬间,心脏跳了一下。
不是疼,也不是闷——是一种奇怪的感觉,像有人用手指在他心脏的表面弹了一下,很轻,轻到他不确定是不是真的发生了。
他停下来,等了几秒。感觉消失了。
"太累了。"他自言自语了一句,拿起背包,往门口走。
……
凌晨零点十二分,他走出写字楼。
保安在前台打盹,他路过的时候没出声。外面的风比白天冷不少,他拉上了外套的拉链,快步走向地铁站。地铁已经停了,他扫了一辆共享单车骑到公交站,赶上了最后一班夜班公交。
车上只有三个人。一个戴耳**游戏的小伙子,一个抱着东西打盹的中年妇女,和一个空位。他坐下来,把背包放在膝盖上,头靠在车窗上。玻璃很凉,凉意透过头发传到头皮。他闭上了眼睛。
……
回到家,已经快深夜一点半了。
六楼,没电梯,他喘着气爬上去。开门,扔背包,进卫生间洗澡。热水冲下来的时候,他闭着眼,让水流从头顶浇到脚底。
心脏又跳了一下。
这次比之前明显,不是"弹了一下",更像是攥紧了一下,然后松开。他关掉水龙头,一只手按着胸口,站在莲蓬头下面。
心跳恢复了正常。
他擦干身体,换上睡衣,从冰箱里拿了一罐啤酒。常温的,因为冷藏室坏了,一直没修。他不在乎,常温的啤酒也有酒精,喝了能睡着就行。
打开电视,凌晨一点多的频道没什么好看的,他停在了一个讲老兵故事的纪录片上,一边喝啤酒一边看。画面里一个八十多岁的老人站在纪念碑前,嘴唇在动,但听不清说什么——因为他把电视音量调得很低,只是需要一种声音来填满安静。
……
不知道什么时候,他睡着了。
再睁眼,是被****吵醒的。
不是闹钟,是来电。屏幕上显示的名字是:王诗涵。
他看了一眼时间:凌晨一点十八分。
不对——他明明是在沙发上看电视来着,怎么会在床上?而且他完全不记得自己是怎么从沙发走到床上的。中间的记忆像被橡皮擦掉了一样,干干净净。
他接了电话。
"喂,王总?"
电话那头有短暂的沉默,然后是王诗涵的声音——比白天哑,像很久没喝水。
"张远,SDK的example代码有一个坑,第十三行变量名写错了,应该是encKey而不是enKey。你在写的时候注意一下。"
"你怎么知道?"
"我之前研究过。"她说完这句就挂了。
张远看着手机屏幕上"通话结束"四个字,觉得有什么不对,但说不清楚。他把手机放在枕头旁边,翻了个身,又睡着了。
王诗涵为什么打这个电话呢?有种隐隐的不安。
……
再次醒来,是闹钟。
早上七点整。手机闹钟,那首他自己都不记得什么时候设的歌。
他坐起来,先看了一眼日期——
2025年12月11日,星期四。
他盯着那个日期看了三秒。
然后——
不对。
昨天不应该是十二月十七号吗?他记得自己改完了方案,看了SDK的PDF,喝了啤酒,看了纪录片,接了王诗涵的电话——那今天应该是十二月十八号。
但手机上写的是十二月十一号。
他拿起手机,解锁,打开日历,翻到十二月。十一号、十二号、十三号……十七号是周三,他记得那天开会、改*ug、被叫进办公室、拿U盘——
今天是十一号。星期四。
他的记忆回到了六天前。
张远坐在床上,浑身发凉。不是室内的温度问题——十二月的**虽然不暖但也不至于让人发抖——他发抖是因为他刚才清楚地感受到了死亡。不是"知道"自己死了,是身体记住了那个过程:心脏从胸腔中间炸开的钝痛,冷汗,手指发麻,视线从边缘开始变黑,呼吸变成一条搁浅的鱼。
那个过程他不应该记得。
因为他从来没有经历过那个过程——如果他经历了,他应该已经死了。
但他记得。
每一次心跳骤停前的那种"攥紧"的感觉,他都记得。
不只是最近这次。
他闭上眼睛,试着回忆——
好像不止一次。
他的记忆里有好几次"心脏骤停"的片段。每一次的感觉都一样:闷,然后疼,然后视野变黑,然后——
然后他就醒了。
在床上,闹钟响,日期不对。
"第九次。"
这两个字突然出现在他脑子里,不是他自己想的,像是从某个很深很深的地方浮上来的。
他猛地睁开眼。
房间里什么都没有。窗帘拉得严严实实,只有闹钟的屏幕在黑暗里发出微弱的光。
……
他打开了台灯。
灯光照亮了那块熟悉的水渍——天花板上蘑菇形状的那块,搬进来第一天就看到了,到现在快一年了,既没有变大也没有变小,像它已经和天花板融为一体了。
张远坐在床上,盯着那块水渍,开始想。
他是程序员。程序员解决问题的第一步不是写代码,是搞清楚问题是什么。
现在的问题是:他回到了六天前。他不确定这是第几次回到六天前(脑子里那个"第九次"不知道从哪来的,但他直觉地觉得那个数字是对的)。他的身体记住了多次死亡的过程,但他的大脑只记得最近这一次。
他不知道谁在操控这一切。
他不知道为什么是他。
他不知道回到六天前意味着什么。
但他知道一件事。
上一次——如果"上一次"这个词成立的话——他在十二月十七号凌晨猝死了。如果他什么都不做,同样的时间线重演一遍,他会在同一个时间、同一个地点、因为同样的原因再次死亡。
他不想死。
所以他需要找出原因,然后改变结果。
……
张远起了床。
卫生间,洗漱,镜子里的自己还是那个普通的样子——灰色T恤可以换成干净的,胡子可以刮掉,但五官不会变。他看着镜子里的自己,把脑子里那些乱七八糟的念头压下去。
先上班。先活过今天。
剩下的事,一步一步来。
……
他出门的时候,**的天空是灰蓝色的,太阳被薄云遮住了,但能看到它的轮廓,在云层的后面发着不刺眼的光。
空气里有楼下肠粉店飘上来的酱油香味。
他站在门口,深吸了一口气。
活着。真好。
这一次,他要好好活着。而且——他要搞清楚,到底是谁在幕后操控这一切。
他走向地铁站,步子比平时快了一点。
……
(第一章 完)
戴上耳机,打开IDE,屏幕上的代码一行一行地滑过去。他的眼睛跟着那些字幕移动,偶尔停下来,在一个函数名或变量名上停留几秒,然后继续。办公室里键盘的敲击声此起彼伏,像一场没有指挥的交响乐。
……
上午十点零三分,产品经理张伟(他们公司有两个张伟,一个是产品,一个是测试,为了区分,大家管产品这个叫"大张伟")走到他工位旁边,弯下腰,敲了敲桌面。
张远摘下一边耳机。
"那个登录页改版,你这边什么时候能排?"大张伟问。
"上周不是说排到下个月吗?"
"老板昨天看了竞品的登录页,说我们的太丑了,让提前。"
张远忍住了翻白眼的冲动。"给我两天。"
"明天行不?兄弟,帮帮忙。"
"你不如直接说让我今晚加班。"
大张伟笑了笑,拍了拍他的肩膀。"辛苦辛苦,晚上给你点夜宵。"
说完人就走了。产品经理都这样,用最温柔的语气说出最**的话,然后拍拍你的肩膀好像他真的会给你点夜宵一样——他当然不会。
张远把耳机重新戴好,继续看日志。窗外的阳光照在他肩膀上,暖洋洋的,但屏幕上的代码还是冷冰冰的。
……
中午十二点,他去了食堂。糖醋排骨窗口排了很长的队,他不想等,打了一份番茄炒蛋和一碗米饭,找了个角落的位置坐下来。
吃到一半,有人在他对面坐下了。
"这里有人吗?"
他抬头。是林小满。
运营部的,坐他对面那个方向,平时偶尔能看见她的侧脸——大多时候是在低头打字或者端着杯子接水。张远对她的了解仅限于名字很好听,长头发,笑起来的时候眼睛会弯成两道月牙。仅此而已。
"没有。"他说。
林小满坐下来,打开她的饭盒——自己带的,一小盒米饭配青菜和几块鸡胸肉。
"你自己带饭?"张远不知道为什么先开了口。
"嗯,食堂太油了,"她用筷子夹了一块鸡肉,"吃了胃不舒服。"
"我也是,但懒得带。"
她笑了一下,不是那种社交性的客套笑,是真的觉得"懒得带饭所以只能忍受食堂"这件事有点好笑。"那你只能忍着了。"
就这么聊了几句。很普通的对话,普通到张远在说的当下完全没放在心上。林小满的表情、语气、低头扒饭的样子,和一个普通的、在意健康的、嫌食堂油大的白领没有任何区别。
如果那天他就知道后来会发生什么,他大概会多看她几眼。甚至可能会注意到一个细节:她说"食堂太油了"的时候,眼睛并没有看他,而是在看食堂门口——那里站着一个穿灰色夹克的男人,正低头看手机。
但她只看了一眼,就收回目光,继续吃饭了。
张远没有注意到这些。
……
下午两点,站会。每个人说今天的进度。张远说"*ug还在追,预计明天能修完"。
王诗涵点了下头,没多问。临散会的时候,行政的小姑娘多了一句:"下周二周总要来视察,大家工位上别乱堆东西。"
王诗涵是总监,三十九岁。她今天穿了一件深蓝色的西装外套,头发用一根黑色簪子盘在脑后,露出光洁的额头和修长的脖颈。五官精致但不张扬,是那种需要多看几眼才能品出来的耐看型。虽然年近40岁了,但她皮肤紧致白皙,看起来最多三十出头,颇有**的成熟风韵。她在会上很少说废话,每个人讲完,她要么点头,要么问一个很具体的问题——"你说的这个接口,QPS能到多少","这个方案的兜底逻辑是什么"。
张远对她的印象一直就是:专业、有要求、但不是不近人情的上司。有一次他熬夜改了一个紧急需求,早上八点她发微信说"你代码第三个函数有内存泄露的风险,改完再上线"。他才知道,她会在他的代码上线前自己先过一遍。
这让她在张远心里多了一层东西——不完全是敬佩,更像是一种"被看见了"的感觉。在一家两百多人的公司里,总监能注意到你写的每一行代码,这件事本身就说明了一些什么。
但这也不代表什么。她大概对每个人都这样。
……
下午四点,张远在日志里发现了一个规律。
重复扣款的问题,只在周二下午两点到四点之间出现,而且只出现在绑定了**特定银行信用卡的用户身上。他翻了一下定时任务列表,找到了一条他之前没注意到的任务:每周二下午两点,系统会自动向那家银行发起一次"账单同步"请求。
如果账单同步和用户的主动支付同时发生,竞态条件就出现了。
他写了一个复现脚本,在测试环境跑了一遍,果然复现了。靠在椅背上长长吐了口气——三天了。
接下来就是修。方案不复杂:在支付接口里加一把分布式锁,账单同步期间锁定该用户的支付状态。他正准备动手写代码,企业微信弹了一条消息。
来自王诗涵:"来我办公室一下。"
……
办公室里只有她一个人。她坐在桌后面,面前摊着几份打印出来的文档,台灯的光打在她脸上,把她的轮廓照得比平日柔和许多。她给他倒了一杯水——白色马克杯,上面印着一行小字:"代码写得好,不如需求做得少。"
"这是你买的?"张远接过杯子,不知道为什么问了这个。
"我妈送的,"她说,嘴角动了一下,露出一个平日少有的笑容,"她不懂我做什么,但每次来**看我,都带一个。我家柜子里已经有七八个了。"
她把一份文档推到他面前。需求变更说明,来自客户方,今天早上发来的。客户要求在支付流程里加一个人脸识别环节,下周一前要上线。
张远快速看了一遍。"这个改动不小,支付模块和人脸识别模块是解耦的,要加这个环节得动底层。"
"客户不等。"
"那先做临时方案——支付前套一个H5页面做跳转,通过人脸识别再继续支付。底层改造排进下一期。"
王诗涵看了他几秒。"行。你今天把方案和排期做出来,明天上午评审。"
"今天?"他看了一眼时间,下午四点二十。
"有问题吗?"
"没有。"张远看了一眼电脑右下角——四点二十一。他心里已经开始盘算剩下的工作量和时间的比例。
张远拿上文档出了办公室。
……
接下来几个小时,他一边修*ug一边写方案,两件事都不复杂,但都耗精力。七点半他点了一份黄焖鸡米饭当晚饭,鸡块有点老,土豆倒是好吃,吸饱了汤汁。他一边吃一边继续写,桌上摆着外卖盒、筷子、和一张草稿纸,上面画着人脸识别接入的流程图,箭头和方框乱七八糟地交织在一起。
八点以后办公室的人开始走了。九点剩不到十个人。十点剩五个。张远还在写方案里异常流程的处理——识别失败怎么办,用户拒绝怎么办,网络超时怎么办,每种情况都要写清楚。
十点四十,他发给了王诗涵。三分钟后她回了:"第三部分异常流程不够细,明早前改完。"
他看了一眼时间——快十一点了。叹了口气,继续改。
十一点,改完第三遍。这次她没回了。
他正准备走——企业微信又弹了。"你走之前来我办公室一趟。"
……
她还在。台灯是办公室里唯一的光源,其余全是暗的。她面前的马克杯空了,杯底有一圈深色痕迹——咖啡或者浓茶,大概喝了不少。
她从抽屉里拿出一个U盘,推到他面前。"这里面是客户的**SDK,他们不肯开源。你要用里面的接口完成支付和人脸识别的联调。越快越好。"
张远拿起U盘翻看了一下。"什么时候要?"
"客户催得紧。你看着办。"
他心里估算了一下——看文档、写联调代码、测试、上线,最快一周。但他没说,只是点了点头。
"还有一件事,"王诗涵接着说,她从文档堆里抽出一张纸,上面是她手写的几行字,"这是我之前用过他们SDK时记的笔记,接口调用顺序和常规写法不一样,你注意看第七页到第九页,还有加密方式不是标准RSA,是他们自己改的变种。"
张远接过那张纸,看了一眼——她的字很漂亮,不是那种刻意练过的楷体,是一种自然的小行书,干净利落,和她的办公桌一样整洁。
"谢谢王总。"
"辛苦了。"她说这话时声音里带着与众不同的关爱。
这是她第一次对他说"辛苦了"。张远有一点点意外,但没表现在脸上。他站起来,走到门口——
"张远。"他回头。
王诗涵没有看他,她的目光落在桌面上那张已经没有在看的文档上。灯光照着她的侧脸,她的表情很淡,像一张被水洗过的照片,所有的颜色都褪了一层。
"你回去以后早点休息,"她柔声说道,"别太拼了。"
然后她低下头,继续看她的文档了。
张远在门口站了两秒,"嗯"了一声,推门出去了。
……
回到工位,他把U盘**电脑,打开里面的PDF。英文的,术语很多,写得确实不怎么样。他硬着头皮看了两页,脑子已经转不动了,决定明天再看。
拔掉U盘,收好,关电脑。
站起来的一瞬间,心脏跳了一下。
不是疼,也不是闷——是一种奇怪的感觉,像有人用手指在他心脏的表面弹了一下,很轻,轻到他不确定是不是真的发生了。
他停下来,等了几秒。感觉消失了。
"太累了。"他自言自语了一句,拿起背包,往门口走。
……
凌晨零点十二分,他走出写字楼。
保安在前台打盹,他路过的时候没出声。外面的风比白天冷不少,他拉上了外套的拉链,快步走向地铁站。地铁已经停了,他扫了一辆共享单车骑到公交站,赶上了最后一班夜班公交。
车上只有三个人。一个戴耳**游戏的小伙子,一个抱着东西打盹的中年妇女,和一个空位。他坐下来,把背包放在膝盖上,头靠在车窗上。玻璃很凉,凉意透过头发传到头皮。他闭上了眼睛。
……
回到家,已经快深夜一点半了。
六楼,没电梯,他喘着气爬上去。开门,扔背包,进卫生间洗澡。热水冲下来的时候,他闭着眼,让水流从头顶浇到脚底。
心脏又跳了一下。
这次比之前明显,不是"弹了一下",更像是攥紧了一下,然后松开。他关掉水龙头,一只手按着胸口,站在莲蓬头下面。
心跳恢复了正常。
他擦干身体,换上睡衣,从冰箱里拿了一罐啤酒。常温的,因为冷藏室坏了,一直没修。他不在乎,常温的啤酒也有酒精,喝了能睡着就行。
打开电视,凌晨一点多的频道没什么好看的,他停在了一个讲老兵故事的纪录片上,一边喝啤酒一边看。画面里一个八十多岁的老人站在纪念碑前,嘴唇在动,但听不清说什么——因为他把电视音量调得很低,只是需要一种声音来填满安静。
……
不知道什么时候,他睡着了。
再睁眼,是被****吵醒的。
不是闹钟,是来电。屏幕上显示的名字是:王诗涵。
他看了一眼时间:凌晨一点十八分。
不对——他明明是在沙发上看电视来着,怎么会在床上?而且他完全不记得自己是怎么从沙发走到床上的。中间的记忆像被橡皮擦掉了一样,干干净净。
他接了电话。
"喂,王总?"
电话那头有短暂的沉默,然后是王诗涵的声音——比白天哑,像很久没喝水。
"张远,SDK的example代码有一个坑,第十三行变量名写错了,应该是encKey而不是enKey。你在写的时候注意一下。"
"你怎么知道?"
"我之前研究过。"她说完这句就挂了。
张远看着手机屏幕上"通话结束"四个字,觉得有什么不对,但说不清楚。他把手机放在枕头旁边,翻了个身,又睡着了。
王诗涵为什么打这个电话呢?有种隐隐的不安。
……
再次醒来,是闹钟。
早上七点整。手机闹钟,那首他自己都不记得什么时候设的歌。
他坐起来,先看了一眼日期——
2025年12月11日,星期四。
他盯着那个日期看了三秒。
然后——
不对。
昨天不应该是十二月十七号吗?他记得自己改完了方案,看了SDK的PDF,喝了啤酒,看了纪录片,接了王诗涵的电话——那今天应该是十二月十八号。
但手机上写的是十二月十一号。
他拿起手机,解锁,打开日历,翻到十二月。十一号、十二号、十三号……十七号是周三,他记得那天开会、改*ug、被叫进办公室、拿U盘——
今天是十一号。星期四。
他的记忆回到了六天前。
张远坐在床上,浑身发凉。不是室内的温度问题——十二月的**虽然不暖但也不至于让人发抖——他发抖是因为他刚才清楚地感受到了死亡。不是"知道"自己死了,是身体记住了那个过程:心脏从胸腔中间炸开的钝痛,冷汗,手指发麻,视线从边缘开始变黑,呼吸变成一条搁浅的鱼。
那个过程他不应该记得。
因为他从来没有经历过那个过程——如果他经历了,他应该已经死了。
但他记得。
每一次心跳骤停前的那种"攥紧"的感觉,他都记得。
不只是最近这次。
他闭上眼睛,试着回忆——
好像不止一次。
他的记忆里有好几次"心脏骤停"的片段。每一次的感觉都一样:闷,然后疼,然后视野变黑,然后——
然后他就醒了。
在床上,闹钟响,日期不对。
"第九次。"
这两个字突然出现在他脑子里,不是他自己想的,像是从某个很深很深的地方浮上来的。
他猛地睁开眼。
房间里什么都没有。窗帘拉得严严实实,只有闹钟的屏幕在黑暗里发出微弱的光。
……
他打开了台灯。
灯光照亮了那块熟悉的水渍——天花板上蘑菇形状的那块,搬进来第一天就看到了,到现在快一年了,既没有变大也没有变小,像它已经和天花板融为一体了。
张远坐在床上,盯着那块水渍,开始想。
他是程序员。程序员解决问题的第一步不是写代码,是搞清楚问题是什么。
现在的问题是:他回到了六天前。他不确定这是第几次回到六天前(脑子里那个"第九次"不知道从哪来的,但他直觉地觉得那个数字是对的)。他的身体记住了多次死亡的过程,但他的大脑只记得最近这一次。
他不知道谁在操控这一切。
他不知道为什么是他。
他不知道回到六天前意味着什么。
但他知道一件事。
上一次——如果"上一次"这个词成立的话——他在十二月十七号凌晨猝死了。如果他什么都不做,同样的时间线重演一遍,他会在同一个时间、同一个地点、因为同样的原因再次死亡。
他不想死。
所以他需要找出原因,然后改变结果。
……
张远起了床。
卫生间,洗漱,镜子里的自己还是那个普通的样子——灰色T恤可以换成干净的,胡子可以刮掉,但五官不会变。他看着镜子里的自己,把脑子里那些乱七八糟的念头压下去。
先上班。先活过今天。
剩下的事,一步一步来。
……
他出门的时候,**的天空是灰蓝色的,太阳被薄云遮住了,但能看到它的轮廓,在云层的后面发着不刺眼的光。
空气里有楼下肠粉店飘上来的酱油香味。
他站在门口,深吸了一口气。
活着。真好。
这一次,他要好好活着。而且——他要搞清楚,到底是谁在幕后操控这一切。
他走向地铁站,步子比平时快了一点。
……
(第一章 完)
正文目录
相关书籍
友情链接