网易雷火游戏服务端实习c++开发三面+HR面已经拿offer

--------------------------------------------------------
网易雷火一面 
1、两个数据库的联合查询，用一条sql语句实现，现场写查询语句 
2、项目中的问题、怎么解决的？ 
3、多并发怎么做的； 
4、聚集索引，非聚集索引一定会回表吗？——覆盖索引不需要 
5、三次握手和四次挥手，为什么要四次挥手？ 
TCP三次握手过程中，SYN_RECV出现在哪个阶段 
A、客户端发送SYN包之后。 
B、服务端收到SYN包之后。 
C、客户端收到SYN+ACK包之后。 
D、客户端发送ACK包之后。 
6、逗号运算符——优先级很低、满足左结合 
以下代码片段输出的结果是：1 2 
#include <iostream> 
static int c; 
int d; 
int e = 2; 
extern  int h; 
extern "c" 
int main() { 
static int g; 
int a = 1; 
int b = 2; 
int x; 
int y; 
x = a, b; 
y = (a, b); 
std::cout << x << y; 
} 

7、 增加计算机的RAM为什么会提高性能？C 
A. 增加了虚拟内存 
B. 更大的RAM本身速度更快 
C. 减少了缺页中断 
D. 减少了段错误 
8、 使用记录型信号量协调6个进程对3个同类临界资源的访问，下列哪个信号量值不应该出现:D 
A. -1 
B. 0 
C. -2 
D. -4 
9、 下面是用 c 语言编写的对不带头结点的单链表进行就地逆置的算法，该算法用 L 返回逆 置后的链表的头指针，试在空缺处填入适当的语句： 
void reverse（linklist &L）{ p=null；q=L； while（q！=null） { (1)_____ ; q->next=p； p=q； (2)___ ; } (3)_____; } 

10、锁的底层实现 
11、 调用read（socketfd，buffer，n）时，返回0的情况： 
12、extern 的用法，声明变量 extern c的用法 

------------------------------------------------------------------------
20210507雷火二面 
1、问mgondb与mysql的不同：分布式、基于key-value； 
2、mysql的优化； 
3、redo log和undo log的区别 
4、如果查询很慢，怎么实时的查询那些语句慢（查询慢日志属于事后分析）；show full processlist \G+开启查询日志 
5、static的用法和意义 
6、从源文件到可执行文件的过程，静态链接和动态链接的区别，一个函数只有声明没有实现而且被调用，会在那个阶段报错——链接 
7、 手撕单例模式，保证线程安全——饿汉模式或者懒汉双重锁 
8、MySQL二进制日志保存了什么信息？ 

------------------------------------------------------------------------
20210508雷火三面 
1、自我介绍 
2、介绍项目，问项目中的技术点，怎么处理的； 
3、大文件传输有没有考虑到大文件分成小的文件进行传输——参看HTTP2.0的二进制分帧； 
4、虚函数怎么使用的，怎么实现的？ 
5、java中实现多态的方式？ 
6、如果让你实现多态，你怎么做？ 
7、结构体的内存对齐？为什么需要内存对齐，怎么内存对齐的？ 
8、在成员函数中delete this指针会发生什么？ 
9、map的底层实现？为什么使用红黑树？为什么不使用AVL树而使用红黑树？ 
10、time_wait是什么？项目中你怎么处理的？如果使用reusedaddr之后会有什么问题？ 
11、如果程序崩溃的话，怎么使用GDB调试？ 

---------------------------------------------------------------------------
20210511雷火hr面5-10分钟 
1、请问什么时候可以开始实习？ 
2、老师让实习吗？ 
3、未来职业规划？ 
4、有没有投其它公司，如果让你选择的话，会选择去哪里？
