基础
说说C指针的理解
-
什么是RAII设计模式,哪些场景下会用到
-
type-id是什么?RTTI了解过多少?
-
设计模式了解多少?单例模式怎么实现的?magic static怎么保证线程安全
-
解释一下static关键字的用法?static的初始化是在什么时候的?
-
C++基类的析构函数是否为虚函数,如果不是会发生什么
-
指针占多大内存,如何判断机器是几位的
-
map, unordered_map的数据结构
了解虚表和虚指针吗?
-
说一下C++的多态?
-
C++的多态是怎么做到的---模板编程和虚函数
-
静态成员变量的特性?
-
类中定义普通成员函数和静态成员函数的区别?
-
两种函数的调用约定是什么样的?没懂啥意思,说是什么导出的声明
-
为什么静态成员函数可以不给this指针使用?
-
vector扩容?
-
emplace back,vector里面emplace back是什么
-
右值引用是怎么样的,如果没写右值引用的函数呢?主要就是减少一次拷贝
-
在写webserver的时候,socket编程是阻塞还是非阻塞的,边缘触发和水平触发的区别是什么
-
阻塞的话你用的是水平出发还是边缘触发,为什么呢
-
虚函数和虚函数表
-
讲一下no except如果出现了异常会怎么办?
-
为什么不用别人的序列化和反序列化框架,公司用这个有什么特殊的意义嘛?
-
队列之间是怎么同步消息,mmap解释一下怎么通信的?解释reactor是做什么做到通信的 extern有什么用,为什么要这样做呢,不这样做为什么报错
-
四个cast讲一下,dynamic_cast和static_cast是在什么时候转换的?
-
如果dynamic_cast是在运行时转换,原理是什么?
- 一个空类的大小
- class 里面定义int a,如果不实现构造函数,实例化这个类,a的值是?
- unique_ptr可以作为函数返回值吗
STL Vector线程安全吗,不安全在哪 18. 多线程下使用Vector一定要加锁吗 19. 两个线程同时对Vector下相同索引的元素修改会发生什么 20. C++ 内存序介绍一下
2、B是A的内部类,B能否访问A的private成员?A能否访问B的private成 员? 3、有什么办法能让B访问A的私有成员?(答的声明成友元类) 4、友元破坏了封装性,那么不破坏封装性的情况下怎么做?(提供getter/setter接口) 5、如何在B对象内调用A的成员函数? 6、如何设计一个任务队列,支持优先级区分、取消任务
3、C语言的 malloc/free 和C++ 中 new/delete 的区别 4、C++如何支持重载的,为什么C无法重载?
1.内存分配情况,存放在哪里。 2.函数参数传递的方式和特点。 3.static和const的区别。 4.static修饰局部变量、全局变量、函数和类各有什么特点。 5.C++和C的区别。 6.new和malloc,free和delete区别。 7.指针和引用区别。 8.深拷贝和浅拷贝。 9.进程间通信,管道的特点。 10.内存泄露,如何检测。 11.define特点,怎么定义一个a+b的宏。 12.sizeof和strlen区别。 13.sprintf、strcpy和memcpy区别。 14.虚函数特点。 15.父类子类构造析构函数调用顺序。 16.构造析构能否抛出异常,能否是虚函数。 17.内存对齐。 18.STL有哪些容器,各自特点。 19.vector扩容如何实现。 20.map、set特点,怎么实现的。 21.内联函数。 22.gdb如何debug,怎么传参。 23.只有一个接口,怎么控制内部和外部访问。 24.怎么设计实现遥控器。 25.指针的初始化和释放。 26.三个进程都需要读写一块内存,如何调度。