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 小时前
安装 Python 3.10+
开发语言·人工智能·python
AAA大运重卡何师傅(专跑国道)3 小时前
【无标题】
开发语言·c#
是阿建吖!3 小时前
【Linux】信号
android·linux·c语言·c++
sugar__salt3 小时前
从栈队列数据结构到JS原型面向对象全解
前端·javascript·数据结构
XBodhi.3 小时前
Visual Studio C++ 语法错误: 缺少“;”(在“return”的前面)
开发语言·c++·visual studio
LSssT.4 小时前
【01】Python 机器学习
开发语言·python
三品吉他手会点灯4 小时前
C语言学习笔记 - 43.运算符与表达式 - 运算符1 - 运算符的分类和简单介绍
c语言·笔记·学习·算法
l1t4 小时前
DeepSeek总结的使用实体-组件-系统和基于存在性处理进行Python编程39-40
开发语言·python
曾阿伦5 小时前
Python 搭建简易HTTP服务
开发语言·python·http
YG亲测源码屋5 小时前
java配置环境变量、jdk环境变量配置、java环境变量设置方法
java·开发语言