首页 > 腾讯、百度、字节、美团-校招面经(仅算法)
头像
Cpp学渣本渣
编辑于 2021-09-17 19:46
+ 关注

腾讯、百度、字节、美团-校招面经(仅算法)

前言:

背景:成都某双非本科,以前搞嵌入式,大三转后端C++,大三下学期在阿里实习。
offer情况:腾讯、百度、阿里。

正题:

腾讯 wxg 秒剪 后端 go

一面:

1、力扣:LFU

二面:

1、64位系统,下面的输出是什么 :
char a[] = "Hello";
cout << sizeof(a);

const char* b[] = {"Hello", "World"};
cout << sizeof(b);

char *c = new char[10];
cout << sizeof(c);

int d = 10;
cout << sizeof(d);

void func(char e[100]) {
cout << sizeof(e);
}

2、实现String类:构造函数、拷贝构造函数、转移构造函数、赋值运算符、析构函数

3、实现定时器:秒级、单线程、高频任务。

三面:

1、某个直播平台计划开发一个高热直播间监控系统,具体需求是:
a 可以管理所有直播,新开播就要加入到系统里面,直播结束就要从系统去掉
b 直播间热度是会不断变化(例如不断有人加入、点赞、送礼物、退出等因素),热度出现变化时往高热系统更新这个直播当前热度值(高频,时间复杂度希望尽量低)
c 运营人员日常巡查希望可以在任何时刻都知道当前热度最高的100个直播间(低频)
根据上述需求,请实现一个大体如下的类:

class HotLiveMgr
{
public:
int add_livet(int64_t live_id, int64_t live_hot_score) {
}
int del_live(int64_t live_id) {
}
int get_top_100_hot_live(std::vector<int64_t > *live_id_list, std::vector<int64_t > * live_hot_score_list) {
}
}

2、工行有30万个员工,其工卡号码分别是1~30万,在接下来的某天他们将举行年会,需要抽出10万个员工发奖品。我们有一个随机数生成函数rand()能够生成(0~65535]的整数,请写一个公平的抽奖程序,输出这10万个员工的工卡号码。

进阶:30万抽 任意N个员工?

---最后因为北京hc不够,转回了成都《企业微信》,不出意外应该留在这边了---

百度 搜索架构 后端 C++

一面:

C++基础、编译原理,问到不会为止,一个半小时。
包括:智能指针、右值引用、move语义、完美转发、forward、pod、trival、constexpr、explict等等

二面:

1、给你A,B两个文件,各存放50亿条URL,每条URL占用64字节,内存限制4G,让你找出A,B文件共同的URL,如果是三个及至n个文件呢?(hash()%1000分治)

2、力扣:最长递减子序列,要求输出序列具体是什么

3、力扣:复制复杂链表

三面:

1、10000以内的素数,写出自己认为的最优解(筛选法)

2、大文件里面找出现次数最多的数(和二面一样,hash()%1000分治)

字节 房产 住小帮 go  三面挂

一面:

1、服务器socket建连代码:socket bind listen accept

2、场景:抢红包的实现

3、力扣:编辑距离

二面:

1、打印多少个*?换成i<3呢?
for (int i = 0; i < 2; i++) {
fork();
printf("*");
}

2、多线程有问题吗?怎么改?无锁能实现吗?
int i = 0;
int get() {
i++;
return i;
}

3、数据库有个库存count字段,并发下怎么减小库存?写伪代码
乐观锁思想

4、力扣:两个栈实现一个队列

5、力扣:子数组的最大和

三面:

1、实现类:二维数组的创建、访问、修改
我用的一维指针数组实现,是不连续的,问如何使它连续?两者有什么区别?

2、实现类:O(1)访问、查询、删除。按插入顺序访问。
哈希表+链表,扩展说了哈希相关的实现

3、思路:实现断点续传

---最后还是挂了,不知道原因,四战字节了,累了,捞了也拒了---

美团 基础架构 后端

一面:

1、反转链表

2、选择排序

二三面:

实习经历

---被养鱼中---

更多模拟面试

全部评论

(0) 回帖
加载中...
话题 回帖