后端岗位面试题 · 问题拆解 · C
题库中标记为“后端”的结构化面试题。
共 89928 道真题 · 当前筛选命中 153 道 · 更新 2026-08-05
筛选题目已选:问题拆解 · C
考察点
技术栈
第 21 题在C语言中,空结构体(不含任何成员的结构体)的大小是多少?请解释原因。 考察对C语言结构体内存布局和编译器扩展的理解第 22 题请举例说明库函数与系统调用的关系,并说明 printf 最终会触发哪个系统调用。 考察对库函数与系统调用层次关系的理解,以及 printf 的实现路径第 23 题在 C/C++ 中,有宏定义 #define f(x) (x<<2)。若调用 f(x+=10),请分析该表达式的结果及可能存在的问题。 考察宏定义的文本替换机制与副作用陷阱第 24 题调用 malloc 申请内存时,底层通常会发生哪些关键步骤? 考察对 malloc 实现机制和操作系统内核交互的理解第 25 题从源码到进程运行,完整阐述编译、链接、装载及启动流程。 考察对程序构建、运行时加载与启动完整链路的技术原理掌握第 26 题请介绍你实现的自定义内存分配器(如 mymalloc),并说明它相比 C 标准库 malloc 有哪些改进或优势? 考察自定义内存分配器的设计原理与对标准库 malloc 的对比理解第 27 题C语言中编译到链接的过程有哪些? 考察对C语言编译与链接各阶段的原理性理解第 28 题数组指针和指针数组的区别是什么? 考察对指针与数组复合类型声明的理解与辨析第 29 题int a=0; int i=sizeof(a++); i和a分别是多少? 考察sizeof操作符对表达式求值规则的掌握第 30 题一个结构体包含 int a; char b; 成员时,该结构体在内存中占多大? 考察对结构体内存对齐规则的理解与计算能力第 31 题谈谈重载和重写,在面向过程如C语言中可以重载吗? 考察对重载与重写的概念区分,以及重载机制与语言特性的关联第 32 题请用C语言在7分钟内完成一道算法题。 考察C语言编程能力与限时解题能力第 33 题i++ 和 ++i 是左值还是右值? 考察对自增运算符左右值语义与具体语言规则的理解第 34 题什么是大小端字节序?在哪些实际场景中必须考虑大小端问题? 考察对字节序概念的理解及网络通信、跨平台数据解析等场景的应用第 35 题请描述源程序从编写到可执行文件的完整转换过程,包括各阶段的作用。 考察对编译、链接、装载等程序构建流程的掌握第 36 题有没有手写过协程之类的? 考察对协程原理的理解及动手实现能力第 37 题静态链接和动态链接的区别,系统如何找到对应的外部引用,这些信息存储在什么地方? 考察链接过程原理、外部符号解析机制及运行时期望的重定位方式第 38 题在C语言中,给定一个包含int、char和double成员的结构体,如何计算其占用字节数?请说明内存对齐规则。 考察对结构体内存对齐规则的理解和实际计算能力第 39 题请说明C/C++程序从源码到可执行文件的典型编译过程包含哪些阶段,每个阶段的主要作用是什么? 考察对编译流程的整体理解与各阶段职责划分第 40 题请说明C语言中static关键字在不同场景下的作用。 考察对C语言static关键字多场景语义的理解