第292章:个性化
第二个面试者叫张青。
简历很硬:麻省理工博士,王安实验室两年资历。她是王安文字处理机核心编辑模块的开发者之一,用汇编语言手撸了整屏文本的插入、删除、复制、粘贴。
她推门进来,步子比之前的沈辽快得多。
肩上挎着一只帆布包,包带放得很长,走起路来包身一下一下拍在大腿外侧,带着股风风火火的劲儿。
“张小姐。”叶宝珠低头扫过简历,“你在王安实验室做过整屏编辑?”
“做过。”
“说一下光标移动的逻辑。”叶宝珠没废话,直接抛题,“用户按‘上’键,光标从当前行移到上一行。但如果上一行比当前行短,光标应该落在哪里?”
张青的手指在桌面上虚点了一下,语速极快:“先记当前行光标所在的列号。移到上一行后,若上一行长度大于等于该列号,光标落在同一列;若上一行更短,光标直接落行尾。”
“连续按‘上’键呢?”
“列号保持不变。每一行优先落在同一列,除非行太短。”
叶宝珠在笔记本上记了两个字,继续追问:“文本插入时,内存怎么处理?”
张青的回答像连珠炮。从内存分配讲到缓冲区,从碎片整理讲到她手写的动态内存池,把整块RAM切分成不同大小的块,按需分配,回收时自动合并相邻空闲块。
“你一个人写的?”
“内存池是我写的。编辑逻辑是三个人做的。”
“三个人里,你资历最浅?”
张青眉毛一挑:“是。”
“那你负责什么?”
“他们不愿意做的部分。”张青的声音里带着不加掩饰的直率,“光标移动、行末换行、翻页滚屏、撤销重做。所有跟用户输入打交道的边边角角,全是我的。”
“为什么是他们不愿意做的?”
“因为烦。”张青冷笑一声,“光标上移一行,要考虑行长短不一;下移一行,要考虑屏幕底端翻页;移到行首行尾,要考虑中英文混排的字节边界。每一处都是特殊情况,每一处都要单独处理。他们觉得这些东西没技术含量,是‘脏活’。”
当然,这只是表面原因。真正的原因是她是女性。
在这个年代,学这一行的女生凤毛麟角,男人歧视职业女性,跟白种人歧视黄种人一样自然。
张青:“一群孬种。”
从这句话,叶宝珠大概知道她的性格。
张青之所以接受邀约坐在这里,是因为叶宝珠是女的,且懂行。
叶宝珠在张青简历右上角画了个圈,话锋一转:“张小姐,方跃要做的不是文字处理机,是游戏机。你写的那些光标逻辑,在这里可能用不上。你要从头学游戏图形,还愿意来吗?”
张青把手从桌沿收回来,放在膝盖上,眼神突然变得锐利。
“叶女士,你知道我在王安实验室最难受的是什么吗?”
叶宝珠看着她。
“不是代码难写。是每次开会,我提出的方案,他们听完之后要等一个男同事把同样的话再说一遍,然后点头说‘这个想法不错’。我坐在那里,像一台录音机,放出来的声音别人听不见,非要换一个喇叭再放一遍。”
她的声音不高,但每个字都像是从牙缝里挤出来的,带着一种压了很久、终于找到出口的力道。
“我来方跃,不是因为想写游戏机。是因为谭小姐给我打电话时说的是‘叶宝珠看了你的简历,想跟你聊聊’。不是‘吴博士’,也不是‘方跃科技’。是你。写《缉凶》和《龙的传人》的那个叶宝珠。”
张青从帆布包里掏出一本《俪人行》,拍在桌上。是去年桃李杯的那一期,封面上印着叶宝珠握着铜桃子的侧脸照。杂志边角已经翻得起毛,显然被翻过很多遍。
“我来之前,把这一期又看了一遍。你在颁奖台上说,桃李不言,下自成蹊。好的文字自己会走路。”
张青盯着叶宝珠的眼睛:“我想知道,好的代码会不会自己走路。”
叶宝珠沉默了几秒,伸手拿过杂志,翻开扉页。她提笔写下一行字:
“好的代码自己会走路。张青,欢迎来方跃。叶宝珠。”
……
第三位、第四位面试者顺利通过。
最后一位叫顾怀瑾,也是最年轻的。
学历高得吓人:帝国理工博士,研究方向是半导体材料的晶体生长。
但简历上另外几项更扎眼:用汇编给Z81写过实时控制程序,用C给PDP-1i写过文件管理系统模拟器,还在伦敦一家小公司兼职做过嵌入式固件。
什么都碰过,而且什么都不只停留在“碰过”。
他推门进来时,叶宝珠注意到他的手。
手指修长,指节分明,指甲修剪得极短,干干净净。那是典型的工程师的手。
顾怀瑾在会议桌对面坐下,从公文包里拿出一本黑色封皮的笔记本,抬头看了叶宝珠一眼。
目光接触极短,短到几乎察觉不到。随即他移开视线,落在吴怀英脸上,微微点头:“吴博士。”
“顾博士。”吴怀英把一份Z80指令集手册推过去,“这是方跃第一款产品选用的CPU。你先看看。”
顾怀瑾低头翻看。翻到某一页,他的手指停住了。
“这里。”他把手册转过来,指着其中一行,“OTDR指令。Zilog的手册上写,OTDR是一条块传输指令,可自动重复,每传一个字节,BC寄存器减一,直到BC归零。”
吴怀英点头。
“但他们没写的是,”顾怀瑾的手指在那一行上轻轻点了点,“OTDR在重复传输过程中,如果遇到中断请求,CPU怎么处理?是完成当前字节后响应,还是完成整个块传输后才响应?”
吴怀英眉毛一动:“你遇到过这个问题?”
“在伦敦那家公司遇到过。我们用Z81控制光谱仪数据采集。采集卡每毫秒发一次中断,CPU用OTDR把数据从采集卡搬到内存。结果发现,每隔几十次中断,就会有一次响应延迟。不是每次都延迟,是随机的。”
“怎么查出来的?”
“用逻辑分析仪挂在总线上,记录每次中断响应的时间点。发现延迟发生时,CPU刚好在执行OTDR指令。”
吴怀英的笔在本子上飞快记录:“怎么解决的?”
“不用OTDR。”顾怀瑾说,“自己用LDIR的替代逻辑写了一段循环传输。每传一个字节,手动检查一次中断标志。效率低了百分之三,但中断响应再也没漏过。”
叶宝珠在笔记本上打了一个勾。
吴怀英又问了几个专业问题。
顾怀瑾对答如流,每个答案都有出处,某份数据手册第几页、某篇应用笔记第几段、某次自己在实验室测出来的波形图。
最后,吴怀英放下笔,靠在椅背上:“顾博士,我没有别的问题了。”
顾怀瑾点头,目光转向叶宝珠。
“叶女士。”
他从公文包里拿出一份手写的文档,推过来。十几页纸,用回形针别着。封面上的标题是英文,“家用游戏机系统架构建议书”。
叶宝珠翻开第一页,文档结构清晰得像学位论文。从CPU选型到图形子系统,从声音方案到开发工具链,每一页都密密麻麻写满了极小的字,像印刷体一样工整。
旁边还有手绘的框图。
CPU、图形芯片、内存、总线,用箭头连起来,每条总线上都标注了位宽和时钟频率,数据详细。
叶宝珠翻到第三章,停住了。
“你建议图形用独立的显示芯片,而不是CPU直接控制?”
“对。”顾怀瑾身体微微前倾,手指在桌面上比划了一个方框,“CPU直接控制显示叫‘位图显示’,优点是灵活,缺点是慢。每一个像素都要CPU算出来再写进显存。Z81主频只有几兆赫,全用来算像素,游戏就跑不动了。”
他的手指在那个方框旁边又画了一个小方块。
“独立显示芯片的方案叫‘精灵引擎’。显存里存的不是像素,是‘精灵’的属性——位置、形状、颜色。CPU只需要告诉显示芯片‘把这个精灵移到这个位置’,显示芯片自己会去组合最终画面。CPU解放出来做游戏逻辑。”
叶宝珠目光上移:“这个精灵引擎的思路,是你自己想出来的?”
顾怀瑾收回手,放在笔记本封面上:“不完全是。德州仪器去年发布了一款叫TMS9918的显示芯片,用的就是精灵引擎。但他们只卖给签了保密协议的大客户,不公开数据手册。我是在帝国理工图书馆里翻到了一篇日本杂志上的拆解文章,从里面反推出来的。”
他又拿出一份复印件。是一篇日文文章,边角发黄。文章里印着几张芯片显微照片,电路层一层层标注出来,旁边密密麻麻写着日文注释。
“你会日文?”叶宝珠问。
“不会。但我认识汉字。猜出来的。”
叶宝珠继续翻看建议书。翻到第八章,她的手指停了。技术风险清单里,顾怀瑾列出了十几项风险。
每一项后面都跟着可能性评估、影响程度、以及建议的应对措施。不是泛泛而谈,是每一项都能落地的东西。
“这个清单,”叶宝珠把建议书翻回第一页,“你写了多久?”
顾怀瑾想了想:“从收到谭小姐寄来的Z81手册开始算,大约一个半月。每天晚上写一点。”
“你那时候还没决定要不要来方跃。”
“是。”顾怀瑾的声音依然很平,“但我已经决定要把这个东西写出来。不管来不来,写出来再说。”
叶宝珠合上建议书,放在笔记本旁:“顾博士,香江没有西区的剧院,没有泰晤士河边的旧书店,没有习惯的阴天和下午茶。”
顾怀瑾的嘴角动了一下。那个弧度极轻,轻到几乎不算是一个笑。
“叶女士,我在伦敦住了六年。泰晤士河边的旧书店,我去过很多次。但每一次去,老板都会问我同一句话——‘你是日本人吗?’我说不是。他又问,‘韩国人?’我说不是。他就不再问了。”
“他从来不猜我是华人。不是因为他觉得华人不会进旧书店,是因为他脑子里,华人的脸不在那个框架里。”
他看着叶宝珠,眼神里有一种前所未有的认真。
“叶女士,我在伦敦的六年,学到的最重要的一件事,不是晶体生长的温度曲线,不是OTDR指令有什么缺陷。有些东西,你只能从自己的文化里长出来。”
“方跃在做的东西,我在伦敦做不了。不是因为技术,是因为那里没有那条河,没有那座桥,没有那片从鱼鳞变成羽毛的光。”
叶宝珠沉默了几秒。然后她翻开建议书扉页,提笔写下一行字:“顾怀瑾,欢迎来方跃。叶宝珠。”
写完,她把建议书推回去。
顾怀瑾低头看了看那行字。然后他从口袋里掏出一支笔。笔杆是银色的,笔夹上刻着帝国理工的校徽。
他在合同最后一页签了自己的名字。字迹跟那份建议书里的一模一样,极小,极工整,像印刷体。
签完之后,他把合同递给谭馨怡,把建议书和那支银色笔杆的笔一起收进公文包里。站起来。
走到门口的时候,他停下来,回过头。
“叶女士。”
叶宝珠看着他。
“Z80的IN/OUT指令确实比6502的内存映射I/O更适合多芯片架构。”
“但有一个细节,Z81的I/O地址空间是十六位的,可以寻址六万多个端口。但实际上,市面上所有的Z系统,都只用了低八位地址线。因为高八位跟内存地址线复用,用起来太麻烦。所以实际的I/O端口数量,跟6508的内存映射方案差不多。”
他顿了顿:“这是我在伦敦那家公司踩过的坑。供你参考。”
然后他推门出去了。
(https://www.lewenn.cc/lw62033/48300019.html)
1秒记住乐文小说网:www.lewenn.cc。手机版阅读网址:m.lewenn.cc