作为一名C语言开发工程师,经典面试题可能涵盖以下方面: 1. 介绍一下C语言的特点和优点。 2. 什么是指针?如何在C语言中使用指针? 3. 什么是动态内存分配?如何在C语言中使用malloc和free函数? 4. 什么是结构体和联合体?请举例说明其在C语言中的应用。 5. 什么是C语言中的预处理器指令?常见的预处理器指令有...
vector:vector 一次性分配好内存,不够时才进行扩容。 list:list 每次插入新节点都会进行内存申请。 适用场景: vector:适用于连续存储,支持随机访问,而不在乎插入和删除的效率。 list:适用于不连续的内存空间,如果需要高效的插入和删除,而不关心随机访问。 简述vector 的实现原理 vector 是一种动态数组,在内存中具有...
C语言面试题汇总(持续更) 笔者最近在找工作,因此对应聘C/C++嵌入式开发工程师容易被问到,或者经常搞不清楚的问题做一个汇总,也希望能对找工作的小伙伴起到帮助参考的作用。本篇集中于C语言方面的面试题目。 因为是自己总结的,可能会存在错误,还烦请各位读者批评指正。 一、变量内存分配 1. 一个由C/C++编译的...
迭代器失效是指迭代器在遍历容器过程中,由于容器的结构发生改变而导致迭代器指向的元素不再有效。 以下是导致迭代器失效的常见情况: 插入和删除操作:当在容器中插入或删除元素时,可能会导致容器内存重新分配或元素位置的改变,这可能会使迭代器失效。 清空容器:清空容器会使容器内的所有元素被删除,这样迭代器指向的元素...
这里汇总一些C/C++开发岗的常见面试八股题,都属于比较基础、偏理论性的题目。换句话说,如果这些题目答不上来,可能会给面试官留下的基础不好的印象,尤其是科班生哈。 废话不多说,直接开始。 一、C/C++篇 1. 基础中的基础篇 简述C和C++的区别 难度:⭐ 被考频率:⭐⭐⭐ ...
C/C++工程师面试题(操作系统篇)常用的 Linux 命令+GDB 常见的调试命令,操作系统是计算机系统中不可或缺的一部分,它允许硬件和软件协同工作,为用户提供一个稳定、可靠的计算环境。
鹅厂是cpp的主战场,而以cpp为背景的工程师大都对os,network这块要求特别高,不像是Java这种偏重业务层的语言,之前面试Java的公司侧重还是在数据结构、网络、框架、数据库和分布式。所以OS这块吃得亏比较大。 面试分为以下几大块 C/C++ 网络 操作系统 Linux系统 ...
STL 中容器分为顺序容器、关联式容器、容器适配器三种类型,三种类型容器特性分别如下: 1. 顺序容器 容器并非排序的,元素的插入位置同元素的值无关,包含 vector、deque、list vector:动态数组 元素在内存连续存放。随机存取任何元素都能在常数时间完成。在尾端增删元素具有较佳的性能。deque:双向队列 元素在内存连续...
C/C++工程师面试题(数据库篇) 索引的优缺点 索引是一种支持快速查找特定行的数据结构,如果没有索引,就需要遍历整个表进行查找。用于提高数据检索的速度和效率。好处: 提高检索速度:索引可以加快数据的检索速度,因为它们允许数据库系统直接定位到存储数据的位置,而不必遍历整个数据表。
K&R 的那本。但是其实这本书对大多数初学者来说还是略难,如果有兴趣也可以读一读。但我更建议你了解一些C语言之后再转过来看看会更好。柴田望洋的《明解C语言》最近是一本广受欢迎的亲切的C语言入门书。也可以去看看!最后,给大家分享一下嵌入式开发的学习资料,有需要的评论区扣666哦 ...