一面:问了些基本库函数,如atoi、快速排序等的实现,回答的还好,比较基础。
然后问了一个算法题:有一个数组 int array[100];本来应该存放的数为1~100,但是有两个数据丢失了,值变成了0。问如何找出丢失的那两个数?
我回答了几种方法:
a、解方程,求出1~100的和 减去 array数组所有元素之和, 同理乘积也可以得到一个式子,解方程,但是乘积会导致数过大,不好处理。
b、使用bitset坐标记,然后找出缺失的数。
c、他说不能另外开辟空间,问我有没有其他的办法,我说直接在array数组里做标记,比如说找到一个数40,我就在array[49]做标记。
最后还问了一个开放性的问题,有一百万条字符串(也称句子),然后给你一个API,可以通过API获取两个句子的相似度,如int func(char* s1, char* s2),然后问,如果给了另外一个句子,问如何从这一百万个句子中找出一个相似度最高的句子。相似度这个东西,按他的意思是不能确定的,就比如“我吃过了”,“我已经吃了”,哈哈,这个都是可以相似的。
我想了一下,说:这个没有其他的办法吧,全部遍历。
他说:有没有其他的更好的办法。
回答:不知道
二面:BOSS面,就是聊天,项目啊,比赛啊,随便聊了一下。
三面:HR面,跟BOSS面差不大多,聊了一下兴趣啊,最有挫折感的事情是什么,等等。。。。
个人觉得二面跟三面要够自信,要表现得落落大方,最好别太拘束,如果有点紧张的话,可以直接跟对方说出来,呵呵。另外觉得自己参加了阿里巴巴的那个ACM-ICPC西南地区的比赛,拿了个三等奖(很水,羡慕那些拿到一二等奖的牛人些), 对于拿到这个offer还是很有帮助的,希望后面的学弟学妹们有机会也可以去参加一下某些公司的比赛,这样对于以后加入该公司还是很有好处的。呵呵。。。