回忆一 --- 去年6月面试进入公司的日子
2007年6月,我投了一份简历到后来一直工作的公司应聘,做对日软件外包业务的,不过有翻译,对日语要求不高。
我投递了简历的第二天被通知面试。还好,因为技术考题偏于数据结构和算法,而不是实际项目经验,我答了满分。
然后做了上机题 --- 实现一个购物车,没有需求描述,没有任何资料,就是购物车。ok, 我明白了,这个东西要是
做大了恐怕做几天都做不完,做小了马上就搞定。就做了个小的,搞定了。然后公司通知下次董事长从日本回来面试,
第一轮考试通过了。
过了好几天,有一天接到通知,董事长回来了,让我去谈谈。我去的时候的确没想到董事长是程序员出生的,虽然
不懂.net技术,是c/c++牛人。进了会议室,董事长魁梧的身材,首先是英语跟我交流一阵子,我够呛,口语不行啊,
还好,他说的简单的,我能应付一阵子;过一回又换成日语,我刚刚培训了半年,还是初级的,就是关于个人简介方面
的,我勉强说的出来。然后董事长就开始考技术了,一开始一些c/c++方面的东西我完全能应付。后来来了个***钻的,
怎么用c语言进行面向对象的程序设计,我是老实人,马上就说以前从未考虑过(当然后来也没有去考虑,不知道这个问题
有没有答案)。最后,董事长对我说,给你一台386的机器,dos系统,给我实现一个www浏览器出来,在白板上说明如
何做。我当时脑子一热 --- 以前也没有想过阿!!! 但是随即镇定下来,在白板上开始架构这个系统,最终董事长满意。
出了会议室,我长吸一口气,乖乖,总算完事了。
ok,董事长把dotnet组的项目经理带来和我认识一下,我还很高兴啊!!!
结果董事长说,项目组有个问题现在解决不了,让我看看。啊!!! 我心里一惊,这下可就麻烦了。快6点了,要下班了。
不知是什么问题,我先看看吧。再说以前的项目不是我搞得,解决不了问题也没啥。我就去了dotnet组的工作区。
ok,测试人员和开发人员给我说,现在的一个web应用,已经在日本客户那边上线了,但是用LoadRunner进行50个
并发的测试,cpu利用率100%。我们在本地测试,还是双核心的cpu,两个核都被耗尽了。 我看着开发人员的屏幕,
dot2005的开发环境我熟悉,其它的我都不熟悉。我熟悉了一下应用的大致架构,ok,也没法熟悉,代码基本上是没什
么组织,也没有整体的良好架构。到处是过来过去的调用,一团乱麻。当然,后来才听说一部分代码是2个学校的女研究
生实习,写了很多代码,在我去之前突然离职,她们没有合同,当然也不用办什么手续,只是不辞而别。我想,那就这
样呗。等我上班了慢慢解决吧。可是我看到其它项目组都下班走人了,就这个项目组没走人,还有董事长刚从日本过来,
就坐在旁边不走了。我想,这下完了,不解决不行了。董事长说:“这个项目已经延期了,日方要求必须把cpu耗尽的
问题解决了,我已经2晚上没睡着了”。我一听,脑子又一热,怎么会碰上这种事,我面试的那天就已经要上班了。。。,
而且我对这个项目一点都不了解阿!!!万一搞不出来,不用说了,有什么后果大家可以帮我想到。谁都不希望给公司领导
一个自己的无能的印象。
没法,上去碰运气吧。这个时候我才坐到了板凳上,开始一个一个分析LoadRunner请求的页面,从页面上的代码里面
一个一个地往深处找。碰运气吧。项目做了几个月,快结束了,代码也不是我一两天能搞明白的。不过越看,越让你不想看。
代码不仅是乱麻一团,而且,那些实习生把很多代码写入了.aspx文件。采用以前asp的做法。叫人痛苦不堪,真想放弃阿!!!
但是不能放弃,过了20分钟左右,我终于找到一个页面上GridView控件的绑定事件,事件响应函数里面有个for循环。
因为事件的绑定是放在.aspx页面上的,而不是在.cs里面采用 += 的形式,过了很长时间才找到。唉!!! 我可不想再给
人整理这样的项目。
好,页面上绑定了几十条记录,那么时间复杂度和这个绑定事件的for循环次数是一个乘积关系。我再找到for{}里面的
一个工具函数,原来来自一个类。是处理关键字什么的, 进取后又是一个for循环。 然后时间复杂度就变成了一个三重
for循环的效果。50个并发,服务器吃不消也是可以理解的。我叫开发人员把这个东西想办法重写,另外好几个页面都是
如此的做法。开发人员重写后cpu利用率降到50%以下。董事长还不满意。我又在那里找阿找,找阿找。最后,到了晚上
11点,cpu利用率降低到30%以下。董事长才露出笑容,让这个项目组下班。项目经理请大家吃饭。
还好,我后来进了公司,除了给音乐栏目写了左边的二级菜单,制作了多国语言选择菜单,然后再也没有和这个项目
打过交道。要是让我做好,我就需要重新开发,从公司角度,这是不可能的。后来只有维护人员的优化再优化。
这个站点服务器在日本: http://www.newsbbtv.com
这是我的就职经历,拿出来与大家分享。不过希望以后不再遇到这种不平常的经历,让人高度紧张。
我投递了简历的第二天被通知面试。还好,因为技术考题偏于数据结构和算法,而不是实际项目经验,我答了满分。
然后做了上机题 --- 实现一个购物车,没有需求描述,没有任何资料,就是购物车。ok, 我明白了,这个东西要是
做大了恐怕做几天都做不完,做小了马上就搞定。就做了个小的,搞定了。然后公司通知下次董事长从日本回来面试,
第一轮考试通过了。
过了好几天,有一天接到通知,董事长回来了,让我去谈谈。我去的时候的确没想到董事长是程序员出生的,虽然
不懂.net技术,是c/c++牛人。进了会议室,董事长魁梧的身材,首先是英语跟我交流一阵子,我够呛,口语不行啊,
还好,他说的简单的,我能应付一阵子;过一回又换成日语,我刚刚培训了半年,还是初级的,就是关于个人简介方面
的,我勉强说的出来。然后董事长就开始考技术了,一开始一些c/c++方面的东西我完全能应付。后来来了个***钻的,
怎么用c语言进行面向对象的程序设计,我是老实人,马上就说以前从未考虑过(当然后来也没有去考虑,不知道这个问题
有没有答案)。最后,董事长对我说,给你一台386的机器,dos系统,给我实现一个www浏览器出来,在白板上说明如
何做。我当时脑子一热 --- 以前也没有想过阿!!! 但是随即镇定下来,在白板上开始架构这个系统,最终董事长满意。
出了会议室,我长吸一口气,乖乖,总算完事了。
ok,董事长把dotnet组的项目经理带来和我认识一下,我还很高兴啊!!!
结果董事长说,项目组有个问题现在解决不了,让我看看。啊!!! 我心里一惊,这下可就麻烦了。快6点了,要下班了。
不知是什么问题,我先看看吧。再说以前的项目不是我搞得,解决不了问题也没啥。我就去了dotnet组的工作区。
ok,测试人员和开发人员给我说,现在的一个web应用,已经在日本客户那边上线了,但是用LoadRunner进行50个
并发的测试,cpu利用率100%。我们在本地测试,还是双核心的cpu,两个核都被耗尽了。 我看着开发人员的屏幕,
dot2005的开发环境我熟悉,其它的我都不熟悉。我熟悉了一下应用的大致架构,ok,也没法熟悉,代码基本上是没什
么组织,也没有整体的良好架构。到处是过来过去的调用,一团乱麻。当然,后来才听说一部分代码是2个学校的女研究
生实习,写了很多代码,在我去之前突然离职,她们没有合同,当然也不用办什么手续,只是不辞而别。我想,那就这
样呗。等我上班了慢慢解决吧。可是我看到其它项目组都下班走人了,就这个项目组没走人,还有董事长刚从日本过来,
就坐在旁边不走了。我想,这下完了,不解决不行了。董事长说:“这个项目已经延期了,日方要求必须把cpu耗尽的
问题解决了,我已经2晚上没睡着了”。我一听,脑子又一热,怎么会碰上这种事,我面试的那天就已经要上班了。。。,
而且我对这个项目一点都不了解阿!!!万一搞不出来,不用说了,有什么后果大家可以帮我想到。谁都不希望给公司领导
一个自己的无能的印象。
没法,上去碰运气吧。这个时候我才坐到了板凳上,开始一个一个分析LoadRunner请求的页面,从页面上的代码里面
一个一个地往深处找。碰运气吧。项目做了几个月,快结束了,代码也不是我一两天能搞明白的。不过越看,越让你不想看。
代码不仅是乱麻一团,而且,那些实习生把很多代码写入了.aspx文件。采用以前asp的做法。叫人痛苦不堪,真想放弃阿!!!
但是不能放弃,过了20分钟左右,我终于找到一个页面上GridView控件的绑定事件,事件响应函数里面有个for循环。
因为事件的绑定是放在.aspx页面上的,而不是在.cs里面采用 += 的形式,过了很长时间才找到。唉!!! 我可不想再给
人整理这样的项目。
好,页面上绑定了几十条记录,那么时间复杂度和这个绑定事件的for循环次数是一个乘积关系。我再找到for{}里面的
一个工具函数,原来来自一个类。是处理关键字什么的, 进取后又是一个for循环。 然后时间复杂度就变成了一个三重
for循环的效果。50个并发,服务器吃不消也是可以理解的。我叫开发人员把这个东西想办法重写,另外好几个页面都是
如此的做法。开发人员重写后cpu利用率降到50%以下。董事长还不满意。我又在那里找阿找,找阿找。最后,到了晚上
11点,cpu利用率降低到30%以下。董事长才露出笑容,让这个项目组下班。项目经理请大家吃饭。
还好,我后来进了公司,除了给音乐栏目写了左边的二级菜单,制作了多国语言选择菜单,然后再也没有和这个项目
打过交道。要是让我做好,我就需要重新开发,从公司角度,这是不可能的。后来只有维护人员的优化再优化。
这个站点服务器在日本: http://www.newsbbtv.com
这是我的就职经历,拿出来与大家分享。不过希望以后不再遇到这种不平常的经历,让人高度紧张。