腾讯TEG二,三面

后续:状态变为复试了,三面半个小时,面完秒挂

开局拷打半小时实习项目, 然后做题, 手撕回溯 (秒了, 后悔做太快了, 后面还有几个题), 两个场景设计题

一个非常多 string 的文件求频率最大的 10 个 string, 局限在一个机器上, 先 hash, 然后分别求各个 bucket 里面的 10 个频率最大的 string, 最后合并

2. 一个计时器类设计题, 要求实现的功能如下, 要求尽可能效率高 
1. 可以插入一个计时器 (包含超时时间)
2.  输入当前时间, 将超时的计时器全部删除. 这个类不会主动删除超时的计时器, 需要人为输入当前时间
3. 输入某个时间 (不一定是当前时间), 得到还未超时的所有计时器 (不删除)
4. 可以更改某个计时器的超时时间

我说了两种方式, 不知道是不是最优的,
1. B+树
2. 一个 list (按照超时时间排序, 每个 node 包含超时时间和一个 vector 保存这个超时时间点所有的计时器) 和一个哈希表 (key 是计时器的 id, value 是 list 的迭代器)

还有一个指针题 (没答对), 答案是 2, 5, 有兴趣的可以试一下
```C
#include
int main( void ) 
{
 int a[5]={1,2,3,4,5}; 
 int *ptr=(int *)(&a+1); 
       printf("%d,%d",*(a+1),*(ptr-1));  
        return 0;
}
```
最后问了下八股文
进程之间的同步方式, 答了五种
虚拟内存
LSM 和 B+树的优劣势分析 (这个好多人问了)
自旋锁和互斥锁的区别和使用场景

总计耗时一个半小时, 希望能过呀
全部评论
膜拜大佬
点赞 回复 分享
发布于 08-01 15:48 河北
上交👴怕他
点赞 回复 分享
发布于 08-01 16:09 四川
佬,回溯具体是什么题呢
点赞 回复 分享
发布于 08-02 20:30 浙江
为啥挂呀
点赞 回复 分享
发布于 08-03 22:14 浙江
佬,问下,你一面到二面隔了多长时间啊
点赞 回复 分享
发布于 08-07 13:59 北京
佬,什么部门呢
点赞 回复 分享
发布于 08-23 22:00 广东
这是二面还是三面
点赞 回复 分享
发布于 10-16 15:08 吉林

相关推荐

10 72 评论
分享
牛客网
牛客企业服务