vOoT 阅读(46) 评论(0)

在我面试之前,我的同学已经面试,在他的面试中我打听到2到算法题,一题是递归反转单链表,一题是把字符串转化为整数,还有一些题目是在剑指offer上。我以为我面试的时候也应该是在纸上写算法题,没想到最后是两道大数据题。

题目1:在一个文件中有21亿条的QQ号,每条占据一行。问如何对着21亿条的QQ号进行排序。

题目2:  在给一个表中有21亿条的数据,该表的字段包括QQ号,性别,年龄,等信息。设计一个Http索引服务器,可以通过输入一个QQ号查询该QQ号的相关信息。

在题目1中,需要大数据的处理,之前对大数据距处理不是很清楚,只是在回答通过long long八个字节存储一个QQ号,并把21亿的QQ号文件平均分成1000个小文件。则每个小文件的大小为 (8*21*10^9)/1000B=168MB的大小。这样对每个168MB的大小的文件分别通过快速排序得到有序的1000个168M的文件,在对1000个文件进行归并排序并输出到另一个文件中。

在题目2中需要索引,还有网路编程tcp/IP,设计架构这些复杂,就不在这详谈。