魏东看着满脸怒容的唐国栋,也没有解释,直接说道:“唐院长,您是计算机领域的泰山北斗,既然您不相信我的学业,要不,您考考我?”
唐国栋神色一惊:“你说什么?”
“我说,您考考我。”魏东不卑不亢地说道:“您随便给我出一道计算机专业的题,如果我能解决,希望您给我一个报效国家的机会。如果我答不上来,我自认学识浅薄,愿意接受校内任何处罚,往后绝不再提此事。”
唐国栋真的怀疑自己是不是听错了。
他还是第一次遇到这种学生。
“你小子,真是不知道天高地厚。”唐国栋真的动怒了。
魏东笑了笑:“唐院长,试试对您也没损失,万一我输了,您正好可以拿着这件事教育一下唐棠同学,这买卖,您不亏。”
唐国栋紧盯着魏东,没有吭声。
他在判断。
判断这个年轻人是真的有底气,还是在虚张声势。
“好!”唐国栋沉着脸点头,说道:“这是你自己选的!”
说完,他转身朝书房走去。
“跟我来。”
……
书房在二楼。
楼道两侧的墙上还挂着不少幅老照片。
这些照片,有的是唐国栋年轻时在清华读书时的照片,也有的是他在美国访学时和外国知名专家的合影。
每一个都是IT行业的名人。
唐国栋的房间不大,摆满了书架。
靠窗的位置,摆着一张宽大的书桌,书桌中央是一台IBM台式机。
“坐。”唐国栋指了指书桌前的椅子。
魏东很听话地走过去,坐了下来。
唐国栋俯身操作鼠标,在Wdows98的桌面上点开一个文件夹,调出一份文档。
“这是我给研究院的几个学生预留的期中课题。”唐国栋介绍道:“课题名字叫《基于B
S架构的分布式数据库索引优化》。核心难点在于,当数据节点超过三个,并发写入时,索引同步会出现死锁。”
“我一个研二的学生,在这个问题上卡了整整一周,写出来的程序只要一跑压力测试,内存就直线飙升,最后崩溃。”
他特意看了魏东一眼,想从魏东脸上看出一丝害怕,可他看到的,却依旧还是那副坦然的神色。
他皱眉道:“我给你一个小时,不要求你完全解决,只要你能指出问题出在哪,并给出一条可行的优化思路,就算你赢了。”
唐棠站在门口,几次想开口,都被唐国栋用眼神制止了。
她虽然不懂计算机,但她知道自己爷爷带的那几个研究生学生有多厉害,连那些学生都卡了一周,这种考题怎么可能是一个大专生能解决的?
这不是为难人吗?
魏东倒是没有多说什么,他的注意力,都集中在了屏幕的文档里。
文档里有一大堆设计图和伪代码,还有几段未完成的C语言程序。
问题的核心确实棘手,在2000年的技术环境下,分布式数据库刚刚起步,国内这方面的资料少之又少,更别说解决并发死锁了。
唐国栋看了一眼墙上的挂钟,说道:“如果你看不懂,现在认输还来得及。”
魏东笑了笑,手指搭在了键盘上,忽然动了。
他的打字速度极快,光标在屏幕上飞速跳动。
唐国栋甚至没看清他是怎么操作的,就见他已经调出了那段问题代码,直接删掉了中间大段的冗余逻辑,然后重新输入。
全程他没有丝毫的停顿,就像是肌肉记忆一样。
一行,五行,十行,二十行。
屏幕上的字符飞速地向下滚动。
魏东的手指在键盘上翻飞,偶尔用鼠标切换一下窗口,动作行云流水,完全不像是一个大专生具备的能力。
哪怕是胡乱输入,都没有这么的行云流水。
唐国栋下意识朝前凑了凑,想看看魏东到底是真的在输入代码还是在胡乱表演。
他看了一会儿,越看越看震惊。
因为他看懂了魏东在写什么。
这根本不是修补,而是在重构。
魏东没有试图在原来的框架上打补丁,而是直接推翻了这个研究生写了半个月的架构,重新设计了一套基于乐观锁机制的索引同步协议。
在2000年,乐观锁的概念只在国外几篇顶级论文里出现过,国内学界还停留在传统的悲观锁思维里。
但魏东写出来的是实实在在的代码。
他先重新定义了索引节点的数据结构,然后加入了一个版本号标记,在并发写入时,不再粗暴地加锁阻塞,而是让每个线程先假设自己能成功写入,提交时再检查版本号是否冲突。
如果冲突,就自动回滚重试。
如果不冲突,就一次性提交。
更可怕的是,他还顺手写了一个内存池管理模块,把原来那种频繁的操作改成了预分配的块内存复用,直接解决了内存泄露的问题。
“你……”唐国栋完全看呆了。
很快,光标就滑到了测试程序的部分。
魏东先写了一个简单的压力测试脚本,模拟三十个并发线程同时写入。
然后,他直接运行了测试程序。
伴随着DOS窗口弹出来,一行行代码像是瀑布一样倾泻而下,速度快得让人目不暇接。
在唐国栋震惊的目光中,压力测试足足跑了十几分钟。
本该崩溃的内存占用曲线,此时稳如老狗。
站在门口的唐棠虽然看不懂屏幕上那些代码,但她看得懂爷爷的表情。
那是一种她从未在爷爷脸上见过的神情。
震惊?困惑?狂喜?
连她都有些分辨不清了。
“你,你这个乐观锁的思路……”唐国栋愣神了半晌,才颤声问道:“是从哪里学的?”
笔下小说网