写点什么

2022 秋春招 / 提前批面经分享总结(字节、腾讯、阿里)

发布于: 3 小时前

2022 秋春招/提前批面经汇总 GitHub 地址:https://github.com/0voice/interview_experience

目前已有 187 份,持续更新中,欢迎大家 star,添加自己的一份面经分享!!


腾讯音乐-后台开发-暑期实习一、二面面经

一面

时间:7:00 pm-8:22 pm

· 自我介绍

· 然后问我两个项目:

o Raft 协议的项目,问了比较久

§ 如果外部一个客户端需要提交一个数据,什么时候返回成功?是大多数复制完成之后再返回?

o 因为项目的 Go 实现的,继续问了 Go 语言的特性,Go 调度器的实现了解过没有?协程如何调度的。

o 毕设的文件系统:

§ PMEM 的延时

§ 调度算法

· 网络编程:多线程和多进程的程序写过没有,主要关心实战情况

o socket 编程

o select/poll/epoll 了解过吗?

· 网络中传输数据如何分包,应该是问 TCP 粘包问题

o 顺便问了知不知道 protobuf

o gRPC 实现 protobuf 的关键点在哪?

§ 跨平台,跨语言

§ 不同机器下定义的基本数据类型长度不同,考虑大端存储还是小端存储

· 进程的通信方式

· 数据库:

o MySQL 使用的引擎:InnoDB 之类

o 如何建索引?为哪个键建索引?

o Reids 的情况,哪里用过

· TCP 的三次握手,四次挥手,TIME_WAIT

算法:<= 20min,vscode,共享屏幕,手写,手动构造样例。两道大水题。

· 反转链接

· 二分查找

二面

>面试官迟到 40+ min。。。。。。10:40+am-11:40+am

· 问项目,raft 协议

o 脑裂的情况如何解决

o 日志复制的具体过程

o CAP 理论,日志的理解:日志只是记录操作,并不一定数据的直接修改

· 后面问 Go 的知识:

o GMP 了解过没有?没有,还是继续问。

o GMP 如果一个协程阻塞了,如何调度?

o Context 有没有了解过。

o Go 语言哪些是按引用传递的。

· C++知识:

o map 的实现:红黑树

§ 用迭代器访问元素,然后 tmp = it, it = it->next,然后把把 tmp 删了,后面迭代器还可以继续执行吗?

o malloc 的实现

· 进程和线程的区别

· 程序的内存布局

· Go 的协程和线程的优势

· I/O 密集型和计算密集型哪一个适合 Go 的协程。



腾讯 PCG 腾讯视频暑期实习一二三面+HR 面

一面 80min

 

自我介绍

1.虚函数的作用

2.模板的作用,解决了什么问题

3.TCP 特点

4. 拥塞控制

 

代码:

1. Leetcode.54 螺旋矩阵

2.一个数组如 nums = [ 3,2,5,6,2,3,4],输出一个数组 ans = [2,1,3,7,1,2,3],ansi代表 numsi左边和右边比自己大的第一个数之间数的个数(有点绕。。) 

 

反问 

 

二面 50min 

 

自我介绍

1.两个栈实现队列 2.两个队列实现栈 (push O(1)和 pop O(1))3.一个队列实现栈 4.B+树优点 5.B 树区别,B 树范围查找复杂度 6.哈夫曼树,哈夫曼树构造过程 7.三次握手过程,第三次丢包,一定会 RST 异常么 8.TCP 怎么保证可靠传输 9.拥塞控制 

10.虚拟内存,虚拟内存解决了什么问题,如果内存足够大,还需要虚拟内存么 

11.HTTPS 加密原理,为什么不一直用非对称加密,为什么能确保对称加密所用的密钥是安全的 

12.线程进程区别 13.100 本书,每次取 1-5 本,自己先取,怎么取到最后一本 

反问 

 

三面 70min 

 

自我介绍

从项目切入,聊一些相关知识

1.项目为什么用 TCP

2.拥塞控制(每次都问。。)

3.UDP 怎么保证可靠

4.是否了解业界存在的基于 UDP 的可靠传输协议(谷歌 QUIC)

5.QUIC 具体怎么实现(不了解。。)

6.HTTP 基于什么协议

7.网页发送文件给其他人,HTTP 怎么知道文件发送完了

8.HTTP 有哪些方法

9.输入 url 显示网页全过程

10.项目为什么不用 HTTP

11.线程同步的手段, 事件如何使用 

12.信号量本质,和互斥量区别

13.C++11 或者 C++14 新特性

14.lamda 表达式

15.智能指针原理

16.子函数形参里有 shared_ptr,主函数里定义一个 shared_ptr,这个 shared_ptr 作为参数传入子函数中时,智能指针的计数 count 变化过程

17.shared_ptr 存在的问题,怎么解决

代码

左右最值最大差

反问

 

 HR 面 13min 

 

没有自我介绍 

1.技术面面了几轮 

2.申请岗位的方向 

3.在申请岗位的方面有什么积累知识 

4.讲一下项目 

5.项目中遇到最大困难,如何解决的 

6.项目中最复杂的地方 

7.现在时间点这么晚,为什么还在找实习 

8.有其他 offer 么 

9.如何来实习的话,觉得自己有哪些方面需要补充 

10.入职之前有时间补充相关知识么 

11.父母做什么的,独生么 

12.兴趣爱好 

13.压力来源 

14.自己优势,劣势 

反问 



字节跳动后端一二三面

一面(40min)

1.简单自我介绍+项目(10min)

2.进程线程的区别

3.进程的调度算法

4.如何设计一个哈表表

5.数据库索引为什么不用红黑树

6. B+树的特性

7.联合索引

8.如果两个索引都用到了范围查询但必须使用索引如何解决

算法

重排链表

二面(1h)

1.自我介绍+项目(20min)

2. a 是主键索引,b 是普通索引,问对 b 查询索引怎么走

3. fork()函数

4.计算机启动的时候内存做了什么

5.虚拟内存

6.输入一个 URL

7.数据是如何拷贝到网卡的

8.场景题:有一个 1T 的记录了用户 id 以及 ip 的日志,内存只有 1G,要求根据 Ip 出现的频率对用户进行排序(分区+堆)

9.常见的排序算法以及空间复杂度

10.插入排序最优的空间复杂度是多少

11.哪些是稳定的排序

算法

LRU

三面(50min)

1.自我介绍

2. C++智能指针

3. C++局部变量与全局变量

4.面向对象的三个特性

5.给一张数据表,你应该考虑从哪些方面建立索引

算法

阿拉伯数字转中文大写


用户头像

还未添加个人签名 2021.06.22 加入

还未添加个人简介

评论

发布
暂无评论
2022秋春招/提前批面经分享总结(字节、腾讯、阿里)