腾讯 C++后台开发面经
腾讯 C++后台开发
面经
Linux
Linux进程调度算法
Linux进程地址空间分布
Linux内存管理方法,页面置换算法,逻辑地址和物理地址的转换
在一台内存为2G的机器上,malloc(20G)会怎么样?new 20G呢?
进程和线程的区别,进程间通信方式
解释孤儿进程,僵死进程,惊群效应
IO模型,Select、Epoll和Poll的区别
ET和LT的区别,需要注意什么计算机网络
TCP三次握手四次挥手状态图,对应的POSIX API,为什么要三次握手,两次可以吗?
TIME_WAIT的作用
TCP和UDP区别,TCP如何保证可靠性,对方是否存活(心跳检测)
流量控制,拥塞控制
SYN Flood攻击
HTTP状态码
Libevent如何处理IO事件,信号事件,和定时事件数据结构
布隆过滤器
智能指针
hash表解决冲突的方法
红黑树性质
redis中的数据结构
跳表插入删除过程编程题:
判断大小端,int的大端转小端
去掉字符串开头和末尾的空格
大数相加
最长公共子序列LCS
最小编辑距离
二叉树中两个节点的最近公共父节点
数据流的中位数其他
虚函数的实现原理,子类构造析构函数的调用顺序
STL中Vector、List和Map底层实现原理
inline的作用
struct和union的区别,字节对齐
C++11新特性
B树和B+树的区别,ACID, 索引种类,explain关键字
智力题 楼层丢鸡蛋
学习资料:
- 经典书籍:《深入理解计算机系统》《现代操作系统》《Linux内核设计与实现》《计算机网络》《TCP/IP详解》《UNIX高级环境编程》《UNIX网络编程 卷1》《UNIX网络编程 卷2》《STL源码剖析》《Effective Effective C++/STL》《Redis设计与实现》
- 编程类:《程序设计竞赛1》
- 优秀开源代码:Libevent,LevelDB,Redis,Protobuf,Mysql,Brpc,RapidJson,Muduo
- 最后的最后,希望大家都能起开得胜,找到自己满意的工作。自己的项目是一个HTTP Web服务器。
Github: https://github.com/stepByStepToSky/Web-Server