1、TCP三次握手、四次挥手
TCP三次握手、四次挥手过程详解
2、平衡二叉树、完全二叉树等
平衡二叉树
它或者是一颗空树,或它的左子树和右子树的深度之差(平衡因子)的绝对值不超过1,且它的左子树和右子树都是一颗平衡二叉树。
完全二叉树
若设二叉树的深度为k,除第 k 层外,其它各层 (1~k-1) 的结点数都达到最大个数,第k 层所有的结点都连续集中在最左边,这就是完全二叉树。
3、原码、反码、补码
原码, 反码, 补码的基础概念和计算方法.
原码:
原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值.
反码:
正数的反码是其本身
负数的反码是在其原码的基础上, 符号位不变,其余各个位取反.
补码:
正数的补码就是其本身
负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1.
4、设计模式类别
创建型、结构型、行为型
设计模式总结之模式分类
5、深拷贝、浅拷贝
浅拷贝只复制指向某个对象的指针,而不复制对象本身,新旧对象还是共享同一块内存。但深拷贝会另外创造一个一模一样的对象,新对象跟原对象不共享内存,修改新对象不会改到原对象。
知乎
6、变量所在的内存区域
C/C++程序内存的各种变量存储区域和各个区域详解
7、TCP协议中的TIME_WAIT
TCP协议中的TIME_WAIT详细说明
好像不能自己设置大小
8、快速排序
该方法的基本思想是:
先从数列中取出一个数作为基准数。
分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边。
再对左右区间重复第二步,直到各区间只有一个数。
快速排序法(详解
9、进程间的通讯方式
进程间通讯的7种方式
10、stack和heap
堆(heap)与栈(stack)的区别
注意一下申请大小的限制:
堆:
堆获得的空间比较灵活,也比较大。
栈:
在windows下,栈是向低地址扩展的数据结构,是一块连续的内存的区域,这句话的意思是栈顶的地址和栈的最大容量是系统预先规定好的,在windows下,栈的大小是2MB,如果申请的空间超过栈的剩余空间,将提示overflow,因此,能从栈获得的空间比较小
11、Unicode和UTF-8
博客园
12、HTTP响应状态码
200 - 请求成功
301 - 资源(网页等)被永久转移到其它URL
404 - 请求的资源(网页等)不存在
500 - 内部服务器错误
菜鸟