![](https://img-blog.csdnimg.cn/20190918140145169.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
秋招总结
秋招的一些知识点
smile_sa
菜鸡OS轮子爱好者
展开
-
socket api阻塞情况分析
connect:激发三次握手,仅在连接成功或出错时才返回。有四种结果。没收到响应会触发超时错误;收到RST触发硬错误;路由不可达错误;成功。listen:把一个未连接的套接字转换成一个被动套接字,指示内核应接受指向该套接字的连接请求。不存在阻塞。accept:由tcp服务器调用,用于从已完成连接队列头返回下一个已完成队列。如果已完成队列为空,进程被投入睡眠。(默认阻塞,可以强行设置为阻塞)close:把改套接字标记成已关闭,然后立即返回到调用进程,立即返回表明是非阻塞的。这里只是把相应描述符的引用计.原创 2020-09-08 09:39:17 · 235 阅读 · 0 评论 -
设计模式学习
基本原理设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。分类主要分为三类:创建型模式这些设计模式提供了一种在创建对象的同时隐藏创建逻辑的方式,而不是使用 new 运算符直接实例化对象。这使得程序在判断针对某个给定实例需要创...原创 2019-12-27 09:10:52 · 90 阅读 · 0 评论 -
TCP/UDP学习
1、运输层是端对端(应用进程)之间的通信。2、TCP和UDP的区别1)TCP是全双工的可靠信道。UDP尽最大努力交付,是不可靠信道。2)UDP开销小,效率比较高。3)TCP提供面向连接的服务,UDP传输数据之前不需要建立连接。4)UDP没有拥塞控制。TCP面向字节流,根据对方给的窗口值和拥塞程度决定报文字节。3、端口:标志计算机应用层中各进程在和运输层交互的层间接口。4、停止等待:每...原创 2019-12-25 10:39:34 · 171 阅读 · 0 评论 -
一些代码模板
快排很简单,partion把小于数组第一个元素放在左边,大于的放在右边。再通过递归对左右两边的元素做调整,即nlog(n).#include <iostream>#include <map>#include <vector>using namespace std;int Partition(vector<int> &nums, int begin, int end) { if (begin >= end ||原创 2020-08-03 16:37:39 · 213 阅读 · 0 评论 -
OJ中不给定输入数量的处理方式
1、计算一系列数的和输入数据有多组, 每行表示一组输入数据。每行不定有n个整数,空格隔开。(1 <= n <= 100)。示例:1 2 34 50 0 0 0 0代码:int main(){ string line; while (getline(cin, line)) { stringstream ss(line); int sum = 0, num = 0; while (ss >> num)原创 2020-08-02 16:07:39 · 862 阅读 · 0 评论 -
分布式知识点
1、CAP 定理一致性(Consistence) :所有节点访问同一份最新的数据副本可用性(Availability):每次请求都能获取到非错的响应——但是不保证获取的数据为最新数据分区容错性(Partition tolerance) : 分布式系统在遇到某节点或网络分区故障的时候,仍然能够对外提供满足一致性和可用性的服务。2、BASE 理论BASE理论是对CAP中一致性和可用性...原创 2020-03-13 16:44:48 · 298 阅读 · 0 评论 -
数据库知识点
一、左连接、右连接、内连接区别:左连接:左表不受限制和右表中连接字段相等的字段右连接:右边不受限制和左表连接字段相等的字段inner join(内连接或等值连接):只返回两个表相等的字段full join(全外连接):返回左右表的全部字段和两个表相等的字段二、聚簇索引和非聚簇索引:聚簇索引:将数据存储与索引放到了一块,索引结构的叶子节点保存了行数据 。非聚簇索引:将数据与索引分开存储...原创 2020-02-21 17:20:36 · 285 阅读 · 0 评论 -
操作系统知识点
一、进程调度几种方式1、先来先服务2、基于优先级调度:抢占/非抢占3、基于时间片调度,多级反馈队列调度算法4、短作业(进程)优先调度算法参考...原创 2020-02-21 11:41:28 · 824 阅读 · 0 评论 -
计算机网络知识点
一、select poll epoll区别select本质上是通过设置或者检查存放fd标志位的数据结构来进行下一步处理。这样所带来的缺点是:1、 单个进程可监视的fd数量被限制,即能监听端口的大小有限。2、 对socket进行扫描时是线性扫描,即采用轮询的方法,效率较低当套接字比较多的时候,每次select()都要通过遍历FD_SETSIZE个Socket来完成调度,不管哪个Socket是...原创 2020-02-20 12:49:39 · 2865 阅读 · 0 评论 -
面经中的算法题总结
1、题目:有两个序列a,b,大小都为n,序列元素的值任意整数,无序;要求:通过交换a,b中的元素,使[序列a元素的和]与[序列b元素的和]之间的差最小。例如: var a = [100,99,98,1,2, 3],b = [1, 2, 3, 4,5,40];思路:当前数组a和数组b的和之差为: A = sum(a) - sum(b),a的第i个元素和b的第j个元素交换后,a和b的和之差为...原创 2020-02-19 19:39:50 · 871 阅读 · 0 评论 -
c++和数据结构
1、左连接、右连接、内连接区别:左连接:左表不受限制和右表中连接字段相等的字段右连接:右边不受限制和左表连接字段相等的字段inner join(内连接或等值连接):只返回两个表相等的字段full join(全外连接):返回左右表的全部字段和两个表相等的字段2、聚簇索引和非聚簇索引:聚簇索引:将数据存储与索引放到了一块,索引结构的叶子节点保存了行数据 。非聚簇索引:将数据与索引分开存储...原创 2020-01-07 14:29:41 · 1548 阅读 · 0 评论