- 数组指针 和 指针数组?
整型数组: int a[5]
指针数组: int *a[5] a先碰[], 是一个数组
数组指针: int (*a)[] a先碰*,是一个指针,指向数组
-
sizeof 和 strlen 区别?
-
sizeof 编译阶段就计算出结果, strlen 程序运行时才计算
-
sizeof 计算所占的总内存字节, strlen则是遇\0停止
-
局部变量传指针出去,还有效吗?
无效,局部变量在栈上分配,系统自动回收。
-
链表倒数第k个数?双指针
-
伪共享? <高性能调优的进阶知识点>
CPU缓存行(Cache Line)
缓存一致性协议(MESI): 一个核心修改缓存行里的任何数据,其他核心里同一份缓存行会被强制标记为无效。下次访问必须重新从内存加载。
伪共享就是,裸机上不共享,但物理上共享同一个缓存行,互相拖慢。
如何解决?1. 缓冲行填充 2. 对其属性。
- 多进程多线程适用场景?
多线程适合大多数场景。尤其是追求低资源占用,高并发,快启动情况。
多进程:1. 强隔离容错,故障互不影响 2. 内存资源隔离,突破单进程限制 3. 需要独立权限 4. Python专属CPU密集型场景。
-
大页内存,提高TLB缓存命中率
-
RDMA 全过程说一下
-
nvmed 如何处理缓冲盘上的内容。
-
TCP 三次握手,四次挥手
-
ARP 工作在哪一层? 2.5层
-
NCCL 有什么了解
-
有没有用过无锁队列?