“铃铃铃……”,周一早上五点半,我的闹铃准时响了起来。我伸手关掉闹铃,然后又躺了回去。大概过了五六分钟,我终于从床上爬了起来。起床以后,我穿上了跑步的装备,然后就出门直奔奥森。从家里跑到奥森,就算是热身了。我在奥森南门的广场上做了做拉伸运动,就开跑了。在奥森南园跑一圈,刚好五公里多一点点。跑完之后,我又到湖边安静的地方练了一遍八部金刚。练完功之后,虽然胸口还是有点疼,但是比之前要好多了。我觉得照这个恢复速度,周末打实战应该不成问题。
跑完步回到家里简单洗漱一下,我就出门上班了。我工作的地方在“北辰时代”,离奥森很近,走路十几分钟就能到。我在公司楼下吃了早餐,这时还不到九点,无论是早餐店里还是公司大楼的电梯里人都很少,我非常喜欢这种舒缓的节奏。
我来到自己的工位,这时旁边的同事们都还没有到。我打开笔记本电脑,看了一眼,自己名下还有三五个BUG没有处理。看来测试部的同事周末又来加班了,因为上周五下班前我的BUG就剩一个了,没想到周一早上又多出来了几个。我看了一眼新测试出来的BUG,都是一些小BUG,一看就知道问题出在哪里。最棘手的还是上周剩下的那个BUG。不知道是哪里出现了“内存泄漏”,我找了一周,也没有结果。我觉得还是先把这几个好解决的BUG给先搞定,然后再专心解决内存泄漏的问题。这时同事们也都陆陆续续的来到了公司。
上午十点半,我们组的成员都准时来到了会议室。我的领导叫危铭,湖南人,说普通话的时候显得特别和蔼可亲。危铭比我小几岁,但是我一直都觉得他比我成熟稳重。这次开会的重点议题就是我的那个BUG,因为是内存泄漏,问题比较严重。我上周折腾了一周,也没有结果,所以危铭特别在会上提议,让大家都说一下自己的思路。危铭先问我,有什么思路。我觉得这个内存泄漏的问题太隐蔽了,只有在程序长时间运行以后,才会浮现出来。所以想要定位问题很困难。我的想法是,花时间开发一个内存管理模块,负责管理和监督整个程序的内存使用状况,通过内存管理模块从根源上彻底解决程序中内存泄漏的问题。危铭听了,觉得这么搞,动作有点太大了。因为内存管理模块属于底层技术,开发难度大,就算做出来了,内存管理模块本身的稳定性也是一个大问题。所以很少有公司愿意花精力专门开发一个内存管理模块。危铭又问了组里的其他同事,小华和阿锋也觉得从头开发内存管理模块有点儿不靠谱。但是他们也没有好办法解决内存泄漏的问题。最后危铭问我,还有没有别的办法。我说,要是让我解决这个问题,就只能开发内存管理模块。危铭没办法,就问我开发内存管理模块要多长时间。我说两周差不多。危铭听了,直接说,“我可以给你一个月时间”,然后他认真的看着我问,“你确定能搞出来吗?”。“当然能!”,我斩钉截铁的说。我心想,开发内存管理模块,这才是C语言程序员该做的事。难越度大,价值越大。反正我觉得比天天看开源代码,解那些无聊的BUG要好多了。危铭看我信心十足,自信满满,也就同意了。
散会以后,我刚回到工位,危铭就来叫我和阿锋,说让我俩跟他一起去面试。我们仨来到会议室,这时一个留着分头的小伙儿从座椅上站了起来跟我们打招呼。我听他口音像是广东人。我们仨坐下以后,危铭先问了应聘的小伙儿一些问题,然后阿锋问,然后是我。最后聊的差不多了,应聘的小伙儿问:“你们仨谁最大?”。这个人的普通话有点儿潮,我理解成了他问我们仨谁年纪最大。于是就说,“我最大”。危铭一听,笑着对应聘的小伙儿说,“他头最大”。应聘的小伙儿一听,也被逗笑了,他笑着说,“我是想问,你们仨谁是领导”。我心说,你要是早这么说,我也不至于误会了。应聘的小伙儿虽然说普通话潮了点儿,但技术很牛,所以我们都觉得这个人很合适。危铭跟应聘的小伙儿说,你稍等,一会儿HR会过来跟你谈薪资待遇。
面试之后,我终于可以专心的开发内存管理模块了。我之前就对内存管理模块很感兴趣,所以很早以前我就研究过LInux系统的内存管理。其实我一直都想自己动手开发内存管理模块,只是苦于工作中没有这样的机会。现在终于有机会了,我必须要放开手脚大干一场。我把之前积累的资料又重新看了一遍,这个内存管理模块的架构就已经在我的心中了。剩下的就是用C语言来实现了。对于我来说,只要不涉及到高深的数学算法,剩下的所有代码就像写小学作文一样,只要组织好词汇和句子,把握好逻辑关系,一切就都可以搞定了。不过相比于开发应用程序,开发底层功能模块,更需要C语言功底。我的C语言功底虽然还算可以,但是毕竟是第一次开发这么底层的功能模块,面对复杂的数据结构,我也开始有点感到力不从心了。