C语言面试题总结

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

整型数组: int a[5]

指针数组: int *a[5] 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. 有没有用过无锁队列?

相关推荐
困意少年10 小时前
队列:先进先出为什么特别适合“流程推进”这类问题
数据结构
超级小星星10 小时前
C 语言结构体内存对齐深度解析:从概念到实战
c语言·开发语言
狮子座明仔11 小时前
AgentSPEX:当 Agent 框架开始把“控制流“从 Python 里抠出来
开发语言·python
笨笨饿11 小时前
74_SysTick滴答定时器中断
c语言·开发语言·人工智能·单片机·嵌入式硬件·算法·学习方法
2501_9219608511 小时前
协同本体论 V4.2+:离散关系拓扑涌现连续时空几何的数值验证
数据结构·人工智能·重构
科芯创展11 小时前
XZ4058B/C,20V,外置MOS,8.4V/8.7V开关充电芯片 宽范围电源电压:8.9V~20V-(电池充电电压:8.4V/8.7V)
c语言·开发语言
AI玫瑰助手11 小时前
Python流程控制:break与continue语句的区别与应用
开发语言·python·信息可视化
largecode12 小时前
如何让电话显示店名?来电显示店铺名称,提升有效接通率
java·开发语言·spring·百度·学习方法·业界资讯·twitter
xuhaoyu_cpp_java12 小时前
SpringMVC学习(五)
java·开发语言·经验分享·笔记·学习·spring