#C/C++_面经总结
文章平均质量分 81
含C/C++基础,操作系统,计算机网络等,面经集合。更新中-
驴驴l
大三,后端C/C++方向。
展开
-
计算机网络(8) ——url-页面过程、DNS寻址、劫持专题
计算机网络(8) ——DNS寻址、劫持专题文章目录计算机网络(8) ——DNS寻址、劫持专题1.DNS寻址过程?2.DNS劫持2.1什么是DNS劫持3.1DNS挟持的方法计算机网络(8) ——DNS寻址、劫持专题1.DNS寻址过程?就是通过域名,在DNS服务器中查找到对应ip,最终发送给服务器去请求。①根据URL域名在浏览器自身缓存中查找对应ip;②否则,在本地host文件查找;③否则,在本地DNS解析器缓存中查找;④否则,在本地DNS服务器查找;⑤否则,在DNS公网上查询有效ip。.原创 2022-05-31 14:15:12 · 501 阅读 · 1 评论 -
计算机网络(7) ——惊群现象
计算机网络(7) ——惊群现象文章目录计算机网络(7) ——惊群现象1.什么是惊群2.accept()惊群3.epoll惊群4.解决思路计算机网络(7) ——惊群现象1.什么是惊群举一个很简单的例子,当你往一群鸽子中间扔一块食物,虽然最终只有一个鸽子抢到食物,但所有鸽子都会被惊动来争夺,没有抢到食物的鸽子只好回去继续睡觉,等待下一块食物到来。这样,每扔一块食物,都会惊动所有的鸽子,即为惊群。对于操作系统来说,多个进程/线程在等待同一资源时,也会产生类似的效果,其结果就是每当资源可用,所有的.原创 2022-05-29 22:05:01 · 432 阅读 · 0 评论 -
计算机网络(6) ——同步IO/异步IO专题
计算机网络(6) ——同步IO/异步IO专题文章目录理解性记忆计算机网络(6) ——同步IO/异步IO专题1.同步IO2.异步IO理解性记忆计算机网络(6) ——同步IO/异步IO专题1.同步IO在一个线程中,一旦遇到IO操作,如读写文件、发送网络数据等,就需要等待IO操作完成,完成后才能继续进行下一步操作。这种情况称为同步IO。那么问题来了。如果只有这一个线程,且它正在IO阻塞中ing,那么其他位置的代码就无法执行了。所以我们首先的解决方案就是:引入多线程!让其他的线程去执行别处的代.原创 2022-05-29 21:38:44 · 841 阅读 · 0 评论 -
计算机网络(5) ——OSI七层、TCP/IP四层模型专题
计算机网络(5) ——OSI七层、TCP/IP四层模型专题文章目录计算机网络(5) ——OSI七层、TCP/IP四层模型专题1.OSI七层模型2.TCP/IP四层模型计算机网络(5) ——OSI七层、TCP/IP四层模型专题先借一张图:1.OSI七层模型(1)物理层(在四层模型里面已经合并到了数据链路层)建立、维护、断开物理连接。(由底层网络定义协议)机械、电子、定时接口通信信道上的原始比特流传输。(2)数据链路层进行硬件地址寻址、差错校验 [3] 等功能。(由底层网络定义协议)协.原创 2022-05-29 15:18:52 · 141 阅读 · 0 评论 -
计算机网络(4) ——零拷贝专题
计算机网络(4) ——零拷贝专题文章目录计算机网络(4) ——零拷贝专题1.内核空间和用户空间2.进程上下文切换3.缓存IO(1)mmap+write实现拷贝(2)sendfile实现零拷贝4.IO复用模拟计算机网络(4) ——零拷贝专题1.内核空间和用户空间虚拟内存被操作系统划分成两块:内核空间和用户空间,内核空间是内核代码运行的地方,用户空间是用户程序代码运行的地方。当进程运行在内核空间时就处于内核态,当进程运行在用户空间时就处于用户态。划分原因:内核与业务解耦。内核空间的代码主要管理.原创 2022-05-29 14:44:59 · 102 阅读 · 0 评论 -
数据库(2) ——事务
事务管理(ACID)①原子性(Atomicity)原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。②一致性(Consistency)事务发生前后在整体上必须保持逻辑一致性。③隔离性(Isolation)事务是独立单位,不能被其他事务的操作数据所干扰,多个并发事务之间要相互隔离。④持久性(Durability)持久性是指一个事务一旦被提交,它对数据库中数据的改变就是永久性的。...原创 2022-05-26 22:48:45 · 110 阅读 · 0 评论 -
计算机网络(3)
计算机网络(3)文章目录计算机网络(3)34.UDP是不可靠传输,为什么还有很多人在用(UDP的优点)?UDP的使用场景有哪些?35 DNS寻址过程?计算机网络(3)34.UDP是不可靠传输,为什么还有很多人在用(UDP的优点)?UDP的使用场景有哪些?我们知道TCP就是为了解决IP层不可靠的传输层协议,既然UDP是不可靠的,为什么不直接使用IP协议而要额外增加一个UDP协议呢?①一个重要的原因是IP协议中并没有端口(port)的概念。IP协议进行的是IP地址到IP地址的传输,这意味者两台计算.原创 2022-05-26 22:46:49 · 90 阅读 · 0 评论 -
空白区学习
空白区学习文章目录空白区学习1.服务器中Time-Wait状态过多,原因?如何解决?2.HTTP 2.0多路复用 原理?3.二叉树持久化存储(序列化和反序列化)4.Undolog、redolog、bin log执行顺序5.同源策略?跨域?如何解决跨域?6.面向对象、面向过程区别?7.《Redis系列》7.1 什么是Redis?7.2分布式锁?7.3 redis为什么快?7.4缓存雪崩?7.5缓存穿透?7.6缓存一致性?待更新--空白区学习1.服务器中Time-Wait状态过多,原因?如何解决?原.原创 2022-05-26 22:45:57 · 168 阅读 · 0 评论 -
数据库(1) ——SQL & 索引
数据库(1) ——SQL & 索引文章目录数据库(1) ——SQL & 索引1.介绍一下SQL中的聚合函数2.表跟表是怎么关联的?2.1内连接:2.2外连接:3.谈谈你对SQL注入的理解4.WHERE和HAVING有什么区别?4.1 WHERE4.2 HAVING5.说一说你对MySQL索引的理解5.1理解5.2索引优点5.3索引缺点6.主键索引与唯一索引的区别?7.索引有哪几种?8.MySQL怎么判断要不要加索引?/所有字段都适合创建索引吗?9.只要创建了索引,就一定会走索引吗?10.原创 2022-05-25 21:52:55 · 155 阅读 · 0 评论 -
C/C++(5) ——STL基础篇(一)
C/C++(5) ——STL基础篇(一)文章目录C/C++(5) ——STL基础篇(一)1.请你讲讲STL有什么基本组成2.说说STL中map/hashtable/unordered_map、deque、list的实现原理2.1 map实现原理2.2 hashtable/unordered_map(也称散列表,直译作哈希表)实现原理2.3 deque实现原理2.4 list实现原理3.STL 容器用过哪些,查找的时间复杂度是多少,为什么?3.1 vector3.2 deque3.3 list3.4 m.原创 2022-05-23 16:24:51 · 242 阅读 · 0 评论 -
C/C++(4) ——C++内存
C/C++(4) ——C++内存文章目录C/C++(4) ——C++内存1.简述C++的内存管理1.1内存分配方式:1.2常见的内存错误及其对策:2.程序有哪些section,分别的作用?C/C++(4) ——C++内存1.简述C++的内存管理参考回答1.1内存分配方式:在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。栈,在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。堆,就是那些由new分配的内存块,.原创 2022-05-23 15:45:55 · 213 阅读 · 0 评论 -
C/C++(3) ——基本语言(三)
C/C++(3) ——基本语言(三)文章目录C/C++(3) ——基本语言(三)n.Lambda表达式参数捕获C/C++(3) ——基本语言(三)n.Lambda表达式参数捕获类型作用[val]以值传递的方式捕获变量val[=]表示值传递方式捕获所有父作用域的变量(包括this)[&var]表示引用传递捕捉变量var[&]表示引用传递方式捕捉所有父作用域的变量(包括this)[=, &][=,&a,&b.原创 2022-05-22 21:31:00 · 233 阅读 · 1 评论 -
智能指针篇 ——复刻
智能指针篇 ——复刻文章目录智能指针篇 ——复刻1.myunique -unique_ptr智能指针篇 ——复刻1.myunique -unique_ptr//复刻unique_ptr //功能: //删除拷贝构造和等号运算符构造, //构造,析构, //右值拷贝构造和右值等号运算符构造,relese(),reset(), //get(),*,->, //获取删除器类型,交换指针 //[](选) template<typename _Ty> class De.原创 2022-05-19 21:13:51 · 81 阅读 · 0 评论 -
C/C++(2) ——基本语言(二)
C/C++(2) ——基本语言(二)文章目录C/C++(2) ——基本语言(二)10.为什么析构函数必须是虚函数?为什么C++默认的析构函数不是虚函数?11.请你来说一下C++中析构函数的作用12.请你来说一下静态函数和虚函数的区别13.请你来说一说多态性13.1静态多态13.2动态多态14.你理解的虚函数和多态?15.请你说一说strcpy和strlen16.++i和i++的实现17.如何在只修改一个字符的前提下,使代码输出20个hello?18.以下四行代码的区别是什么?19.C++里是怎么定义常.原创 2022-05-19 15:36:39 · 140 阅读 · 0 评论 -
C/C++(1) ——基本语言(一)
C/C++(1) ——基本语言(一)文章目录C/C++(1) ——基本语言(一)1.static关键字的作用2.C++和C的区别3.C++中四种cast转换3.1 const_cast3.2 static_cast3.3 dynamic_cast3.4 reinterpret_cast万能转化4.C/C++ 中指针和引用的区别?5.三角形,思路+手撕6.讲讲C++智能指针6.1 auto_ptr(c++98的方案,cpp11已经抛弃)6.2 unique_ptr(替换auto_ptr)6.3 sh.原创 2022-05-19 14:10:16 · 242 阅读 · 1 评论 -
操作系统(2)
操作系统(二)文章目录操作系统(二)17.进程、线程的中断切换的过程是怎样的?18.简述自旋锁和互斥锁的使用场景19.多线程和单线程有什么区别,多线程编程要注意什么,多线程加锁需要注意什么?20.说sleep和wait的区别?21.线程池?21.1设计思路21.2线程数量21.3为什么要创建线程池/作用21.4核心线程与普通线程22.简述Linux零拷贝的原理?23.讲讲select,epoll,LT,ET24.同步与异步,阻塞与非阻塞?25.说说IO模型的类型26.BIO、NIO有什么区别?27.s.原创 2022-05-17 16:51:01 · 271 阅读 · 0 评论 -
操作系统(1)
操作系统(1)文章目录操作系统(1)1.说说进程空间从高位到低位都有些什么?2.32位系统能访问4GB以上的内存吗?3.请你说说并发和并行4.说说进程、线程、协程是什么,区别是什么?5.说说Linux的fork?6.说说什么是孤儿进程,什么是僵尸进程,如何解决?7.说说什么是守护进程?8.进程间通信方式有哪些?9.说说进程同步和线程同步的方式?10.说说Linux进程调度算法及策略有哪些?11.说说进程有多少种状态?12.进程通信中的管道实现原理是什么?13.简述mmap的原理和使用场景14.说说常见.原创 2022-05-16 21:57:09 · 333 阅读 · 0 评论 -
计算机网络(2)
计算机网络(2)文章目录17.Http和Https的区别?18.加密与认证18.1讲讲对称加密与非对称加密?18.2讲讲HTTPS加密与认证过程?(字节问过..)19.TCP 的 TIME_WAIT知道吗?/简述什么是 MSL,为什么客户端要等待2MSL的时间才能完全关闭?20.说说什么是 SYN flood,如何防止这类攻击?(泛洪攻击)21.说说什么是 TCP 粘包和拆包?22.说说从系统层面上,UDP 如何保证尽量可靠?23.说一说 TCP 的 keepalive,以及和 HTTP 的 keep.原创 2022-05-15 15:30:04 · 468 阅读 · 0 评论 -
计算机网络(1)
计算机网络(1)1.简述静态路由和动态路由参考回答静态路由由管理员手动维护;动态路由由路由协议自动维护。①静态路由是由系统管理员设计与构建的路由表规定的路由。其缺点是不能动态地适用网络状况的变化,当网络状况变化后必须由网络管理员修改路由表。②动态路由是由路由选择协议而动态构建的,可以自动学习网络的拓朴结构,并更新路由表。2.说说有哪些路由协议参考回答两种主要算法:距离向量法(Distance Vector Routing)和链路状态算法(Link-State Routing)。基于距离向量法原创 2022-05-14 17:46:09 · 343 阅读 · 1 评论