C++高频面试题:智能指针、多态、虚函数、stl原理

前言:欢迎来到C++面试环节!在这个阶段,我们将测试您对C++语言的理解和应用能力。通过这些问题,我们希望了解您对C++基础知识、面向对象编程、模板、STL等方面的掌握情况。请放松心态,尽力回答每个问题,并且在可能的情况下提供示例代码或具体解释。

特殊说明:转载之公众号《深入浅出cpp》。|仅供本人学习使用

答案链接:C++高频面试题:智能指针、多态、虚函数、stl原理

  • 智能指针实现原理
  • 智能指针,里面的计数器何时会改变
  • 智能指针和管理的对象分别在哪个区(智能指针本身在栈区,托管的资源在堆区,利用了栈对象超出生命周期后自动析构的特征,所以无需手动delete释放资源。
  • 面向对象的特性:多态原理
  • 介绍一下虚函数,虚函数怎么实现的
  • 多态和继承在什么情况下使用
  • 除了多态和继承还有什么面向对象方法
  • C++内存分布。什么样的数据在栈区,什么样的在堆区
  • C++内存管理(RAII啥的)
  • C++从源程序到可执行程序的过程
  • 一个对象=另一个对象会发生什么(赋值构造函数)
  • 如果new了之后出了问题直接return。会导致内存泄漏。怎么办(智能指针,raii)
  • c++11的智能指针有哪些。weak_ptr的使用场景。什么情况下会产生循环引用
  • 多进程fork后不同进程会共享哪些资源
  • 多线程里线程的同步方式有哪些
  • size_of是在编译期还是在运行期确定
  • 函数重载的机制。重载是在编译期还是在运行期确定
  • 指针常量和常量指针
  • vector的原理,怎么扩容
  • 介绍一下const
  • 引用和指针的区别
  • Cpp新特性知道哪些
  • 类型转换
  • RAII基于什么实现的(生命周期、作用域、构造析构
  • 手撕:Unique_ptr,控制权转移(移动语义)
  • 手撕:类继承,堆栈上分别代码实现多态
  • unique_ptr和shared_ptr区别
  • 右值引用
  • 函数参数可不可以传右值
  • 参考c/c++堆栈实现自己的堆栈。要求:不能用stl容器。
  • stl容器了解吗?底层如何实现:vector数组,map红黑树,红黑树的实现
  • 完美转发介绍一下 去掉std::forward会怎样?
  • 介绍一下unique_lock和lock_guard区别?
  • C代码中引用C++代码有时候会报错为什么?
  • 静态多态有什么?虚函数原理 虚表是什么时候建立的 为什么要把析构函数设置成虚函数?
  • map为啥用红黑树不用avl树?(几乎所有面试都问了map和unordered_map区别)
  • inline 失效场景
  • C++ 中 struct 和 class 区别
  • 如何防止一个头文件 include 多次
  • lambda表达式的理解,它可以捕获哪些类型
  • 友元friend介绍
  • move函数
  • 模版类的作用
  • 模版和泛型的区别
  • 内存管理:C++的new和malloc的区别
  • new可以重载吗,可以改写new函数吗
  • C++中的map和unordered_map的区别和使用场景
  • 他们是线程安全的吗
  • c++标准库里优先队列是怎么实现的?
  • gcc编译的过程
  • C++ Coroutine
  • extern C有什么作用
  • c++ memoryorder/elf文件格式/中断对于操作系统的作
  • C++的符号表
  • C++的单元测试
  • #面经##C++面试题##八股文##秋招怎么这么难##秋招面试题#
    全部评论
    给你个SP简历模板,希望能帮到你
    点赞 回复 分享
    发布于 08-14 18:06 北京

    相关推荐

    点赞 评论 收藏
    分享
    jack_miller:我给我们导员说我不在这里转正,可能没三方签了。导员说没事学校催的时候帮我想办法应付一下
    点赞 评论 收藏
    分享
    4 39 评论
    分享
    牛客网
    牛客企业服务