面试题整理
文章平均质量分 71
Rock_N_Roll_
想成为一个摇滚文艺码农
展开
-
面试题总结之TCP报头
前言听说你熟悉TCP/IP协议,请讲下TCP的报头。解答TCP报文一般有20个字节。 1.16位的源端口号加上16位的目的端口号,这两个值加上IP首部中的源端IP地址和目的端IP地址,用于多路复用或多路分解来自或送至上层应用的数据。 2. 32位的序列号,其用来标识从TCP发送方向TCP接收端发送的数据字节流,它表示该报文段首字节的字节流编号。 3. 32位的确认序号标识发送确认一段所期望收到原创 2017-08-19 23:44:15 · 887 阅读 · 0 评论 -
面试题总结之程序编译过程
前言请讲一下linux如何源文件逐步编译成可执行文件。解答首先先上图对编译的整个过程有个感性的认识,然后再逐步分析各个过程。 以hello.c 程序为例# include <stdio.h>main{ printf("hello\n");}一个.c源程序需要经过预处理器生成.i文件,再经过编译器生成.s文件,再经过汇编器生成可重定位目标文件.o文件,再与其他.o文件经过链接器生成最终的原创 2017-08-19 23:59:47 · 4109 阅读 · 0 评论 -
面试题总结之快速排序
前言你说你熟悉常用的数据结构和算法,谈谈快速排序算法吧。解答首先先给出快速排序的基本思想: (1)先从数列中选择一个数作为基准数 (2)将序列分成两个区间,小于步骤(1)基准数的放在左区间,大于基准数的放在右区间。 (3)对步骤(2)分出的左右区间重复第二步,直到各区间只有一个数。(递归)代码如下:class QuickSort {public: int* quickSort(int原创 2017-08-20 10:19:04 · 10027 阅读 · 0 评论 -
面试题总结之windows/linux内存管理
前言请说说你对windows/linux内存管理的认识解答内存管理的必要性出现在早期的计算机系统当中,程序是直接运行在物理内存中,每一个程序都能直接访问物理地址。如果这个系统只运行一个程序的话,并且这个程序所需的内存不要超过该机器的物理内存就不会出现问题。但是如今的系统都是支持多任务和多进程的,那么这时我们就要考虑如何将系统内有限的物理内存及时有效的分配给多个程序了,这就是内存管理的基本概念。顾名思原创 2017-08-20 23:09:48 · 5319 阅读 · 0 评论 -
面试总结之守护进程,僵尸进程和孤儿进程
前言请说说你对守护进程,僵尸进程和孤儿进程的理解解答孤儿进程与僵尸进程:在linux当中,子进程是由父进程创建的,子进程再创建新的进程。子进程的结束和父进程的运行是一个异步的过程,即父进程永远无法预测子进程到底什么时候结束。unix系统提供了一种机制可以让父进程获得子进程结束时的状态信息,也就是说在每个进程退出的时候,内核释放该进程所有的资源,包括打开的文件,占用的内存,但是仍然为其保留一定的信息,原创 2017-08-26 19:54:21 · 3097 阅读 · 1 评论 -
树中两个节点最低公共祖先系列算法
前言最近刷到剑指offer 50题,树中两个结点的公共祖先,感觉这类题目对于不同性质的树会有不同的解法,而且也比较综合,在此就总结一下这类型的题目。树为二叉搜索树二叉搜索树的概念只要大家学过数据结构应该都是清楚的,也就是排序过的树。对于树上的每一个结点,其左子树的结点都小于父结点,其右子树的结点都大于父结点。那么我们解这道题的基本思想如下:1)从根结点开始遍历,让其分别和输入的两个结点做比较。 2原创 2017-09-05 10:16:24 · 559 阅读 · 0 评论 -
面试总结之time_wait状态产生的原因,危害,如何避免
前言请说说你对TCP连接中time_wait状态的理解解答:先上TCP的状态变迁图1. time_wait状态如何产生? 由上面的变迁图,首先调用close()发起主动关闭的一方,在发送最后一个ACK之后会进入time_wait的状态,也就说该发送方会保持2MSL时间之后才会回到初始状态。MSL值得是数据包在网络中的最大生存时间。产生这种结果使得这个TCP连接在2MSL连接等待期间,定义这个连接的原创 2017-08-23 19:54:15 · 67039 阅读 · 6 评论 -
面试总结之select和epoll
前言是否用过 select、epoll,什么是IO多路复用,epoll 水平触发和边缘触发。解答IO多路复用IO多路复用是进程一种预先告知内核的能力,使得内核一旦发现进程指定的一个或多个IO条件就绪,它就通知进程。IO复用应用的场合:(1)当客户处理多个描述字时(一般是交互式输入和网络套接口),必须使用I/O复用。(2)当一个客户同时处理多个套接口时,而这种情况是可能的,但很少出现。(3)如果一个T原创 2017-08-21 12:12:16 · 3142 阅读 · 3 评论 -
面试总结之拥塞控制与流量控制
前言:拥塞控制和流量控制分别是什么概念?流量控制的过程,分别解决什么问题?解答:首先需要明确这两个概念从手段上都是通过遏制发送方,但使用它们其实是出于不同的目的。流量控制应用在如下场景:一条TCP连接的双方主机都为该连接设置了接收缓存。当该TCP连接收到正确按序的字节后,它就将数据放入接受缓存。相关联的应用进程会从该缓存中读取数据,但不一定是立即去读数据,可能现在接收方应用正在忙于其他的服务。那么如原创 2017-09-02 11:13:54 · 1640 阅读 · 0 评论