`
hanhg
  • 浏览: 138200 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

疯狂的程序员-第十六章

阅读更多
绝影在心中把那招聘信息上的电话默念了两遍,拔腿迅速往住处走,走几步又把刚才记的电话回味一次。到租的房子下面的公话超市,马上找个最角落的电话拨起刚才的号码,好像要是拨慢了那电话就会飞走。

接电话的是个中年男人,操着普通话,这有点出乎绝影的意料,他原以为这么大个公司招兼职程序员肯定应该排个专门的接线员。那边说:“喂,你好,找哪位?”

由于刚才那一点点出乎意料,再加上一点点紧张,他对着电话竟然不知道说什么好,好像应该先打招呼但该死的是他只忙着记号码,根本没注意下面的联系人:XXX。

他说:“哦,我是看了你们的招聘信息……”

那边那男人仿佛努力回忆了好久,才说:“对,是有那么回事?”

他问:“那你们招够人了吗?”

“人是来了几个了,不过你也可以过来再面谈。时间是XXXX,地点是XXXX。你做X路车到XX站下车就看见了。”

“好,那我到时候过来。”

正要挂电话,那男人忽然又问一句:“对了,你会什么?”

这才说到问题的重点。对于这个问题的答案,绝影已经在心中演练了一千遍,他早就梦想着,有一天,一个BOSS级的人问他:“你会些什么?”

他从容不迫地答到:“语言主要是汇编、C、C++、VFP,32位汇编是强项,另外对密码学加密算法,驱动开发和逆向工程有一定的研究。”

其实密码学加密算法和逆向工程这两样是拿来忽悠人的,要问他知不知道?当然知道,不仅是他知道,就是稍微看过点书,上过看雪论坛的人都知道。要问他懂不懂?懂个屁!不过说实话除非是研究院级别和杀毒软件公司,还有几家公司能搞加密解密和逆向工程?有几家公司敢搞加密解密和逆向工程?

“那你有什么实际项目经验没有?”

这个问题也正中他下怀,他感觉这一切就像电视台记者采访人一样。记者采访人之前,先跟他说:“一会我会问你这个这个问题,你要这样这样答……,来我们先演练一遍……”

于是他胸有成竹地说:“当然有,大一时我用VFP开发了Windows下的通讯录,大二和小组用16位汇编开发了计算机串口通信软件,大三用32位汇编语言独立开发了一个高档计算器,至少能完成1024位大数运算。”

“那你会用C++ Builder吗?”

这下绝影惊出一身冷汉,C++ Builder?网上看过介绍,不过是英文版的,他英文本来就菜,你想仅仅完成KmdKit帮助的“硬译”工作他就逢人变吹嘘自己英语好,他的英语水平能好到哪去?用他自己的话来说,他说得最好的一句英语就是:“My English is very proo.”

正因为是英文版的,他看了一眼就丢了,用他自己的话来说:“学这东西,我光花在学英语上的时间都够我大学念到毕业了。他本来想跟那人说没用过,没想到一开口却说:“用过,但不是很熟。”

“这样阿?我们这个CASE要求是用C++ Builder来开发。”

听那口气,绝影想要不补救怕要失去这次机会,赶紧补充:“我VC++用的很好,C++ Builder嘛,我觉得解释执行的东西不太好,效率太低,所以不经常用。”

“C++ Builder?怎么会是解释执行的呢?”

其实绝影也不知道C++ Builder是解释执行还是编译执行,他知道VB是解释执行的,后来大概看了下C++ Builder,觉得也是一个窗体往上面放东西,估计跟VB差不多,就信口说是解释执行的,没想到这次当场被别人识破,这是多没面子的事情。比如说你一回家,老婆就说:“来,把洗脚水给我倒了。”你都屁颠屁颠跑过去给她倒,这都没啥,反正家里就两个人。要是换成在外面,在朋友面前,哪怕老婆跟你说句:“来,帮我把这张纸扔那边垃圾桶。”你都会觉得好丢脸,脸一沉,厉声说:“自己没长腿么?”虽然你知道这样说了回去肯定要掉一层皮,但在外面你肯定还会用很大的声音这样跟她说。

所以人不怕被识破也不怕丢脸,怕就怕当场识破和当众丢脸。

眼看被当场识破,绝影赶紧转移话题:“我VC++很好,其实语言嘛都没什么区别的,VC++编译的Library在C++ Builder里面一样可以用。 ”

其实这句话,绝影也是忽悠人的,不久以后他才知道,Borland的编译器和Microsoft的编译器目标文件的格式不一样,根本无法兼容。不过这次运气好,那男人居然没识破。

那边那男人可能手头上还有要紧事,忙说:“好好,那你先来吧。把你做的小CASE也带上。”



挂了电话绝影一想,其实那招聘启事上写的清清楚楚:招聘兼职程序员一名。也就是说只要他们能招到一名,就招够了。刚才那人说人来了几个,你也可以来,莫非是他们根本就没招到人,但是又怕这么大个公司一个写程序的人都没招到,说出去是多么丢脸的事情,所以故意跟他说还有几个人的。事实就是这样,比如学校开招聘会,各大公司都在招聘,别人公司顾客盈门,你公司门可罗雀,搞得你公司自己都会不好意思。

再说了,虽说这学校是有这么大,而且也还不错,但就绝影来看学校里学这些东西真的都是用来应付考试的,说实话现在随便调查,在这个学校里面有几个人会写Windows下的应用程序?计算机学院有几个会,那都是牛B得不得了的人物了。

这么一分析,他觉得他去应聘这个兼职简直是板板上的钉钉,铁定了的,那工作就是放那等他来拿的。



找到那家公司还是颇费了些周折,来接他的就是跟他通电话的人。他把他带到这家很有名气的公司,那是一家拥有5层办公楼,一个停车场,一个篮球场,一个食堂,两条狼狗的真正的大公司。他们一起来了到“研发部”。

他说:“你在电话里不是说自己做过小CASE的吗?能展示一下吗?”

绝影把磁盘递给他,里面装的高档计算器。那人运行了一下,程序居然当场崩溃。这下他的脸一下变色了,仿佛是在自言自语:“明明在我那里都能运行。”

他说:“算了不看了,也许是我系统的问题。说实话,你不会C++ Builder吧。”

这次绝影很自然地说:“嗯。”

“我们这个CASE必须要求用C++ Builder做。”

绝影想都没想就说:“那个我可以学的,很快的。再说,说实话现在在学校里,除了我,没人能给你们做CASE。”

这话好像将了他一军,他沉默了一会说:“那好吧,你先做个面试题吧。”

他把绝影叫到跟前,打开Excel给他演示:“这里面是个矩阵,计算三元线性回归,Excel里面有工具可以直接计算。你用C语言写个程序来做,从文本里面读入矩阵,把结果输出出来。本来是让用C++ Builder做的,既然你还不会,那你就用TurboC做吧,最好是直接做个函数出来。”

绝影问:“要多长时间?”

“最多给你一个星期,当然越快越好。别下看这题,很多人都做不出来。”

“那三元线性回归怎么算阿,总要把公式给我阿。”

那人让前面的秘书从文件框里报了出一大堆资料,自己从里面选了一些出来,对绝影说:“走,跟我去复印资料吧。”

绝影跟他走下楼,他印好资料,足足有30厘米高,他把它郑重地递给绝影说:“就这样,里面有原理有公式,你自己去研究吧,最后计算精度要求是double,你可以用Excel验证结果是否正确。”那神态,仿佛在跟绝影说:“维护世界和平就靠你了。”

搞技术的人就是这样,事情说完就散,绝不东拉西扯。临走的时候,那男人突然说:“哦,对了,我姓杨。”

绝影说:“我姓绝。”



燕儿问他:“你去哪里了?怎么一下午都不在?”

绝影说:“补做物理试验去了。那老师非要判我不及格。书上都说了,任何理论都需要试验来验证,试验做出的数据才是可靠的,如果理论和试验的数据不符,应该以试验数据为准。我去做那个单摆的试验,明明测出的数据是这么多,老师非要说我测错了,说和公式不符合,我跟他说要以试验数据为准,如果公式和试验数据不符那只能说明公式错了。最后我还是忠实我的试验数据,没去修改它,结果就给他判不及格了。郁闷。”

燕儿没多说他什么,她知道他是个死脑筋,做试验还不就是求个及格,既然想及格当然是老师要什么就做什么了。这个世界上就只有他一个人明知道要死,还是要去坚持。

因为燕儿明天有课所以晚上他就回自己寝室去住,绝影正求之不得,吃过晚饭他就去外面租光盘的铺子租了张Borland C++ Builder 6.0的光盘,回到屋子翻出那30厘米厚的资料一边装C++ Builder一边看资料。

走在路上他就在想,老杨说他不会用C++ Builder,他就偏偏要用C++ Builder把这道题做出来,他想像着他把用C++ Builder做好的题目交给老杨时他那吃惊的眼神。

这次他可错了,等那Borland C++ Builder 6.0安装完他试了一下,完全不是他想像的那么回事情。整个全是英文就不说了,关键是他手上一点参考资料都没有,更别说教程,那自带的帮助文档又全是英文,起码有KmdKit帮助文档的10倍那么多。

最后他还是放弃了这个想法,一周嘛,还有时间,可以先去书店买本书再来慢慢研究。于是开始做三元线性回归。

这东西果然也不是那么简单的,看了一会资料居然没什么眉目,可越是这样他做得越来劲,资料看完了,用笔算能够算了,就开始写程序,哪里有错就改哪里。当然时间也在慢慢流逝,好几次他不想做了,他想起老杨那句话:“最多给你一个星期,当然越快越好。”要是他明天就给他打电话很若无其事地跟他说:“那个三元线性回归,我昨天晚上就做完了。”保准他也会吃惊得合不拢嘴巴。这么想,他就越来越来劲,最后还是在那一夜给做完了。后来绝影回忆,那是他写程序到现在唯一一次使用了3个For循环嵌套。

做完了,优化一下代码,总共50行,他小心地把代码拷贝到磁盘里面,又编译出一个exe,也拷贝到磁盘里面,看看表,已经是上午的10点多。燕儿也应该下课了。

他给老杨打了个电话很若无其事地说:“那个三元线性回归,我昨天晚上就做完了。”然后他去等燕儿,他们一起吃午饭。他对燕儿说:“下午我要去XXXX公司。”

“去哪干嘛?”

“上次我去面试了,给我一周的时间,我一天就做完了,下午去交给他。”

“情况怎么样?待遇怎么样?”

“肯定没问题,至于待遇,还没谈,估计那么大个公司,待遇差不到哪去。你还老是说我不会ASP,挣不了钱,那小钱有啥好挣的?要挣就去大公司挣大钱!”

那天吃饭的时候燕儿给他夹了好多肉。



绝影把磁盘里的东西交给老杨,测试成功后,老杨问:“你觉得100块报酬怎么样?”

他这样说,这招聘的事情应该就已经定下来了,可这报酬也实在太离谱。绝影说:“那要看这个CASE有多大。”

老杨说:“现在不谈CASE,咱们就谈这个三元线性回归的代码,你觉得100块行不行?”

这很好算,50行代码,100块钱,一行代码2块钱。绝影觉得老杨开了个对他来说天文般的数字,他第一次知道一行代码居然这么值钱。在过去的一年中,他至少用汇编语言写了30万行代码。

但是他还是很镇定地说:“这个就这样吧,但是我从学校过来要花很多车费的,还有学C++ Builder要买书。”

老杨很大方地说:“你去楼下办公室领张公交卡,里面有50块钱,不够又来报销,另外再给你100块钱作为资料费。”

没料到绝影义正词严地对他说:“不行!”
分享到:
评论

相关推荐

    程序员编程艺术--共二十七章-集锦与总结(教你如何编程)

    - **第十六~第二十章:全排列,跳台阶,奇偶排序,第一个只出现一次等问题** - 覆盖组合数学中的经典问题。 - 包括不同问题的求解策略和代码示例。 - **第二十一~二十二章:出现次数超过一半的数字,最短摘要的...

    代码大全第二版 中文版(1-20章)

    - 第十六章“代码审查”介绍了同行评审的价值,提高团队协作和代码质量。 - 第十七章“配置管理”讲解了版本控制和构建自动化的重要性。 - 第十八章“文档与注释”强调了良好文档对软件项目的重要性。 - 第十九...

    Java语言程序设计-基础篇-中文ppt-第十六章.ppt

    Java语言程序设计的基础篇,尤其是第16章主要讲解了事件驱动程序设计。事件驱动编程是一种编程模型,其中代码的执行并不按照预定的顺序进行,而是由特定的事件触发。这种模式在图形用户界面(GUI)编程中尤其常见,...

    C#语言和SQL Server数据库基础-第16章上机练习.zip

    在本资源"C#语言和SQL Server数据库基础-第16章上机练习.zip"中,主要涵盖的是C#编程语言与SQL Server数据库的基础知识及应用。这个章节的上机练习旨在帮助学习者深入理解这两者之间的交互,以及如何在实际项目中...

    疯狂Java讲义视频10-19章

    3. **运算符** - 第14章至16章详细介绍了算术运算符、赋值运算符以及位运算符。算术运算符包括加减乘除等,用于数值计算;赋值运算符用于给变量赋值,扩展后的赋值运算符如+=、-=等能简化代码;位运算符在底层操作二...

    程序员编程艺术

    - 第二十六章介绍了基于文档生成倒排索引的具体编码过程。 **13. 数组排序** - 第二十七章探讨了一种特殊的数组排序方法,即在保持正负数相对顺序不变的情况下对数组进行重排。 #### 四、作者态度与社区互动 - ...

    程序员编程艺术第一 ~二十七章

    - **第十六~第二十章:全排列,跳台阶,奇偶排序,第一个只出现一次等问题** - 包含了组合数学、递归算法等高级主题。 - **第二十一~二十二章:出现次数超过一半的数字,最短摘要的生成** - 探讨了数据统计和...

    罗宾500例-第16章 系统软件信息.rar

    "罗宾500例-第16章 系统软件信息"是一个关于系统软件知识的学习资料,可能是通过案例分析来深入探讨这一主题。在本章中,我们可以期待涉及以下关键知识点: 1. **操作系统**:作为系统软件的代表,操作系统(OS)是...

    程序员编程艺术第一~二十七章集锦与总结

    - **第十六~第二十章:全排列,跳台阶,奇偶排序,第一个只出现一次等问题** —— 探讨了多种有趣的算法问题。 - **第二十一~二十二章:出现次数超过一半的数字,最短摘要的生成** —— 分析了如何高效地解决这类...

    C程序设计语言--第三章 数据类型

    总结,"C程序设计语言--第三章 数据类型"涵盖了C语言中至关重要的基础知识,包括基本数据类型、存储、转换、结构化数据(枚举、结构体)、指针、数组、变量声明和初始化、以及常量和类型定义。这些概念构成了C语言的...

    程序员编程艺术第一~二十七章集锦与总结(教你如何编程)(by_July)定稿版.pdf

    - **第十六至第二十章**:全排列、跳台阶、奇偶排序等问题 - **第二十一至二十二章**:出现次数超过一半的数字、最短摘要的生成 - **第二十三、四章**:杨氏矩阵查找、倒排索引关键词Hash不重复编码实践 - **第...

    程序员编程艺术第一~二十七章集锦与总结(教你如何编程)by_July-带书签目录超清文字版

    第十六章至第二十章可能涉及面向对象编程,包括类、对象、继承、多态等概念。面向对象编程是现代软件开发的主流范式,理解和运用这些概念有助于构建可维护、可扩展的代码。 第二十一章至第二十四章可能会讨论错误...

    程序员编程艺术第一~二十七章集锦与总结(教你如何编程)

    - **第十六~第二十章:全排列,跳台阶,奇偶排序,第一个只出现一次等问题** - **知识点**:递归算法、位运算。 - **应用场景**:算法竞赛、软件测试等。 - **第二十一~二十二章:出现次数超过一半的数字,最短...

    C语言高级程序员编程指南

    第十六章 对象 第十七章 常见类函数 第十八章 用C++输入输出 基本上这本书对于初学者来说是比较好的,因为比较全面而且分得比较细又有相关方面的展开,每个点上都有相应的实例,这个对初学者十分有益。

    Professional C++

    - 第十六章:“理解容器和迭代器”,深入讲解了STL中的容器和迭代器模式。 - 第十七章:“掌握STL算法”,介绍了如何使用STL中的各种算法来处理数据。 - 第十八章:“字符串本地化和正则表达式”,讨论了如何处理...

    软件工程思想——经典搞笑版

    第二章“程序员与程序经理”; 第三章“项目计划与质量管理”; 第四章“可行性分析与需求分析”; 第五章“系统设计”; 第六章“C++ 面向对象程序设计”; 第七章“测试与改错”; 第八章“维护与再生工程”。 ...

    C#程序员参考手册(pdf)

    数组 第7章 类 第8章 结构 第9章 接口 第10章 枚举 第11章 字段 第12章 方法 第13章 属性 第14章 索引器 第15章 委托 第16章 事件 第17章 不安全代码 第18章 属性标志 第19...

    Beginning.Linux.Programming_4th(第四版)

    - 第16章:使用GTK+编程GNOME - 第17章:使用Qt编程KDE - 第18章:Linux标准 - 索引 #### 关键知识点概述 - **第1章:入门介绍** - **主要内容**:介绍Linux操作系统的基础知识,包括Linux的历史、特点以及...

Global site tag (gtag.js) - Google Analytics