腾讯 PCG 暑期实习 后台 一面
自我介绍
- 计网
在浏览器输入一个网址的全过程
HTTPS和HTTP的区别
HTTPS的证书是什么加密方式(非对称加密)
讲一下非对称加密
Json Web Token的原理,为什么需要JWT
JWT可不可以让它Reroot掉,就是可不可以在超时时间之前让它失效
如果你强行让JWT失效会发生什么事情(需要用数据库存储才可以,无状态机制变成有状态,违背初衷了)
HTTP1.0,2.0,3.0的区别
HTTP协议的内容是怎么组织的(不太清楚)
就是HTTP里面有几种请求方法(GET,POST,PUT,DELETE)
GET请求可以携带BODY吗
HTTP的返回码
HTTP组织完后,是往哪里发,它的底层是通过什么去做的(答了TCP)
简单描述一下TCP的建立和断开
SYN,ACK分别代表什么意思
在四次挥手中,Client发起FIN包后,Socket进入什么状态(TIME-WAIT)
TCP请求流量比较大会发生什么事情,超过它的承载能力
除了Server端可能丢包,还有什么其他地方可能丢包
发生丢包的时候,TCP要怎么处理
把TCP的拥塞控制说一下
怎么知道它丢包了,要重传呢
这个是超时重传对吧,还有个快速重传讲一下
快速重传为什么是三次,而不是两次
了解Socket里面的阻塞和非阻塞
讲一下Epoll,还有Epoll怎么用
Epoll的触发方式
如果边缘出发,我只从Epoll的FD里读了一半数据就放回去了,那么下一次触发是什么时候,可不可以把之前没读到的数据再读回来
下一次触发的时候再去读它,读到的是什么数据
- OS
怎么看Linux一个进程的内存使用大小
你用Top看内存的时候,看的是哪一列
有没有注意到它是有三列内存的显示的,那三列代表什么意思
讲一下Virtual、RES、SHARE这三列有什么区别
了解过虚拟内存的工作原理吗,你知道虚拟内存和Resource之间的区别是什么吗
为什么要设计虚拟内存这么一个东西呢,我直接用物理内存有什么问题吗
我的程序的实际内存大于我的物理内存会发生什么事情
除了OOM必然发生,还会发生什么(SWAP)
讲一下SWAP
OOM的时候是哪个进程会被kill,有没有了解过
进程之间哪些东西是可以共享的,哪些是不共享的
不同进程共享用户空间的具体什么东西
静态链接库和动态链接库的区别(TOP里的SHARE就包含动态链接库的东西)
进程之间的通信方式
线程之间呢
线程之间是可以直接共享变量地址的,但这么直接去访问会有什么问题
- Go
Slice的Size和它的Capacity有什么区别
我有一个slice1,大小为1,然后去和slice2 append,我再去改s1[0],s2会受影响吗
现在再拓展一下,我现在再append一个s3,s4,现在大小为4,现在去修改s3的第一个位置,会影响s4吗
关闭Channel要注意什么事项
假如Channel还有数据可以关闭吗
怎么判断一个Channel是否关闭
直接从一个已经关闭的Channel读数据,不带那个ok,读出来的是什么
Interface有用过吗,你一般用它来做什么呢
写过单元测试吗
Context了解过吗,有看过标准库Context的注释吗
了解过GMP调度模型吗
讲一下GC
知道GC的Write Barrier吗
- 项目
简单描述一下你的令牌桶的实现原理
你的桶和JWT有什么关系
- 手撕
求解两个字符串的最长公共子串
#腾讯##面经##暑期实习#