自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 C++秋招(暑期实习)准备---10--- 项目2 WebServer

基础知识:1:浅谈同步与异步:同步就是一个进程在执行某个请求时候,若该请求需要一段时间才能返回信息,那么这个进程就会一直等待下去,知道收到返回信息才继续执行。异步就是进程不需要一直等待下去,而是继续执行下面的操作,不管其他进程的状态。当有消息返回时,系统会通知进程处理,这样可以提高效率。、同步I/O模型要求用户代码自行执行I/O操作(将数据从内核缓冲区读入用户缓冲区,或者相反)异步I/O模型则由内核来执行I/O操作,数据在内核缓冲区和用户缓冲区之间的移动是由内核在后台完成的。半同步/半异

2022-01-12 21:00:41 556 1

原创 C++秋招(暑期实习)准备---4--- OS

临界区:保证在某一时刻只有一个线程能访问数据的简便办法。在任意时刻只允许一个线程对共享资源进行访问。如果有多个线程试图同时访问临界区,那么 在有一个线程进入后其他所有试图访问此临界区的线程将被挂起,并一直持续到进入临界区的线程离开。临界区在被释放后,其他线程可以继续抢占,并以此达到用原子方式操作共享资源的目的。互斥量:互斥量跟临界区很相似,只有拥有互斥对象的线程才具有访问资源的权限,由于互斥对象只有一个,因此就决定了任何情况下此共享资源都不会同时被多个线程所访问。...

2021-12-28 15:50:32 639

原创 C++秋招(暑期实习)准备---7--- 项目1(CMU-15 445 2021 )

Hash Table ---数据库内部维护的数据结构问题1:如何对我们存放在内存或者磁盘中的page上的这些元素进行表示问题2:如何让多个线程或者多个查询去访问我们的数据结构Lab2:

2021-12-23 14:24:59 396

原创 C++秋招(暑期实习)准备---5--- 计算机网络

开放性回答思路1:DNS->正向代理->反向代理->.... 从缓存机制角度思考思路2:HTTP协议针对目标Web服务器生成HTTP请求报文message TCP协议将HTTP报文进行分割成segment,并在各个报文上打上标记序号及端口号后转发给网络层 IP协议增加dst IP地址,并将报文段分装成packet传送,转发给链路层frame 接收端 相似2:浅谈UDP和TCP的区别TCP需要一对一稳定的连接,UDP..

2021-12-16 15:34:48 897

原创 C++秋招(暑期实习)准备---3--- C++ 进阶知识

1. 谈谈vector的实现原理 vector底层是一个动态数组,包含三个迭代器,分别指向元素起始位置、元素末尾、空间末尾 当空间不够装下数据时,会自动申请另一片更大的空间(1.5倍或2倍),然后把原来的数据拷贝到新的内存空间,然后释放原来的空间。 当释放或者删除里面的元素时,其存储空间不释放,仅仅清空里面的数据。 对vector的任何操作一旦引起了空间的重新配置,指向原来的vector的所有迭代器失效。2. 谈一谈vector中的...

2021-11-18 14:46:26 554

原创 C++秋招(暑期实习)准备---2--- C++基础知识

1.11 说说volatile和mutable mutable:mutable是为了突破const的限制设置的。被mutable修饰的变量,将永远处于可变的状态,即使在const函数里面。 经典应用场景:测试一个方法被调用的次数 volatile:在多线程下,当两个线程都要用到某个变量且该变量的值回被改变时,应该用volatile声明,该关键字的作用是防止优化编译器把变量从内存装入CPU寄存器中。如果内存被装入寄存器中,两个线程有可能一个使用内存中的变量,一个使用寄...

2021-11-07 14:49:25 664

原创 C++秋招(暑期实习)准备---1--- C++基础知识

1.1 int main(int argc, char ** argv)函数中,参数argc和argv分别代表什么意思?argc是argument count 的缩写,表示传入main函数的参数个数argv是argument vector 的缩写,表示传入main函数的字符串数组指针1.2简述C++有几种传值方式,之间的区别是什么?传值:形参发生改变,实参不会发生改变传地址:指针传递是指针变量传递引用,指针传递中的形参和实参指向同一对象。传引用: 形参发生改变,实参也发生改变1.

2021-11-03 18:38:31 497

原创 C++智能指针

1 智能指针是什么?智能指针的原理a smart pointer is a class template that you declare on the stack, and initialize by using a raw pointer that points to a heap-allocated object. After the smart pointer is initialized, it owns the raw pointer. This means that the smart p

2021-10-26 16:40:32 138

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除