bigo三面面经
面试时间是9月14号,我面的是bigo新业务/运维,属于电商部门。
面试官应该是一个主管吧,挺和蔼的。
面试内容如下:
1. 常规的自我介绍
2. 场景题1:如何设计商品类目数据库,设计不同类的商品的数据库,怎么样设计保证查询效率。
3. 场景题2:设计游戏的排行榜。我说redis的zset,于是跟我讨论了半小时的查询用户排名,查询指定排名区间的时间复杂度。我不是很懂跳表的结构,于是跟我讨论了跳表的数据结构还怎么设计。
4. 场景题3:有 k 个数组,所有数组元素个数之和为n,每个数组都是升序排列,问有哪些方法合并数组呢?秒答k路归并,面试官要求时间复杂度 小于 O(kn),于是讨论了很久直到面试结束。
5. 算法题: 代码实现场景题3,时间复杂度要求是 O(nlgk)。因为时间不够了,开了一个腾讯在线文档让我自己下来写。结果我只写出了 O(knlgk) 的代码。因为我觉得k个链表可以实现 O(nlgk),而数组最少得 O(knlgk)。