字节跳动两面凉经
一面:
1.代码题。找数组中第k大的数。使用堆做了,然后问时间复杂度。
2.代码题。给出一个元素不重复的排序数组,问v如果插入数组中是第几大。一开始直接使用lower_bound实现,然后问lower_bound和upper_bound的区别,回答了lower_bound是查找第一个大于等于v的数的位置,upper_bound是查找第一个大于v的数的位置。接着问能不能自己实现二分,然后就写了个二分。
3.数据库问题。需要以字段(B,A)和B进行查询,问怎样建立索引。回答了建立(B,A)索引。问这样查询B可以使用索引吗。回答可以,因为最左前缀原则。
二面:
1.问项目,答的一塌糊涂。
2.作业调度的几种方式。
3.代码题。疯子坐飞机问题(https://www.zhihu.com/question/35950050/answer/65272204)。一开始想不到,面试官指导我从2个人、3个人的情况出发去想。然后写了个递归,递归式为f(n)=(f(n-1)+...+f(2))/n。结束之后推了一下。。就是f(n)=1/2。
4.代码题。两个降序数组求第k大的数(我今天和第k大很有缘)。很快就写好。然后就结束面试。挂了。
面试官都很nice,题目也很简单,只是我太菜。
#字节跳动##面经##实习##C++工程师#