C++primer
N1314N
有志者事竟成
展开
-
HR常问到的TopK问题解决办法
面试过程中,经常会遇到面试官问你,给你40亿个数,找出其中最大的100个数。解决Top K问题有两种思路:1.最直观:小顶堆(大顶堆 -> 最小100个数)维护一个100个数的小根堆,从101个数开始,每次与堆顶元素相比,如果比堆顶元素大,就将堆顶元素替换掉,然后重新调整堆,这样可以每次比较将堆中最小的元素淘汰掉,遍历完40亿个数后,堆中存在的100个数即为40亿中最大的100个...原创 2019-06-05 19:49:46 · 326 阅读 · 0 评论 -
socket网络编程流程,TCP三次握手发生在哪一步?
tcp三次握手的过程,accept发生在三次握手哪个阶段?第一次握手:客户端发送syn包(syn=j)到服务器。 第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个ASK包(ask=k)。 第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1)。 三次握手完成后,客户端和服务器就建立了tcp连接。这时可以调用acc...原创 2019-06-05 20:08:18 · 1498 阅读 · 0 评论 -
HTTP中post和get的区别以及适合使用的场景
区别: 首先post和get是http请求的两种基本的方法: 1、GET将函数包含在URL中,POST通过request body传递参数 2、两者最大的区别是:get产生一个TCP数据包,post产生两个TCP数据包但是,post和get本质上都是TCP连接,并无区别。使用场合:GET:获取资源get方法用来请求访问以被URL识别的资源POST:传输实体主体...原创 2019-06-05 20:36:03 · 1674 阅读 · 0 评论 -
HTTP 2.0与HTTP 1.1区别(面试版)
HTTP 2.0与HTTP 1.1区别1、什么是HTTP 2.0HTTP/2(超文本传输协议第2版,最初命名为HTTP 2.0),是HTTP协议的的第二个主要版本,使用于万维网。HTTP/2是HTTP协议自1999年HTTP 1.1发布后的首个更新,主要基于SPDY协议(是Google开发的基于TCP的应用层协议,用以最小化网络延迟,提升网络速度,优化用户的网络使用体验)。2、与HT...原创 2019-06-08 11:03:28 · 2428 阅读 · 0 评论 -
请你来说一下C++中struct和class的区别
在C++中,可以用struct和class定义类,都可以继承。区别在于:structural的默认继承权限和默认访问权限是public,而class的默认继承权限和默认访问权限是private。另外,class还可以定义模板类形参,比如template <class T, int i>。...原创 2019-06-21 14:25:02 · 735 阅读 · 0 评论 -
请你回答一下什么是右值引用,跟左值又有什么区别?
参考回答:右值引用是C++11中引入的新特性 , 它实现了转移语义和精确传递。它的主要目的有两个方面:1. 消除两个对象交互时不必要的对象拷贝,节省运算存储资源,提高效率。2. 能够更简洁明确地定义泛型函数。3. 左值和右值的概念:左值:能对表达式取地址、或具名对象/变量。一般指表达式结束后依然存在的持久对象。右值:不能对表达式取地址,或匿名对象。一般指表达式结束就不再存在的临时对...原创 2019-06-21 14:26:17 · 1132 阅读 · 0 评论