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. 有没有用过无锁队列?

相关推荐
啊啊啊啊啊!!!!15 分钟前
【c++】stack和queue的接口使用以及底层实现
开发语言·c++
松仔log1 小时前
Java中级——组合和继承
android·java·开发语言
上海安当技术2 小时前
C/S 桌面软件怎么接 UKey 强认证?C# SDK 与 C 动态库集成 WinForms/Qt/工控实战
c语言·qt·c#
(Charon)3 小时前
【C++】锁与原子操作(四):自旋锁的完整实现与性能优化
c语言·开发语言·c++
雨田言炎3 小时前
五、Qt控件使用说明大全
开发语言·qt
bu_shuo4 小时前
MATLAB中的meshgrid和ndgrid
开发语言·matlab
小羊先生car4 小时前
RTOS-F429-HAL-Freertos内存管理(2026/8/5)
c语言·单片机·rtos
我命由我123455 小时前
Jetpack Compose - MaterialExpressiveTheme 与 MaterialTheme、ColorScheme
android·java·开发语言·java-ee·kotlin·android jetpack·android runtime
呜喵王阿尔萨斯5 小时前
extern “C“ in C++
c语言·c++·算法
深海呐5 小时前
仓颉语言是ArkTs的上层语言吗?就像kotlin和Java
java·开发语言·kotlin·仓颉