C语言面试题总结

  1. 数组指针 和 指针数组?

整型数组: int a5

指针数组: int *a5 a先碰\[\], 是一个数组

数组指针: int (*a)\[\] a先碰*,是一个指针,指向数组

  1. sizeof 和 strlen 区别?

  2. sizeof 编译阶段就计算出结果, strlen 程序运行时才计算

  3. sizeof 计算所占的总内存字节, strlen则是遇\0停止

  4. 局部变量传指针出去,还有效吗?

无效,局部变量在栈上分配,系统自动回收。

  1. 链表倒数第k个数?双指针

  2. 伪共享? <高性能调优的进阶知识点>

CPU缓存行(Cache Line)

缓存一致性协议(MESI): 一个核心修改缓存行里的任何数据,其他核心里同一份缓存行会被强制标记为无效。下次访问必须重新从内存加载。

伪共享就是,裸机上不共享,但物理上共享同一个缓存行,互相拖慢。

如何解决?1. 缓冲行填充 2. 对其属性。

  1. 多进程多线程适用场景?

多线程适合大多数场景。尤其是追求低资源占用,高并发,快启动情况。

多进程:1. 强隔离容错,故障互不影响 2. 内存资源隔离,突破单进程限制 3. 需要独立权限 4. Python专属CPU密集型场景。

  1. 大页内存,提高TLB缓存命中率

  2. RDMA 全过程说一下

  3. nvmed 如何处理缓冲盘上的内容。

  4. TCP 三次握手,四次挥手

  5. ARP 工作在哪一层? 2.5层

  6. NCCL 有什么了解

  7. 有没有用过无锁队列?

相关推荐
刘马想放假1 天前
Modbus 全栈技术解析:TCP、RTU、ASCII、RTU over TCP
数据结构·网络协议
北域码匠2 天前
冒泡排序太慢?鸡尾酒排序双向优化,原生 C# 零第三方库完整代码
数据结构·排序算法·泛型·c# 算法·鸡尾酒排序·原生 c# 开发·冒泡排序优化·嵌入式算法
Darling噜啦啦9 天前
列表转树算法深度解析:从 Map 到 Reduce 的两种实现,面试高频考点
数据结构·算法·面试
LDR00610 天前
Type-C 快充全面升级!LDR6601 赋能个人护理便携电机,重塑剃须刀 / 理发器新体验
c语言·开发语言
雪碧聊技术10 天前
Tree.js是什么?一文讲透
开发语言·javascript·ecmascript
码云数智-园园10 天前
C++20 Modules 模块详解
java·开发语言·spring
swordbob10 天前
NIO的channel中什么是 fd(File Descriptor,文件描述符)
java·开发语言·nio
小小工匠10 天前
Redis - 事务机制:能实现 ACID 属性吗
数据结构·redis·性能优化·并发·持久化
源分享10 天前
Java线程同步的多种实现方法(非常详细)
java·开发语言·jvm
Luminous.10 天前
C语言--day30
c语言·开发语言