面试c++被问到的一些问题。
1.信号与槽的实现机制,与什么设计模式有关。----观察者模式
2.qt的5种connect的关系,有什么不同。
3.如何实现线程同步、进程同步。
4.vs编译选项MD和MT的区别。----VS项目属性中C/C++运行库 、MT /MTd /MD /MDd_ymxwz的专栏-CSDN博客_c++ mt
5.内存对齐方式和作用。
6.static的作用。
7.类和结构体的异同,能否直接将class换位struct。
8.__FILE__的实现原理。
9.多进程的作用,与多线程的区别。
10.read和fread的区别。-----fread有缓存
11.sizeof的用法。
12.如何使用联合体来查看是大端序还是小端序。
13.哈希表相关操作。
14.TCP/UDP的区别,tcp几次握手,分别是什么目的。socket编程相关。
15.进程间通信的方式,各有什么优缺点,说一说使用场景,线程间通信有哪些方式。
16.线程池和守护进程的实现。(问了两次)
17.协程是什么?有什么优缺点。
18.常用的Windows API和Linux API有哪些?
19.简述windows和linux的文件系统和基本原理。
20.linux和Windows下的调试方法有哪些?如何进行调试?GCC常用指令。vim常用指令。
21.c语言的基本函数,memcpy等的用法。
22.虚函数、纯虚函数、抽象类这些名称的意义,虚析构函数的作用、虚构造函数有吗?它有什么用(没有虚构造函数)。
23.static和const的作用,修饰函数时有什么作用,它们同时修饰一个函数可以吗?
24.qml、串口通信、分布式技术、虚拟化技术、docker这些简单说明一下。
25.c++中new的重载方式分别是什么,有几种?
26.重载、覆盖(重写)、覆盖这三者是什么,简单说明一下。
27.Windows和Linux下如何查内存泄漏,遇到过哪些内存泄露的情况,如何解决的。以及没有工具如何查找内存泄漏的点。
28.变长结构体是什么,如何实现。
29.共享内存的优缺点和使用场景。
30.野指针是什么?怎么出现的。
31.this指针的作用。
32.公有继承和私有继承,基类对象的变化。(问题没记清楚,主要是公有和私有的区别)
--------------------------------------
33.虚函数表如何实现?重载如何实现?(C++对象模型那本书上的内容)
34.一个 空类对象或结构体 在32位和64位下面的大小(都是一个字节)