技术面面试高频考点总结-C++篇
大家好呀,这里是小黛!
在技术面面试中,除了考察一些基础的计算机知识外,对语言掌握情况的考察,也是面试中占比非常大的一部分,那,今天就来介绍一下在面试中,C++基础部分必考的内容吧。
大家可以用这份必考内容总结进行查缺补漏,检验自己C++的掌握情况。
还是照例先介绍一下,本系列内容的一些情况吧:
这份考点总结具备的一些特点:
1)贴近面试:几乎百分之百都是本人面试中遇到的问题;
2)简洁实用:不会涵盖各个方面,但会包括每个专题下最重要的知识和最常考的知识。
3)不给出官方标准答案:一方面可以检验自己的掌握情况,一方面也可以在主动搜寻答案中记忆更加深刻。
本系列过往内容:
技术面面试高频考点总结-计算机网络篇:和我讲
技术面面试高频考点总结-MySQL篇:和我讲
小贴士:虽然这份考点总结不会给出答案,但后续在计算机基础知识这里,会给出C++、JAVA、计算机网络、操作系统、设计模式、数据结构与算法、Redis、MySQL、JS、CSS、VUE、HTML等知识专题的详细版本八股文PDF,包括题目和题目的详细解答,既包括本推送系列的题目解答,也包括一些考频也很高的考点的题目解答。其中后端知识由我来整理,前端知识由一位前端大佬来整理~已经在整理中啦!
下面就开始吧~
一、C++常考考点枚举
下面开始介绍面试中必考的C++基础方面的问题~下方列出的问题都是我在面试中被问到的问题
1)说说C++和golang、Python、java、C等语言的区别
2)如何理解C++面向对象编程、说下面向对象与面向过程的区别
3)如何理解C++中的封装、继承、多态
4)编译时多态、运行时多态
5)什么是静态成员,类的静态成员,如何赋值
6)继承中,构造函数的执行顺序
7)如何知道一个实例是属于哪个类的?
8)如何避免外部实例化这个类的对象
构造函数私有化、抽象类、接口、C++11 =delete
9)C++一个空类占多少字节
10)什么是空白基类最优化
11)C++一个空类默认有哪几个函数,请写出函数定义
12)介绍一下内存分区
13)堆区和栈区的区别
开辟和释放、申请速度、如何存储
14)什么是内存碎片
15)智能指针都有什么
16)shared_ptr是线程安全的么
17)强制类型转换的方法
18)C++异常,列举一下异常,构造函数中可以有异常吗,析构函数中可以有异常吗
19)介绍什么时候会发生栈溢出和堆溢出
20)函数的传参方式
21)介绍构造函数和析构函数
22)父类析构函数要设置为虚函数吗,为什么要这样做
23)虚函数是如何实现的
内存布局,虚函数表的演化(单继承、多继承)
虚函数是最经常被考察的问题
24)什么是菱形继承,如何解决
25)this指针是什么,有什么用,struct里面有this指针吗
26)this指针存储在哪
27)struct和class最本质的区别
28)typedef和define区别
29)const和define区别,什么时候const无法代替define
30)const int *与 int const* 和 int* const 的区别
31)独占型智能指针如何赋值
32)lambda表达式如何接收外部传入的参数
33)介绍你掌握的C++11特性
34)右值引用
35)C++中访问map的value的方法,不只有[]
36)迭代器中begin()和cbegin()的区别
37)vector的resize和reserve有何区别
38)vector如何清空所占内存,如何清空size,如何清空capacity
39)vector扩容机制
40)删除元素迭代器失效,对于不同类型的容器是怎样的
41)vector容器与list容器的区别
42)set和map的区别
43)map中[]跟insert区别
44)红黑树的原理,查询复杂度(平均, 最差)
45)C++多线程如何实现,调的哪个库
46)多线程如何保证线程安全
47)设计一个接口需要注意什么,什么是一个好的接口
国企中容易考察
48)代码由源代码到可执行文件的转化过程
49)动态链接和静态链接
50)大端、小端、网络字节序、主机字节序
二、C++基础推荐学习资料
网上搜索C++学习路线,我相信是非常非常多且全面的,写的也特别棒,这里就简单的,基于我自己学C++的小经验,推荐一些课程和书籍吧~
1.视频课
如果是0基础计算机小白,推荐看*马程序员的C++课程
这套课程的特点,就是非常基础,非常简单,没有难点,很适合0基础的小白上手C++
如果有一定的基础了,推荐看侯捷老师的C++课程
2.书
最推荐的就是《C++ Primer》
这本书真的特别特别好看,几乎全部的C++语法,都能在书中找到特别详细的讲解,同时难度不大,可以配合视频课食用
下面的三本书,也比较推荐,一个讨巧的方式就是,在面试题中发现了某个问题,理解的不是很好,就可以翻翻下面的书,深入理解一下,记得深度探索C++对象模型里面虚函数部分讲的特别细致。
《Effective C++》
《STL源码剖析》
《深度探索C++对象模型》
三、小结
好的,到此为止,关于C++基础必考的内容就介绍完了,主要列举了本人在面试中被问到的C++题目,最后给了一点点小黛推荐的课程和书籍~
本系列的初衷就是,给大家一个最快的方式上手技术面面试,过一遍题目,就可以乱杀技术面面试的基础问题了~想了解其他知识的可以回复哈~
希望可以帮到大家~
#如何判断面试是否凉了##互联网没坑了,还能去哪里?##2022届毕业生现状##实习,投递多份简历没人回复怎么办##你们的毕业论文什么进度了#