文章目录
参考链接:
1.50 家企业 C++ 岗校招面经
2.2021 秋招 100 道 C++ 面试高频题汇总
3.熬夜整理的万字C/C++总结
4.C语言与CPP编程
1.左值引用与右值引用有什么区别,左值引用和右值引用的目的是什么?
2.虚函数和纯虚函数
3.构造函数和析构函数能不能是虚函数?
4.std::move 是什么
5.快速排序,常用的排序算法
6.多线程,怎么判断线程结束
7.vector 中迭代器失效的情况
8.虚析构函数
9.引用和指针的区别
10.静态链接库与动态链接库的区别
11.假如定义了一个指针,后面接着一个循环并 return,会造成什么后果?(内存泄漏)
12.音视频切换的多线程怎么处理帧切换的问题
13.死锁怎么产生的?有没有遇到过死锁问题?(多线程不是一般般的重要!)
14.找出数组中次数最多的前 k 个数
15.说下 C++ 新特性 auto变量的使用注意事项
16.设计模式、单例模式的线程安全问题
17.怎么实现 map<key,value> 的(key 是自定义类型)
18…C 和 C++ 的区别,
19.C++ 和 java 的区别
20.描述 STL;vector 和 list 的区别
21.vector 存放数据的注意
22.多线程同步
23.用英语简单描述自己的项目
24.C++ 的 static 关键字;static 在 C 和 C++ 的用法
25.智能指针,weak_ptr 能够破坏环型引用的原理(引用计数的原理)
26.用两个栈实现一个队列(频率比较高)
27.简述STL、vector
28.auto关键字 (不能定义数组)
29.Linux 中的互斥锁和XX锁
30.做两道编程题: 快速排序(函数参数只有 int array,int length)用两个线程实现循环加数
31.C++ 智能指针 shared_ptr 的特殊用法
32.C++ 内存管理
33.怎么解决程序 crashed 问题
34.C++11 什么新特性好用 多线程
35.用队列处理数据有什么好处?
36.在项目中使用过多态吗
37.STL 怎么解决哈希冲突
38.virtual 析构函数
39.写一个多态,展示内存泄漏
40.操作系统: 消息队列、进程消息
41.strcpy 和 memcpy 的区别
42.多态具体怎么定义;指针、引用怎么在多态里面用的
43.内存的分类
44.怎么获取二叉树的高度
45.设计模式有哪几种?单例模式有几种创建方式?
46.C++ 有几种构造函数
47.STL 的迭代器失效,怎么解决
48.智能指针的用法;智能指针的使用场景:连接数据库;智能指针内部原理;
49.STL 是复制性还是侵入性
50.红黑树比AVL的优势,为何用红黑树;红黑树的高度
51.动态规划与贪心算法的区别(背包问题分析)
52.数据库的锁、事务、引擎
53.多线程的使用场景;多线程的锁;
54.进程间的数据共享;怎么实现音视频同步;
55.vector 的内部机制
56.编译过程
57.虚函数表原理,虚表编译的过程
58.new 和 malloc 的区别
59.做题 多态的选择题手写 Rational 类(包括<< >>重载)
60.多态及其用处;多态、虚析构函数;
61.视频与音频怎么同步
62.多态及其用处;静态多态包含什么类型
63.extern “C”{}
64.const 的作用
一个栈多大?
GDB 的常用命令
多态的分类
auto 的类型判断发生在什么阶段(编译期) 如果是在运行期的话会发生什么问题
怎么实现一个服务端连接多个客户端?
C++的 sort 函数是怎么实现的?
写代码:找出数组中数量超过一半的元素
场景题:找出前 K 个最大元素的值(最大堆、最小堆的用法)
STL vector 的用法项目中是怎么用的
内存的分类
代码的处理过程、汇编的作用
GDB 怎么调试段错误,怎么查看栈
C++11 多线程 lock_guard 怎么自动处理的多线程怎么发送信号线程怎么退出
unique_ptr 智能指针
对象移动
vector 改变容量时要注意什么
类能否嵌套
空指针、悬垂指针
手写代码:自定义 String 类(真的要每天都复习八股文)
65.强制类型转换
给出一个二维 vector 表示点到原点的距离。一个五个点,5X5 的二维 vector。求从原点出发,再回到原点的最短路径,要求必须打印输出结果
讲下视频播放器 流程怎么使用多线程能否用一个线程实现考虑功能扩展吗
PTS、DTS的区别
对 I、B、P 帧的了解、MOOV 的格式了解
听过多用组合,少用继承吗
继承、多态的定义
写一个快排;能否用非递归方式实现;什么时候复杂度最大?
YUV 与 RGB 的区别
构造函数调用虚函数可以吗?会发生什么?
虚函数表原理
哈希表与红黑树的对比:结构、查找
信号与槽的底层原理;信号与槽怎么做到性能优化
做题 区别 const 指针与 const 变量引用的用法(左值引用与右值引用、引用不能改变绑定对象)多态的用法
1 小时内做 3 到算法题 反转单链表找出数组中最小的K个数长整数相加,讲解题目(做的不好,分析复杂度)
用过 C++ 的闭包吗?
浅拷贝和深拷贝的区别
C++11 新特性;解释右值引用是为了解决什么问题?(移动语义)
auto 关键字能给数组赋值,但是不能定义
多线程的原子类型
智能指针 环型引用shared_ptr 的引用计数原理
虚函数 虚函数是类的定义出现还是对象的时候出现纯虚函数
手撕代码:把有序链表转为平衡二叉树 怎么遍历结点复杂度优化遍历方式
红黑树的定义
进程与线程 多进程、多线程多进程通信的方式,有几种信号
C++11 的新特性 lambda 表达式多线程共享内容问题,共享对象存放在哪个空间
数据库 表是否一定要有主键主键与唯一索引的区别left join ,right join,full join怎么建立索引索引怎么优化
讲一下单例模式 多线程的单例模式锁互斥量为何能够用在多线程
下面是有一个全局变量 a 和两个线程,这两个线程同时开始并发执行各自的代码, 在两个线程都执行结束后,请问 a 的值为______
找出出现频率最高的前 K 个数,或者从海量数据中找出最大的前 K 个数
.实现排序二叉树的插入方法
OS:怎么避免死锁?
coding:LeetCode61 ——给定链表,按照某个规定旋转链表
coding:两数之和,非有序
构造函数能否为 virtual,能否调用虚函数?
虚表是怎么使用的?虚表指针存放在哪里?
Linux 在文本中快速查找内容找出进程的P ID (PS)如何查看 OS 的大小(free)
数据库 事务的定义、4 个特性脏读、幻读索引(数据结构、优缺点)锁的作用
内存泄漏是什么意思
工厂方法模式
指针和引用的区别 sizeof 的区别自增的区别内存上绑定的区别
STL 常用容器
new 和 malloc 的区别(高频)
怎么操作文件系统
多线程的用法 主线程次线程线程池
用过 socket 的 I/O 模型吗?
生产者消费者模式
vector 如何处理数据数据库
写代码:用 C++ 实现全排列
堆是不是二叉树
快排的思路
怎么删除双向链表?
函数未定义时会怎么样?
指针和引用的区别?在传递参数上有什么区别?
多线程怎么用的?
做一份笔试,问的比较细节,操作系统比较重要,几个 C语言的关键字没用过;