快手一面(44min)
- 自我介绍
- 算法①:实现一个链表的插入函数
- 算法②:字符串的局部逆置
- 算法③:实现一个最大栈,时间复杂度要求O(1)
- 算法④:
有大量key-value的数据,key是一个整数区间,value是一个列表。不同的key之间存在交集。输入一个整数,要求输出所有的value。例如:
Key value
[1,9] -> {V1,V2,V3}
[1,20] -> {V4}
[6,15] -> {V5}
[13,19] -> {V6,V7}
输入2, 输出V1,V2,V3,V4
输入14,输出V4, V5,V6,V7
请设计或者选用一个数据结构,能快速的从大量这种key-value数据中查询结果。 - 用过快手吗?用过抖音吗?
- 场景题:在你刷快手或者抖音的时候,做为一个开发人员,如何保证一个用户在某段时间内刷到的视频是不一样的?
- 布隆过滤器具体是怎么实现的?在什么场景下会用?布隆过滤器有什么缺点呢?如何减少误判率?
- 反问。