面试经验:68个C/C 常见面试题汇总(含答案)

@程序员柠檬橙 是大厂C++软件工程师,所以在头条分享了很多 C++ 学习和面试相关内容,发现很同学在找工作面试之前找不到C++复习要点,于是我把常见的C++/C面试题做个汇总,方便大家在面试之前突击复习。

这个周末肝了两天,整理了一份C/C++语言面试题资源,汇总了68道常见C语言和C++相关的面试题

文末有PDF版和详细答案下载,有需要的小伙伴们可以自取,面试前必看必背。

下面是题目大纲:

  • 1 变量的声明和定义有什么区别

  • 2 简述#ifdef、#else、#endif和#ifndef的作用

  • 3 写出int 、bool、 float、指针变量与 “零值”比较的if语句

  • 4 结构体可以直接赋值吗

  • 5sizeof和strlen的区别

  • 6 C 语言的关键字static和 C++ 的关键字static有什么区别

  • 7 C 语言的malloc和 C++ 中的new有什么区别

  • 8 写一个 “标准”宏MIN

  • 9 ++i和i++的区别

  • 10 volatile有什么作用

  • 11 一个参数可以既是const又是volatile吗

  • 12 a和&a有什么区别

  • 13 用 C 编写一个死循环程序

  • 14 结构体内存对齐问题

  • 15 全局变量和局部变量有什么区别?实怎么实现的?操作系统和编译器是怎么知道的?

  • 16 简述 C、C++ 程序编译的内存分配情况

  • 17 简述strcpy、sprintf与memcpy的区别

  • 18 请解析(*(void (*)( ) )0)( )的含义

  • 19 C语言的指针和引用和c++的有什么区别?

  • 20 typedef和define有什么区别

  • 21 指针常量与常量指针区别

  • 22 简述队列和栈的异同

  • 23 设置地址为0x67a9的整型变量的值为0xaa66

  • 24 编码实现字符串转化为数字

  • 25 C 语言的结构体和 C++ 的有什么区别

  • 26 简述指针常量与常量指针的区别

  • 27 如何避免“野指针”

  • 28 句柄和指针的区别和联系是什么?

  • 29 new/delete与malloc/free的区别是什么

  • 30 说一说extern“C”

  • 31 请你来说一下 C++ 中struct和class的区别

  • 32 C++ 类内可以定义引用数据成员吗?

  • 33 C++ 中类成员的访问权限

  • 34 什么是右值引用,跟左值又有什么区别?

  • 35 面向对象的三大特征

  • 36 说一说 c++ 中四种cast转换

  • 37 C++ 的空类有哪些成员函数

  • 38 对 c++ 中的smart pointer四个智能指针:shared_ptr,unique_ptr,weak_ptr,auto_ptr的理解

  • 39 说说强制类型转换运算符

  • 40 谈谈你对拷贝构造函数和赋值运算符的认识

  • 41 在 C++ 中,使用 malloc申请的内存能否通过delete释放?使用new申请的内存能否用free?

  • 42 用 C++ 设计一个不能被继承的类

  • 43 C++ 自己实现一个String类

  • 44 访问基类的私有虚函数

  • 45 对虚函数和多态的理解

  • 46 简述类成员函数的重写、重载和隐藏的区别

  • 47 链表和数组有什么区别

  • 48 用两个栈实现一个队列的功能

  • 49 vector的底层原理

  • 50 vector中的reserve和resize的区别

  • 51 vector中的size和capacity的区别

  • 52 vector中erase方法与algorithn中的remove`方法区别

  • 53 vector迭代器失效的情况

  • 54 正确释放vector的内存(clear(), swap(), shrink_to_fit())

  • 55 list的底层原理

  • 56 什么情况下用vector,什么情况下用list,什么情况下用 deque

  • 57 priority_queue的底层原理

  • 58 map 、set、multiset、multimap的底层原理

  • 59 为何map和set的插入删除效率比其他序列容器高

  • 60 为何map和set每次Insert之后,以前保存的iterator不会失效?

  • 61 当数据元素增多时(从 10000 到 20000),map的set的查找速度会怎样变化?

  • 62 map 、set、multiset、multimap的特点

  • 63 为何map和set的插入删除效率比其他序列容器高,而且每次insert 之后,以前保存的iter

  • 64 为何map和set不能像vector一样有个reserve函数来预分配数据?

  • 65 set的底层实现实现为什么不用哈希表而使用红黑树?

  • 66 hash_map与map的区别?什么时候用hash_map,什么时候用map?

  • 67 迭代器失效的问题

  • 68 STL线程不安全的情况


这68道常见 C++/C 面试题和详细答案已经整理成PDF文档了,随便截几张图看看吧:

(0)

相关推荐

  • (3条消息) C++11/14/17

    目录 环境准备 被弃用的特性 常量字符串赋值需要使用const char* 与C的兼容性 语言可用性的强化 类型推导 区间迭代 列表初始化 模板增强 面对对象增强 语言运行期的强化 Lambda表达式 ...

  • C++各类容器的用法和区别

    准模板库就是类与函数模板的大集合.STL共有6种组件:容器,容器适配器,迭代器,算法,函数对象和函数适配器:vector封装数组,list封装了链表,map和set封装了二叉树. 一.序列容器: Li ...

  • 嵌入式面试总结(持续更新)

    嵌入式面试总结(持续更新)

  • C++笔试面试准备(整理)

    转载:https://blog.csdn.net/ljh0302/article/details/81098764?ops_request_misc=%257B%2522request%255Fid% ...

  • 数据库常见面试题(附答案)

    阅读指南 文章目录 1.事务四大特性 2.数据库隔离级别 3.MYSQL的两种存储引擎区别(事务.锁级别等等),各自的适用场景 4.索引有B 索引和hash索引 5.聚集索引和非聚集索引 6.索引的优 ...

  • 20个硬件常见面试题

    问1 晶体管基本放大电路有共射.共集.共基三种接法,请简述这三种基本放大电路的特点. 共射:共射放大电路具有放大电流和电压的作用,输入电阻大小居中,输出电阻较大,频带较窄,适用于一般放大. 共集:共集 ...

  • 什么是Python中的单元测试?常见面试题集锦!

    学习完Python之后,接下来面临的问题就是面试找工作,今天小编为大家汇总了10道Python经常面试题,并附带答案,希望能够给找工作的你们带来帮助. 有哪些工具可以帮助查找错误或执行静态分析? Py ...

  • Python数据分析师常见面试题集锦!

    数据分析是Python的就业方向之一,近年来,伴随着国内互联网发展,数据分析开始崭露头角,因此很多开发者都因为薪资和发展前景转行从事数据分析工作.那么你知道如何找到满意的数据分析岗吗?今天小编就跟大家 ...

  • Python爬虫常见面试题!

    众所周知,爬虫是Python重要的应用方向之一,也是学习Python求职的热门岗位.对此,为帮助学员们快速通过面试,小编整理了一些Python爬虫常见面试题,希望能够帮助到你们. 1. 试列出至少三种 ...

  • HTTP必知必会——常见面试题总结

    HTTP必知必会——常见面试题总结

  • css常见面试题

    css常见面试题

  • 2021Java常见面试题:java正则表达式语法大全

    一面 自我介绍 项目难度介绍 如何实现延时任务 如何实现限流 线程池的参数 能不能自己实现一个java.lang.String并加载 Redis为什么这么快 epoll和poll的区别 进程同步的方式 ...

  • 2021Java常见面试题:java字符串用逗号拼接

    字节跳动技术一面 面问的都还比较基础,答得也还算顺利 说下你的实习项目吧 讲一下线程参数的含义 Innodb的索引实现 为什么是B+树? Redis的使用,分布式锁的实现 操作系统虚拟内存换页的过程 ...