C++八股

前言 经过了许久的实习,暑期加秋招也面了五六十场了,基本上都是有名的大中厂,面过腾讯,字节,阿里控股,淘天,高德,蚂Ř

谈薪时要了解的信息

谈薪的时候需要了解哪些信息 五险一金 暂时先讲讲五险一金,这个非常重要,因为需要计算&

智能指针

前言 现代C++中,涉及的智能指针主要有:unique_ptr, shared_ptr, weak_ptr三个,智能指针并非线程安全的,需要额外的互斥手段。 unique_ptr 这是独占指针,有以下特性: 两个指针不能指向同一资源 无法进行拷贝赋值与拷贝构造,只有移动赋值和移动构造 离开作用域自动

进程通信方式

管道 匿名管道:在Linux中,使用|来建立一个管道,实质上是创建了两个进程,将左边的输出发送给右边 命名管道:通过mkfifo来创建 mkfifo mypi echo "hello" > mypi # 将数据写入管道,会阻塞直至为空 cat < mypi # 读取管道数据 也可以使用系统调用

同步技术

线程同步技术 可以参考线程同步技术 进程同步技术 进程间同步技术常常利用锁和信号量来解决,而锁页分为悲观锁和乐观锁。 悲观锁:先加锁再操作临界区,适用于冲突概率高的情况 乐观锁:先操作临界区,再检查是否发生了冲突,发生冲突就需要回溯,只适用于冲突概率极低的情况,因为回溯的成本是巨大的 通过pthre

进线程调度算法

进程 进程的状态 PS:图片来源于:小林coding 创建状态(new):进程正在被创建的状态 结束状态(exit):进程退出的状态 运行状态(running):此时进程正在CPU中运行 就绪状态(ready):可运行状态,但是未运行状态,等待CPU时间 阻塞状态(blocked):等待事件的状态,

多态

前言 C++多态分为运行时多态和编译时多态,编译时多态的实现主要是模板,重载等,运行时多态就是使用虚函数来实现的 运行时多态 虚函数的底层实现原理是依托于虚函数指针和虚函数表实现的,虚函数指针也是一个成员变量,是编译器自动生成的,存在于实例对象的最前面位置。 虚函数指针工作原理 虚函数指针是一个成员

物理内存管理

前言 内核不仅需要管理虚拟内存,还需要管理具体的物理内存。 先简单介绍一下两个概念,一致性内存访问(Uniform Memory Access, UMA)和非一致性内存访问(Non-uniform Memory Access),前者表示同一个CPU对所有内存访问速度一致,后者则表示不一致。CPU通过

HTTP

前言 超文本传输协议(HyperText Transfer Protocol,HTTP)是一种应用层协议,经历了三个比较重要的版本,http/1.0,http/1.1,http/2.0 三个常用版本 除此之外,还加入了一个http/3.0版本 | HTTP 1.0 | HTTP 1.1 | HTTP