【面试题】2012 多盟 实习笔试

2012年多盟,系统发开,笔试

(1)已知两个长度为N的数组A,B,已分别按升序排列

A。求第NN+1个数,伪代码实现,并估算复杂度

B,若你的解法时间复杂度为O(logN)。请考虑时间复杂度更快的算法。

(2)一个长度为n的整数数组,数组中任意n-1个数的乘积,有n个值,求这些值中最大的,

只能使用乘法,不能除法,

A,请描述算法,不必代码实现;并分析时间复杂度和空间复杂度

(3)在字符串中查找某个子串的最后一次出现的起始位置,找不到返回-1

例如:abcdefaefg

ef 则 为6

A.使用C/C++编码实现,不使用现成的字符串库函数

(4)现有一个论文抓取和检索系统,已经收录了4000万篇论文,他们的spider会一直抓取各种论文,但是和网页不同,论文无法用url做唯一的标识,对于一批新抓取的论文,要进行查重,看它是不是已经被检索,问题:

A,去重操作要求单机实现,占用内存最好不超过1G,执行尽可能快,如何实现论文的查重?分析该实现的复杂度?

B,这个去重算法,可能有哪些badbase

(5)以微博为例,假设有一亿用户,用户之间的关系可以只是单向的,平均每个用户关注100个用户,请设计表结构,

A根据一个用户,获得他关注的全部用户

B根据一个用户,获得全部关注他的用户

C给出任意两个用户,获取他们共同关注的用户

D给出任意两个用户AB。获取A关注用户中也关注了B的用户

在以上设计的基础上,假设我们使用某SQL引擎,这个引擎速度很快,但当表单容量存储大于

1000万时,性能急剧下降,如何避免这个特性对性能的影响?

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值