八股文 八股deque std

c++ std::thread::joinable

# std::thread::joinable * 默认构造的thread对象 not joinable * join/detach之后 not joinable * 不能反复join/detach,会崩 * 当前线程会阻塞在join()调用处 * detach()不会阻塞当前线程,但是主进程结束后 ......
joinable thread std

std::optional 内存布局

对于`std::optional`对应的内存布局为 ```c++ struct optional_mem { int _M_payload; bool _M_engaged; }; ``` 可以通过[godbolt](https://godbolt.org "godbolt")通过pahole工具查 ......
布局 optional 内存 std

std::bind 详解

# bind bind 是C++ 的一个函数, 用来绑定其他函数,用来改造。 ## 1. 普通函数的bind 普通函数可以被绑定,传参。 ```cpp int add(int x, int y){ cout using std::bind; int main(){ auto f = bind(&ad ......
bind std

C++面试八股文:什么是空指针/野指针/悬垂指针?

# C++面试八股文:什么是空指针/野指针/悬垂指针? 某日二师兄参加XXX科技公司的C++工程师开发岗位第30面: > 面试官:什么是空指针? > 二师兄:一般我们将等于`0`/`NULL`/`nullptr`的指针称为空指针。空指针不能被解引用,但是可以对空指针取地址。 ``` int* p = ......
指针 八股文 八股

std::ofstream 写本地音频

最近线上 PK 偶然出现双方主播互相听不见声音的情况,在日志不能明确体现问题时,就需要抓下主播本地的音频和远端的音频来确定数据是在哪消失的 所以我们用到一个比较简单的流写出的标准库类:std::ofstream 通过 std::ofstream 类,可以创建一个用于写入文件的输出流对象,可以将数据写 ......
ofstream 音频 std

【八股文 01】const 关键字

# 1 const 含义 被它修饰的值不能改变,是只读变量。**必须在定义的时候就给它赋初值** # 2 const 作用 1、修饰变量,说明该变量不可以被改变 2、修饰指针,分为指向常量的指针(pointer to const)和自身是常量的指针(常量指针,const pointer)和前面两种的 ......
八股文 八股 关键字 关键 const

并行版的 std::accumulate

```C++ #include #include #include #include template struct accumulate_block { void operator()(Iterator first, Iterator last, T& result) { result = std ......
accumulate std

Java-多线程-八股文

线程安全的理解? ``` 线程安全说的是,当多个线程并发访问互斥资源时,读写互斥资源的代码逻辑能正常处理,获得正确结果,不会互相干扰的情况。 ``` 守护线程的理解? ``` 守护线程是与普通线程相区分的概念,用户一般使用的就是普通线程,普通线程有自身独立的生命周期,而守护线程的生命周期取决于普通线 ......
八股文 八股 线程 Java

Java-JVM-八股文

线程共享区 ![](https://img2023.cnblogs.com/blog/3090785/202306/3090785-20230628171602882-13131299.png) ``` 堆区与方法区是所有线程共享的 栈区:主要存放基本数据类型与对象引用(仅限局部变量,成员变量不管是 ......
八股文 八股 Java-JVM Java JVM

std::bitset

# `std::bitset` ## 前言 感觉 ZGY 讲得不是很清楚(例题讲得有点少,而且感觉有一点乱),所以来写了这一篇文章。但是最好结合着[他的文章](https://qoj.fzoi.top/post/5276)一起学习。 ~~可能有错别字 错公式 错表达 大佬们请请多包涵 Orz。~~ ......
bitset std

gcc5 std::string的变化

自从GCC-5.1开始,std::string引入了遵从C++11标准的新实现,默认使用SSO(small string optimization)特性,禁用了写时复制(COW)引用计数机制,这也带来了与旧版本std::string的ABI兼容性问题。 参考: http://www.pandadem ......
string gcc5 gcc std

C++面试八股文:什么是构造函数?

# C++面试八股文:什么是构造函数? 某日二师兄参加XXX科技公司的C++工程师开发岗位第29面: > 面试官:什么是构造函数? > 二师兄:构造函数是一种特殊的成员函数,用于创建和初始化类的对象。构造函数的名称与类的名称相同,并且没有返回类型。构造函数在对象被创建时自动调用。 ``` struc ......
八股文 八股 函数

deque的相关操作

创建deque:可以使用默认构造函数创建一个空的deque,或使用带有初始元素的构造函数创建一个具有初始值的deque。例如: cpp std::deque<int> d1; // 创建一个空的整数双端队列 std::deque<int> d2(5); // 创建一个具有5个默认初始化值的整数双端队 ......
deque

C++面试八股文:知道std::unordered_set/std::unordered_map吗?

# C++面试八股文:知道std::unordered_set/std::unordered_map吗? 某日二师兄参加XXX科技公司的C++工程师开发岗位第27面: > 面试官:知道`std::unordered_set/std::unordered_map`吗? > 二师兄:知道。两者都是C++ ......

动态数组和C++ std::vector详解

目录 1. std::vector2. vector的用法 2.1 vector的定义和声明 2.2 成员函数 2.2.1 基本函数 operator= assign get_allocator 2.2.2 元素访问 at operator[] front back data 2.2.3 迭代器 b ......
数组 动态 vector std

C++面试八股文:用过std::set/std::map吗?

# C++面试八股文:用过std::set/std::map吗? 某日二师兄参加XXX科技公司的C++工程师开发岗位第27面: > 面试官:用过`std::set/std::map`吗? > 二师兄:用过。 > 面试官:能介绍一下二者吗? > 二师兄:`std::set`是一个有序的集合,其中的元素 ......
八股文 八股 std set map

如何使用C++11 STD::THREAD设置堆栈大小?

本教程将介绍如何使用C++11 std::thread设置线程的堆栈大小。C++11 std::thread是一种轻量级的多线程实现,它的灵活性使得它成为一个流行的选择。但是,在某些情况下,您可能需要设置线程的堆栈大小来满足您的需求。 在开始本教程之前,我们假设您已经熟悉了C++11 std::th ......
堆栈 大小 THREAD STD 11

离奇的std::map、std::set崩溃

离奇的std::map、std::set崩溃 现象描述定位之路1、和windows调用比较,没发现任何问题2、修改cmakelists.txt,发现也没有什么可以改的,能改的怎么改结果都一样3、最笨的办法之一用上,写一段这样的代码:4、面向互联网大法编程,百度、微软必应(不翻墙,不能狗狗),发现一个 ......
std map set

公共-八股文

跨域请求是什么,有什么问题,怎么解决 ``` 客户端发起请求时,会检查请求的协议、域名、端口是否与当前一致,如果不一致就会出现跨域问题 要处理该问题: 1.请求:请求通过后台转发至真正的接口[夹一层转发层,利用后台转发,类似网关] 2.响应:响应上面加上“access-control-allow-o ......
八股文 八股

消息队列-八股文

消息队列选型-√ ``` kafka: 优点:吞吐量高,性能高 缺点:功能单一,有丢失消息的风险 rocketMQ: 优点:功能完善,性能好 缺点:客户端仅支持Java ``` RocketMQ事务消息实现-※ RocketMQ底层实现原理-※ 消息队列如何保证可靠传输 ``` 可靠传输:不能多 不 ......
八股文 八股 队列 消息

微服务-八股文

spring cloud 和 dubbo有哪些区别 什么是服务雪崩和服务限流 ``` 服务雪崩: 服务之间存在调用关系,A-->B-->C,当C的并发量超出最大能力时,C阻塞 导致 B阻塞,最终导致 A阻塞,这个称之为服务雪崩 服务限流: 为了避免超出服务的最大承受能力,控制服务接收的请求数量,称之 ......
八股文 八股

zookeeper-八股文

什么是ZAB协议-※ ``` ZAB协议是保证ZK一致性的原子广播协议 ZK实现一致性共三个阶段: 1.选举leader:因为只有leader节点处理写操作 2.数据同步:所有follower要与leader保持数据一致性 3.请求广播:收到写请求的时候,会将写请求广播到所有follower节点,从 ......
八股文 八股 zookeeper

dubbo-八股文

dubbo负载均衡策略? ``` 1.随机:随机分配 2.轮询:循环遍历 3.源地址哈希:每个请求都计算哈希值,相同的请求计算出相同的哈希值,就会分配到相同的服务 ``` dubbo如何服务导出 dubbo如何服务引入 dubbo架构设计是怎样的? ......
八股文 八股 dubbo

分布式-八股文

CAP理论与BASE理论-√ ``` CAP: consistent && avaliable && partition tolerance 一致性:整个系统的数据状态应该是一致的,不存在逻辑矛盾的 可用性:整个系统应该保证是可用的 分区容错性:整个系统应当有容灾性能,有哪个节点失效或者哪个服务挂掉 ......
八股文 八股 分布式

mybatis-八股文

mybatis的优缺点-※ ``` 优点: 1.SQL写在XML里面,与业务代码分离,因此相对比较灵活,便于统一管理 2.spring集成很方便,由于使用的JDBC连接数据库,因此,不需要针对不同数据专门做兼容 缺点: SQL的编写,SQL的语法都强关联数据库的类型,因此,无法随意切换数据库 ``` ......
八股文 八股 mybatis

数据库-八股文

索引的基本原理-√ ``` 1.索引对应列进行排序 2.将排序结果建立倒排表 3.将数据地址链拼接到倒排表上 4.查询的时候,拿到倒排表,查询到数据地址链,最后取到需要的数据 ``` 索引的设计原则 ``` 1.类型不多的列没必要建索引,占空间,效果还不好 2.由于索引也是要占空间的,而且索引建立完 ......
八股文 八股 数据库 数据

spring-八股文

对IOC的理解 ``` inverse of control,控制翻转,将bean的生成交给spring管理,例如,@autowired自动装配的mapper层对象。 好处:单例bean可以有效复用,减少对象生成的时间成本。各种bean还有自身的应用场景。 ``` 单例bean与单例模式 ``` s ......
八股文 八股 spring

Java-八股文

hashcode()、equals() ``` 1.如果hashcode()不相同,两个对象一定不是同一个对象 2.如果hashcode()相同,两个对象不一定上同一个对象,需要进一步判别equals 3.如果equals相同,应当认为两个对象就是相同对象 由于hashcode方法仅返回一个值,eq ......
八股文 八股 Java

C++ std::chrono 计时器的使用

使用标准库 #include <chrono> int main() { auto stampBeg = std::chrono::steady_clock::now(); // do someting Sleep(2400); auto stampEnd = std::chrono::steady ......
计时器 chrono std

std::future、std::promise、std::packaged_task、std::async

# std::promise `std::promise`:用于获取线程中变量的结果,如下: ``` #include #include #include void printMessage(std::promise&& prms, std::string message) { std::this_ ......
std packaged_task packaged promise future