0402 腾讯光子工作室后台开发一面
0402 腾讯光子工作室后台开发一面
更新:已凉,有些个人回答是错误的,因此清空了个人回答,后续会慢慢更新问题答案,也作为个人的一个反思啦
时长差不多 80-90min。
原定 19:30 开始,面试官来晚了十几分钟
首先介绍流程:1 自我介绍 + 项目介绍 -> 2 技术问题 -> 3 问面试官问题
我:自我介绍,一段实习
面试官:实习时候遇到的问题,如何解决的
面试官:简单介绍下你的项目
面试官:好的,现在开始问技术问题。你会 C++ 吗
我:最近不常用,比较基础
问题:
1 udp tcp 区别
2 tcp 如何保证可靠传输的
3 选择重传,快速重传的详细过程
4 发送者如何分辨接收到的 ack 是乱序的 ack 还是重传的 ack
5 tcp 服务器如果向客户端发送 1MB 数据,是如何得知 1MB 发送完的
6 如果叫你设计一个聊天应用层协议,需要考虑哪些重要问题
7 说一下共享内存
8 线程间共享内存和进程间共享内存的区别
9 如何实现共享内存
10 进程间其他的通信方式
11 进程 A 创建了个共享内存,进程 B 来与它交流,如果两个进程同时宕掉了,这个共享内存会不会被回收
12 一块共享内存,进程 A 作为生产者写了数据,如何告诉进程 B
13 说一下 epoll
14 如何设计一个可以应对百万级请求的定时器。大概是这样,你需要实现 rpc 框架的一个功能,百万级的 rpc 请求到达,需要将请求传送给工作节点处理,维护一个定时器,定时器精度是 ms,期间部分 rpc 请求会得到响应,部分请求没有响应,则无响应的标记为超时,设计三个接口:
- Add():添加一个请求
- Del():响应一个请求并删除
- Info():返回超时的请求有哪些
15 redis 和 mysql 的区别
16 说说 MySQL 的索引
17 MySQL 为啥用 B+ 树