20190822-阿里巴巴搜索与推荐事业部C++研发工程师二面
1.自我介绍 项目 实习经历
2.问工作岗位倾向-写代码 或者 算法 或者 数据分析
3.数据库中表的连接都有哪几种?如何对两张表创建连接结构能够实现高效的查找效率?除了B+树,你能想到哪些能实现快速查询的结构方法,考虑到空间和时间效率?(我回答的哈希表,问哈希表具体的实现结构是什么,又问除了哈希表呢)
4.索引的具体实现结构?(B+树)B+树与红黑树有什么区别?
B+树如何进行查询的?查询的平均时间复杂度是什么?B+树新插入一个数据记录的话维持结构特性的所需的时间复杂度是多少?
5.排序算法都有哪些?哪些是稳定的?说下快速排序怎么实现的?
6.n个数据流,如何找到top-k大的数据?
回答说可以用一个小顶堆,每到达一个数据与堆顶元素进行比较,大于堆顶元素则替换,并维护堆的性质,时间复杂度为nlogk。