技术面面试高频考点总结-C++篇


技术面面试高频考点总结-C++篇

大家好呀,这里是小黛!

在技术面面试中,除了考察一些基础的计算机知识外,对语言掌握情况的考察,也是面试中占比非常大的一部分,那,今天就来介绍一下在面试中,C++基础部分必考的内容吧。

大家可以用这份必考内容总结进行查缺补漏,检验自己C++掌握情况

还是照例先介绍一下,本系列内容的一些情况吧:

这份考点总结具备的一些特点:

1)贴近面试:几乎百分之百都是本人面试中遇到的问题;

2)简洁实用:不会涵盖各个方面,但会包括每个专题下最重要的知识和最常考的知识。

3)不给出官方标准答案:一方面可以检验自己的掌握情况,一方面也可以在主动搜寻答案中记忆更加深刻。

本系列过往内容:

扫描二维码关注公众号,回复: 16001034 查看本文章

技术面面试高频考点总结-计算机网络篇:https://mp.weixin.qq.com/s/13oOfB0z4C1wQc301TcLdQ

技术面面试高频考点总结-MySQL篇:https://mp.weixin.qq.com/s/n_lK4P7jF35ow39e3XhHtQ

小贴士:虽然这份考点总结不会给出答案,但后续在计算机基础知识这里,会给出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++题目,最后给了一点点小黛推荐的课程和书籍~

本系列的初衷就是,给大家一个最快的方式上手技术面面试,过一遍题目,就可以乱杀技术面面试的基础问题了~想看更多内容可以留言

希望可以帮到大家~

猜你喜欢

转载自blog.csdn.net/qq_46046431/article/details/129854026