互联网/IT行业面试题 · 问题拆解 · C
互联网/IT行业相关面试题,按题目行业基础数据聚合。
共 47588 道真题 · 当前筛选命中 51 道 · 更新 2026-08-05
筛选题目已选:问题拆解 · C
考察点
技术栈
第 21 题在嵌入式系统中,保证程序持续进行有哪几种常见的循环方式? 考察嵌入式主程序的典型循环结构与使用场景第 22 题当数组作为函数参数传递时,与传递指针有什么区别? 考察函数传参时数组退化和指针传参的语义第 23 题请描述C/C++源文件编译成ELF可执行文件经历的各个阶段,并说明每个阶段产生的中间产物文件名后缀。 考察对编译链接流程全链路及其中间产物命名规范的掌握第 24 题请谈谈如何从零设计并实现一个内存分配器(malloc 与 free)。 考察内存分配器的数据结构、分配策略、碎片管理与线程安全设计能力第 25 题请解释 malloc 函数在底层是如何分配内存的,包含其涉及的关键系统调用和内核机制。 考察对内存分配底层机制和系统调用链路的理解第 26 题中断处理函数可以有入参和出参吗? 考察对中断上下文约束的理解和对中断机制底层原理的掌握第 27 题使用C语言判断操作系统是32位还是64位的? 考察C语言对指针大小、数据模型与预定义宏的理解第 28 题常量指针和指针常量是什么,一般应用场景是什么? 考察 C/C++ 指针与 const 修饰的语义区分及常见使用场景第 29 题XV6 实验中的 copy on write 与 lazy allocation 是如何实现的? 考察对操作系统内存管理机制及 XV6 具体实现细节的理解第 30 题在32位平台上,C语言结构体中包含一个u8、一个u16和一个u32成员时,按照默认内存对齐规则,结构体应如何对齐,总共占用多少字节? 考察对C语言结构体内存对齐规则和大小计算的理解第 31 题用C语言实现:从n个互不重复的数中选取m个,求组合总数并输出所有组合。 考察递归与回溯算法实现组合枚举及组合数计算第 32 题你在OJ(在线评测)模块中如何一步步解决Docker隔离、资源防滥用和跨平台编译环境一致性这三个问题?请按顺序说明你的思路和具体做法。 考察系统设计思路、问题拆解能力和动手解决问题的过程第 33 题请实现一个函数,从 uint16_t 类型的值中提取出 4 个端口号(每个端口占 4 位),并根据端口号与引脚名称的映射关系,输出对应的引脚名称。例如,若第 0 组 4 位表示端口号,根据映射表输出相应引脚名。 考察位运算、数据提取和映射关系的实现能力第 34 题你谈到了你们项目中对可执行文件的编译链接等过程,请你介绍一下一个C/C++程序的具体编译运行过程是怎样的? 考察对C/C++编译、链接及运行机制的深入理解第 35 题请介绍一个你用 C 语言完成的项目,包括项目背景、你的具体职责、遇到的技术难点以及最终成果。 考察 C 语言实践能力、项目经验深度及问题解决能力第 36 题详细介绍下你做过的代码量最大的C/C++项目,说说遇到的难点及其实现。 考察候选人C/C++项目经验深度、技术难点拆解与实现细节第 37 题结合虚拟地址空间概念,描述 malloc 从分配虚拟地址到建立物理映射的完整流程。 考察虚拟内存管理、malloc 实现机制与缺页中断的完整链路理解第 38 题MCU在进到main函数之前有哪些步骤? 考察嵌入式系统启动流程、编译链接和运行时初始化知识第 39 题请用C语言实现一个函数,接收两个二维数组作为参数,进行矩阵乘法计算,并返回结果矩阵。 考察C语言矩阵乘法实现、指针或二维数组参数传递及边界处理第 40 题请用C语言实现一个排序链表的算法(ACM模式),说明你的思路。 考察链表排序的算法设计与C语言实现能力