读书人

支付宝的笔考题

发布时间: 2012-10-29 10:03:53 作者: rapoo

支付宝的笔试题

昨天,支付宝在成都招聘,一直关心阿里巴巴的招聘信息,所以一收到消息,马上从外地赶过去。到了,才发现,这次他们只招有工作经验的。虽然我是应届毕业的,但是在读研期间,也在公司上过班,有过几个项目开发经验,所以当时我就好说歹说,表现自己一定能胜任这份工作,不会比别人的差的。最后,他们的技术总监总算给了我一个机会,让我面试工,呵呵,这儿再一次感谢支付宝的HR和他们的技术总监Tommy(不知道拼对了么)。
?? 因为我做过多个项目,一直对架构很感兴趣,最近又一直在研究Spring,Hibernate,Struts的源代码,而且前面也有了面试经验,所以前面的技术问题都比较简单的搞定了。但最后一个现现场编程题,现在在我看来,确实让我这个缺乏大型项目经验的人露了马脚。
?? 题目是这样子的:写一个类,读一个txt文件,从中找到aliy这个词,并记录该字符串所在的行数和每一行中的位置。
?? 我第一反应这个问题很简单,每次循环读一行字符串,然后用String.index方法就可以搞定了。但是在写代码的时候,我却把PrintReader搞错了,写成PrintWriter,唉,用管了IDE就是这样子啊。后来就和技术总监聊这个类还需要什么改进的地方。在他的提醒下,我才注意到。
?? 第一?? 每一行不一定只有一个关键词,这是我所没有注意到的,当然在实际的开发中我后来是可以发现的。后来我还想到用正则表达式。还有就是字符可以设置token,直接split几段,还是能找到,当然这三种方法的效率,我确实不太清楚。
?? 第二? 性能的问题,他说,如果是读一个1G的文件,那怎么办。我当时第一反应是那就分段读,然后用多线程处理每一段的字符串。这个问题是我回答的最失败的地方,在回来的车上,我才反应过来,准备的回答应该是通过设置缓存区来读文件。
?? 回答的如此差,我也不报什么希望了。不过还是要给朋友们提点经验吧,特别是那些刚毕业的,有点项目经验的朋友,因为我们可能面临的问题都是这个。那个时候我在公司上班的时候,有写代码,也有做框架,项目经理始终说的“先把做出来再改进” 事实上在小公司真的很忙很累,对于没有什么经验的人来说,能做出来已经不错了,所以后来那个“再改进”通常就被忽略了,像面对上面的那个问题,虽然事后能想到,但是对于有工作经验的人来,马上就能够反应过来。所以在以后的开发中,除了灵活运用基础知识,还就要从代码的质量方面去多考虑,这样才能够慢慢成长。

读书人网 >编程

热点推荐