八股记录

线程间通信方式

面试官:说说进程间通信和线程间通信的几种方式及区别 - 知乎 (zhihu.com)

消息队列和管道

(116条消息) 消息队列与管道区别_管道和消息队列的区别_weichaopst的博客-CSDN博客

(116条消息) 管道、消息队列、共享内存之间的区别与联系_共享内存 管道_ttyue_123的博客-CSDN博客

消息队列存储为内核中的链表

 

锁,互斥访问

线程同步 | 爱编程的大丙 (subingwen.cn)

图解系统:互斥与同步 - 知乎 (zhihu.com)

ABC交替打印

(116条消息) C++三个线程交替打印ABC_c++三线程交替打印abc_愿风丶裁尘的博客-CSDN博客

(116条消息) c++ 三个线程交替打印1~100_c++多线程打印1到100_whynotjie的博客-CSDN博客

TCP沾包问题

面试题:聊聊TCP的粘包、拆包以及解决方案 - 知乎 (zhihu.com)

【转】关于TCP和UDP协议消息保护边界的介绍-阿里云开发者社区 (aliyun.com)

怎么解决TCP网络传输「粘包」问题? - 知乎 (zhihu.com)

(116条消息) TCP中的粘包、拆包问题产生原因及解决方法_tcp粘包/拆包的解决办法_dreamer'~的博客-CSDN博客

7层和5层网络

一文读懂OSI七层模型和TCP/IP五层模型 - 知乎 (zhihu.com)

多态常用在什么地方

(116条消息) C++多态的概念与使用(详细介绍)_多态c++概念_Cola_Forever的博客-CSDN博客

内联函数

C++内联函数 - melonstreet - 博客园 (cnblogs.com)

 

tp

boost

(116条消息) 最新超详细C++经典Boost库介绍_Come_code的博客-CSDN博客

c++类互相包含

(116条消息) C++_类互相包含_wjjontheway的博客-CSDN博客

(116条消息) 【C++ Primer】两个类相互包含的求解策略_iteye_6233的博客-CSDN博客

(116条消息) 关于两个类互相引用的析构问题_一口桃子酒的博客-CSDN博客

或者用智能指针来解决

成员类先构造后析构

 linux中断处理简介

(116条消息) Linux 中断之中断处理浅析_爱洋葱的博客-CSDN博客

(116条消息) Linux 中断(包括:中断背景,定义,处理过程,类型,上下部分,中断上下文等)_linux 判断外部中断类型_Hani_97的博客-CSDN博客

 找到前k大的数据

topK 问题:如何在N个数中找到前K个最大的数 - 掘金 (juejin.cn)

操作系统死锁

操作系统——死锁的概念以及死锁处理策略 - 王陸 - 博客园 (cnblogs.com)

智力题:硬币分为上下相等的两堆

(116条消息) 将硬币分成正面朝上个数相等的两堆_realxie的博客-CSDN博客

线程过多//内存,时间切换,缓存冲突

(116条消息) 为什么线程过多会损害性能_线程数过多会造成什么异常_TurboSnail001的博客-CSDN博客

IP和TCP分片

动图图解!既然IP层会分片,为什么TCP层也还要分段? - 知乎 (zhihu.com)

c++中static使用

C++中的static关键字的总结 - 知乎 (zhihu.com)

c++内存泄漏查找asan

(116条消息) 【内存】内存检测工具sanitizer[内存泄漏、内存越界] VS valgrind_global-buffer-overflow_bandaoyu的博客-CSDN博客

线程崩溃会导致全部崩溃,进程崩溃只有自己出事

malloc的实现

(116条消息) Linux内存的工作(malloc,brk系统调用和mmap系统调用)_malloc brk mmap_lwj~的博客-CSDN博客

智力题

(116条消息) 有五个山洞,一字排开,一只狐狸住在某个洞,每天晚上会换住到相邻的洞中,一个猎人只能每天早上去一个洞_5个洞抓1只_gtkiller的博客-CSDN博客

快排最坏的情况

(116条消息) 快排最坏时间复杂度_快速排序的最坏时间复杂度_肯德基套餐的博客-CSDN博客

哈希冲突处理

(116条消息) 解决哈希冲突(四种方法)_哈希冲突的四种解决办法_君诀的博客-CSDN博客

两个单链表是否相交

判断两个单链表是否相交_百度知道 (baidu.com)

访问一个url的过程

(116条消息) 访问一个URL经历了哪些过程_昵給硪鐙誒的博客-CSDN博客

socket部分

一文让你透彻理解Linux的SOCKET编程(含实例解析) - 知乎 (zhihu.com)

内存管理

深度阅读:深入 C++ 内存管理(万字长文) - 知乎 (zhihu.com)

 

联洲

抢占式调度和非抢占式调度

(116条消息) 抢占式内核和非抢占式内核,时间片轮转调度中的抢占与非抢占_一定能毕业~的博客-CSDN博客

stoi,stol,用于将string转换为int和long

 C/C++ 中 volatile 关键字详解 | 菜鸟教程 (runoob.com)

模板实例化时间

函数模板实例化 | Microsoft Learn

(124条消息) C++ 原子操作(atomic)_c++原子操作_Mr.禾的博客-CSDN博客

stl不是线程安全的

当我们谈论shared_ptr的线程安全性时,我们在谈论什么 - 知乎 (zhihu.com)

C++ atomic详解 - 知乎 (zhihu.com)

(124条消息) C++知识积累:如何获取虚函数表以及虚函数地址_得到虚函数表地址_HerofH_的博客-CSDN博客

(124条消息) C++学习 三、weak_ptr使用_c++ weak_ptr_RuiH.AI的博客-CSDN博客

shared_ptr 是否线程安全? | 光线誌 (beamnote.com)

面试题:简单实现一个shared_ptr智能指针-腾讯云开发者社区-腾讯云 (tencent.com)

 

讯飞

在机器学习项目中该如何选择优化器 - 知乎 (zhihu.com)

(123条消息) 【代码】优化算法BGD、SGD、Momentum、Adam算法python实现_sgd代码实现_yzy_1996的博客-CSDN博客

深度学习笔记:如何理解激活函数?(附常用激活函数) - 知乎 (zhihu.com)

一文搞懂熵(Entropy),交叉熵(Cross-Entropy) - 知乎 (zhihu.com)

梯度消失和梯度爆炸及解决方法 - 知乎 (zhihu.com)

残差神经网络为什么可以缓解梯度消失? - 知乎 (zhihu.com)

万字长文帮你彻底搞定Transformer-不要错过!! - 知乎 (zhihu.com)

深度强化学习落地方法论(7)—— 训练篇 - 知乎 (zhihu.com)

多态举例

(124条消息) C++面试常见题目5_面向对象的三大特性(封装,继承,多态)_不要急慢慢来的博客-CSDN博客

(124条消息) C++多态的好处和作用(用实例说话)_c++多态的作用_King'sEngine的博客-CSDN博客

(29 封私信) 为什么 std::stack 默认是 std::deque 的适配器,而非 std::vector? - 知乎 (zhihu.com)

C++面试-STL篇,细节有点多 - 知乎 (zhihu.com)

内存泄漏

(124条消息) C/C++如何监测内存泄漏_c++ 如何检测内存泄漏_千么漾漾的博客-CSDN博客

CRT  检测内存泄漏的关键原理就是,检查malloc/new和free/delete是否匹配,一些工具也就是这个原理。要做到这点,就是利用宏或者钩子,在用户程序与运行库之间加了一层,用于记录内存分配情况。

_CrtMemState s1, s2, s3;

    _CrtMemCheckpoint( &s2 );

    if ( _CrtMemDifference( &s3, &s1, &s2) )

        _CrtMemDumpStatistics( &s3 );

    _CrtDumpMemoryLeaks();

【C++如何检测内存泄漏?】 - 知乎 (zhihu.com)

valgrind

valgrind --leak-check=full ./leak

valgrind的检测信息将内存泄漏分为如下几类:

  • definitely lost:确定产生内存泄漏
  • indirectly lost:间接产生内存泄漏
  • possibly lost:可能存在内存泄漏
  • still reachable:即使在程序结束时候,仍然有指针在指向该块内存,常见于全局变量
(31 封私信) C++不用工具,如何检测内存泄漏? - 知乎 (zhihu.com)
在申请内存时记录下该内存的地址和在代码中申请内存的位置,在内存销毁时删除该地址对应的记录,程序最后统计下还有哪条记录没有被删除,如果还有没被删除的记录就代表有内存泄漏。

 

其他

(124条消息) 聊聊Raft的性能优化_raft优化_李兆龙的博客的博客-CSDN博客

条件变量(Condition Variable)详解 - _小百 - 博客园 (cnblogs.com)

C++的匿名函数(lambda表达式) - 知乎 (zhihu.com)

[捕获列表](参数列表) mutable(可选) 异常属性 -> 返回类型 { // 函数体 }

int *p2 = new (nothrow)int;//如果分配失败,new返回一个空指针
如果我们不初始化一个智能指针,它就会被初始化成一个空指针,接受指针参数的职能指针是explicit的,因此我们不能将一个内置指针隐式转换为一个智能指针,必须直接初始化形式来初始化一个智能指针
不要使用get初始化另一个智能指针或为智能指针赋值

shared_ptr<int> p(new int(42));//引用计数为1
int *q = p.get();//正确:但使用q时要注意,不要让它管理的指针被释放
{
//新程序块
//未定义:两个独立的share_ptr指向相同的内存
shared_ptr(q);

}//程序块结束,q被销毁,它指向的内存被释放
int foo = *p;//未定义,p指向的内存已经被释放了

 

智能指针陷阱:
(1)不使用相同的内置指针值初始化(或reset)多个智能指针。
(2)不delete get()返回的指针
(3)不使用get()初始化或reset另一个智能指针
(4)如果你使用get()返回的指针,记住当最后一个对应的智能指针销毁后,你的指针就变为无效了
(5)如果你使用智能指针管理的资源不是new分配的内存,记住传递给它一个删除器
不能拷贝或者赋值unique_ptr,但是可以通过调用release或reset将指针所有权从一个(非const)unique_ptr转移给另一个unique

(125条消息) C++ 判断是大端存储还是小端存储_dmfrm的博客-CSDN博客

int nNum = 0x12345678; char chData = *(char*)(&nNum);

 CPL是当前进程的权限级别(Current Privilege Level),是当前正在执行的代码所在的段的特权级,存在于cs寄存器的低两位。
RPL说明的是进程对段访问的请求权限(Request Privilege Level),是对于段选择子而言的,每个段选择子有自己的RPL,它说明的是进程对段访问的请求权限,有点像函数参数。而且RPL对每个段来说不是固定的,两次访问同一段时的RPL可以不同。RPL可能会削弱CPL的作用,例如当前CPL=0的进程要访问一个数据段,它把段选择符中的RPL设为3,这样虽然它对该段仍然只有特权为3的访问权限。
DPL存储在段描述符中,规定访问该段的权限级别(Descriptor Privilege Level),每个段的DPL固定。
当进程访问一个段时,需要进程特权级检查,一般要求DPL >= max {CPL, RPL}

ROS2命令行操作 - ROS2入门教程 (guyuehome.com)

 

ROS 和 ROS2 架构和通信_ros2 中c/s通信_泠山的博客-CSDN博客

Cookie和Session的区别(面试必备)_cookie和session的作用和区别_秋风不识路的博客-CSDN博客

Linux进程间通信详解(最全) - 知乎 (zhihu.com)

数据结构与算法——跳表 - 知乎 (zhihu.com)

系统操作原理:进程的状态和转换(五态模型) - 知乎 (zhihu.com)

进程调度的几种方式与算法简介_空临八荒醉清风的博客-CSDN博客

干货 | 进程、线程、协程 10 张图讲明白了! - 知乎 (zhihu.com)

gdb调试常见命令详细总结(附示例操作)_gdb调试命令大全_快乐的学习的博客-CSDN博客

C++总结2—shared_ptr交叉引用及多线程安全问题_shared_ptr 局部变量_zhangyin_blog的博客-CSDN博客

C++11智能指针 shared_ptr、weak_ptr和unique_ptr详解 - 知乎 (zhihu.com)

C++右值引用与转移和完美转发_c++ 右值引用 完美转发_勿在浮沙築高臺的博客-CSDN博客

XML 简介 - XML (可扩展标记语言) | MDN (mozilla.org)

posted @   纸包鱼  阅读(65)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
· Manus的开源复刻OpenManus初探
历史上的今天:
2022-06-01 剑指offer笔记-c++
2022-06-01 算法时间复杂度和空间复杂度
2022-06-01 c++中的枚举类型
点击右上角即可分享
微信分享提示