腾讯电话一面(32min)问得都是有关Linux下的网络编程和系统编程问题,范围很广但是不深,不难回答。
1 select,poll,epoll的区别;2 进程通信的IPC种类;3 有名管道和无名管道的区别;4 进程和线程的区别; 5 线程的私有栈空间;6 简述TCP通信中服务端和客户端的API;7 TCP中的三路握手;8 C语言中的static修饰符;9 进程间如何传递文件描述符;10 进程的虚拟地址空间布局; 11 内核是如何实现创建线程和进程的;12 问了两个项目的具体实现。
腾讯视频二面(65min)
1 sizeof一个空类是多少,含有普通成员函数呢,含有虚函数呢,含有static函数或者static变量呢; 2 用宏F(a,b)实现两数的平方和,F(a++,a++)等于多少;3 内联函数和宏指令有什么区别;4 为什么在公有继承链中基类的析构函数要被声明成虚函数,一个不被继承的类析构函数被声明成虚函数好不好;5 给一个能随机产生1到10000的函数,如何能让它产生随机1到7000;6 fork之后父进程和子进程的栈变量是私有还是公有,堆变量呢,全局变量呢,常量呢,static 变量呢;7 用mmap将共享内存映射到进程的虚拟地址空间时有没有分配物理内存,什么时候才真正分配物理内存给共享变量;8 服务端在调用listen之后调用sleep,客户端connect之后会返回错误吗;9 服务端一直阻塞着(调用sleep),客户端调用send会返回错误吗; 10 说说TCP的拥塞控制和流量控制;11 extern "C"的作用;12 快速排序;13 反转字符串中的单词,空间复杂度O(1)。
HR面试 (30min) 三观正常就好.