C++面试宝典(纯干货)
之前许多朋友私信问过我整理一篇“C++面试题”,我把自己在面试过程中被问的和自认为重要的面试题整理出来,希望对大家有所帮助。其中一些问题,请关注我的公众号,都有相应的文章。
01 C语言
const的作用有哪些,谈一谈你对const的理解?
描述char*、const char*、char* const、const char* const的区别?
指针常量和常量指针有什么区别?
static的作用是什么,什么情况下用到static?
全局变量与局部变量的区别?
宏定义的作用是什么?
内存对齐的概念?为什么会有内存对齐?
inline 内联函数的特点有哪些?它的优缺点是什么?
如何用C 实现 C++ 的面向对象特性(封装、继承、多态)
memcpy怎么实现让它效率更高?
typedef和define有什么区别?
extern有什么作用,extern C有什么作用?
如何避免野指针?
如何计算结构体长度?
sizeof和strlen有什么区别?
知道条件变量吗?条件变量为什么要和锁配合使用?
02 C++基础
C语言和C++有什么区别?
struct和class有什么区别?
extern "C"的作用?
函数重载和覆盖有什么区别?
谈一谈你对多态的理解,运行时多态的实现原理是什么?
对虚函数机制的理解,单继承、多继承、虚继承条件下虚函数表的结构
如果虚函数是有效的,那为什么不把所有函数设为虚函数?
构造函数可以是虚函数吗?析构函数可以是虚函数吗?
面试系列之C++的对象布局【建议收藏】
什么场景需要用到纯虚函数?纯虚函数的作用是什么?
了解RAII吗?介绍一下?
RAII妙用之计算函数耗时
RAII妙用之ScopeExit
类的大小怎么计算?
volatile关键字的作用?什么时候需要使用volatile关键字
如何实现一个线程池?C++线程池的实现之格式修订版
了解各种强制类型转换的原理及使用?
指针和引用有什么区别?什么情况下用指针,什么情况下用引用?
一般什么情况下会出现内存泄漏?怎么用C++在编码层面尽量避免内存泄漏。
unique_ptr如何转换所有权?
谈一谈你对面向对象的理解
什么场景下使用继承方式,什么场景下使用组合?
new和malloc有什么区别?
malloc的内存可以用delete释放吗?
malloc出来20字节内存,为什么free不需要传入20呢,不会产生内存泄漏吗?
new[]和delete[]一定要配对使用吗?new[]和delete[]为何要配对使用?
21. C++11新特性你都了解多少?
了解auto和decltype吗?一文吃透C++11中auto和decltype知识点
谈一谈你对左值和右值的了解,了解左值引用和右值引用吗?
了解移动语义和完美转发吗?左值引用、右值引用、移动语义、完美转发,你知道的不知道的都在这里
了解列表初始化吗?学会C++11列表初始化
平时会用到function、bind、lambda吗,都什么场景下会用到?搞定c++11新特性std::function和lambda表达式
对C++11的mutex和RAII lock有过了解吗?c++11新特性之线程相关所有知识点
对C++11的智能指针了解多少,可以自己实现一个智能指针吗?c++11新特性之智能指针 源码分析shared_ptr实现之修订版
enum 和 enum class有什么区别?
22. STL
C++直接使用数组好还是使用std::array好?std::array是怎么实现的?
std::vector最大的特点是什么?它的内部是怎么实现的?resize和reserve的区别是什么?clear是怎么实现的?
deque的底层数据结构是什么?它的内部是怎么实现的?
map和unordered_map有什么区别?分别在什么场景下使用?
list的使用场景?std::find可以传入list对应的迭代器吗?
string的常用函数
03 设计模式
如果你能知道所有的设计模式最好,即便不知道所有的设计模式,下面这些高频设计模式你还是需要了解的。
分别写出饿汉和懒汉线程安全的单例模式
说出观察者模式类关系和优点
说出代理模式类关系和优点
说出工厂模式概念和优点
说出构造者模式概念
说出适配器模式概念
04 操作系统
进程和线程的区别?深度好文|面试官:进程和线程,我只问这19个问题
操作系统是怎么进行进程管理的?
操作系统是如何做到进程阻塞的?
进程之间的通信方式有哪些?
什么是上下文切换,操作系统是怎么做的上下文切换?
线程是如何实现的?
线程之间私有和共享的资源有哪些?
一般应用程序内存空间的堆和栈的区别是什么?
进程虚拟空间是怎么布局的?10张图22段代码,万字长文带你搞懂虚拟内存模型和malloc内部原理
虚拟内存是如何映射到物理内存的?了解分页内存管理吗?操作系统内存管理,你能回答这8个问题吗?
产生死锁的必要条件有哪些?如何避免死锁?
什么是大端字节,什么是小端字节?如何转换字节序?
信号和信号量的区别是什么?
锁的性能开销,锁的实现原理?
了解CPU的Cache吗?如何写一个高效的多维矩阵乘法?如何利用CPU Cache写出高性能代码,看这些图就够了!
05 编译原理
gcc hello.c 这行命令具体的执行过程,内部究竟做了什么?gcc a.c 究竟经历了什么?
程序一定会从main函数开始运行吗?
如何确定某个函数有被编译输出?
动态链接库和静态链接库的区别是什么?Linux 为什么要动态链接?与静态链接的区别是什么?
大家如果对哪个问题有疑问可以留言,有其他觉得比较好的问题也可以分享在留言区!
C++面试宝典(纯干货)相关推荐
- 计算机专业面试技巧纯干货
面试问题汇总 1.请介绍一下你自己 这是面试官100%会问的问题,一般人回答这个问题过于平常,只说姓名.年龄.爱好.所学专业等,如果你用一分钟来重复你的简历,那么,你的印象加分没有了! 不妨坦诚自信地 ...
- java如何创造一个整数的类_【技术干货】Java 面试宝典:Java 基础部分(1)
原标题:[技术干货]Java 面试宝典:Java 基础部分(1) Java基础部分: 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语法,集合的语法,io 的 ...
- 2020最新各大厂面试遇到的100道软件测试面试题+答案纯干货!! 金九银十到了 快点看!!!
[纯干货!!!]花费了整整3天,整理出来的全网最实用软件测试面试大全,一共100道题目+答案的纯干货,希望大家多多支持,建议 点赞!!收藏!!长文警告,全文共12000+字,涵盖软件测试面试可能遇到的 ...
- 前端面试题汇总(JavaScript面试纯干货)
前端面试题汇总(JavaScript面试纯干货) 1 闭包 闭包就是能够读取其他函数内部变量的函数 闭包是指有权访问另⼀个函数作⽤域中变量的函数,创建闭包的最常⻅的⽅式就是在⼀个函数内创建另⼀个函数, ...
- Java程序员面试时,应当注意HR面的十三个小套路,纯干货分享
本文转载自:Java程序员面试时,应当注意HR面的十三个小套路,纯干货分享 一. 简单自我介绍 您好,我叫xxx,是xxx公司的Java开发工程师,目前负责公司的xxx项目.该项目有n个成员,我是该项 ...
- 纯干货|职场晋级:程序员面试技巧汇总
白天黑夜,春去秋来 同学们日复一日的苦敲代码 为的就是一份好工作 而好工作的第一步一定是:面试 闲话不多讲 今天向大家分享 关于程序员面试的那些干货 其实有很多文章说面试相关的问题,有国内也有国外的, ...
- class转java_[拒绝套路,纯干货]这一百多道 Java 基础问题你掌握了吗?
码农每日一题长按关注,工作日分享一些技术知识点. [每日一题]Java 基本数据类型基础面试题 [每日一题]Java 包装类型装箱拆箱基础面试题 [每日一题]Java 字符串(Part 1)相关面试题 ...
- 阿里巴巴招聘最全集合帖:宣讲会+岗位+30篇面试宝典来啦
简介: 又到了金三银四的季节-- 特别为你送上阿里巴巴招聘各类信息汇总,还有30篇面试宝典+必备资料,供你学! 如何拿到阿里offer?别错过这篇超全集合帖! 金三银四,你不能错过的阿里巴巴招聘超全集 ...
- 《程序员面试宝典》精华 面向对象部分
<程序员面试宝典>精华 面向对象部分 正所谓取其精华,去其糟粕.本文谨记录下<程序员面试宝典>一些关键的知识点.易错点,对于一些虽然重要但书中没有解释清楚的地方不做记录.书里是 ...
- ios 与web服务器传值_中高级iOS大厂面试宝典,拿到offer率80%,金三银四将是你的新起点...
引言 过年之后相信有一部分的人,早已磨刀霍霍向大厂.势必要大展拳脚,必将在大厂内创出一片天地.但是,想必大家都知道:最近几年的最严重的互联网寒冬来临,各位兄弟都会说"江湖再见".耳 ...
最新文章
- 梦到计算机坏了无法算账,梦见算账,做梦梦见算账是什么征兆?
- 有AI学会控制核聚变反应堆了,来自DeepMind,登上今日Nature
- MySQL / 多版本并发控制
- python绘制繁花曲线代码_使用python和pygame绘制繁花曲线的方法
- 石子合并(洛谷-P1880)
- iPhone 11系列没5G又没创新 库克的回应听了真是让人没脾气...
- NUC1076 LCD-Display【打印图案】
- Linux操作系统中df和du命令常见用法
- PHP ECSHOP中 诡异的问题:expects parameter 1 to be double
- sqlalchemy query函数可用参数有哪些?
- 如何在js中实现html语言,如何使用脚本标签将JavaScript插入HTML
- 系统分析师教程电子版免费下载
- ❤️C语言自定义类型的介绍❤️(结构体,枚举,联合体,位段)
- 一个遮罩层怎么遮罩两个图层_遮罩动画是由两个图层组成的,一个是遮罩层,一个是被遮罩层。...
- 基于Vue的数据埋点统计
- 基于web服务的文件共享平台pydio搭建教程
- android安装sdk时,failed read或者write可能是权限问题
- phpstudy提示80端口被system占用
- 小米电脑桌面没见计算机怎么办,手机屏幕太小?一分钟教会你小米手机投屏电脑方法,低调收藏!...
- 我的世界服务器如何制作武器,我的世界2B2T服务器玩家都会去做的7件事 第1件是游戏中的禁忌...