标签:lis uda lca 问题 管理 new inux 初始化 linux
1.C++ 多态,多态的实现,c++虚函数,虚函数和纯虚函数有什么区别,虚函数的实现原理,虚继承,析构函数和虚函数的关系,析构函数能否为虚,为什么析构要虚函数,析构函数声明为虚函数的作用,构造函数为啥不能定义为虚函数,析构函数为啥一般定义为虚函数
2.c++内存管理机制
3.const,static,static作用,static能否为虚函数,static 线程安全
4.malloc和new的区别
5.进程,线程,Linux多进程之间通信方式
6.指针和引用的区别
7.拷贝复制(深拷贝浅拷贝)
8.堆和栈的区别,为什么栈要快
9.结构体和类的区别
10.函数指针
11.智能指针
12.C++和C的区别
13.mallca/free与new/delete的区别,new和malloc区别,讲一下new运算符的原理(底层使用了operator new(),最终调用了malloc),new运算符重载用过吗,怎么写重载函数,重载的定义
14.宏定义和枚举的区别
15.cpp 内部重载机制的实现;什么情况会导致野指针和段错误
16.哈希表原理
17.
2.c++ map 时间复杂度,如何实现
* map是红黑树实现的,查询复杂度为O(logn)
* unordered_map是哈希表实现的,查询复杂度是O(1)
* vector
* 如何实现
* 如果插入n个数时间复杂度
* 4G内存能存多少vector
6.linux相关:查看本机的状态的指令(内存,cpu,磁盘之类的),pageFault,进程空间地址和物理机物理地址映射相关
7.
static用法
- 修饰局部变量、全局变量、类成员、类成员函数
- 修饰局部变量的话只有在函数第一次调用的时候会对其进行初始化
- 修饰全局变量的话只能在本文件使用,别的文件无法访问
- 修饰类成员的话该类的所有对象共有该静态成员
- 修饰类成员函数的话该函数只能访问静态成员,无法调用其他非静态成员函数也无法修改其他非静态成员,因为静态成员函数没有this指针
static修饰的变量放在内存的哪个区(全局变量区)
还有别的什么区(堆区、栈区、程序代码区,文字常量区漏了没答上)
一个空类,什么都没有,sizeof这个空类的对象,大小是多少?(1字节)
为什么是1字节(只记得有这么一个规定,具体为啥不知道)
多线程编程中各个线程共享哪些资源(应该是堆区和全局变量区,栈区不共享,答错了)
10.C++11有什么新特性
13.常用的linux命令?
17.C++的STL常见的数据结构
map和unordered_map的区别
vector支持的操作,push_back操作的时间复杂度,vector如何扩容,vector如何减小capacity
vector和list的区别的,应用
STL底层实现(list,vector,map,unorder_map),vector内存分配
问了stl里面set和map怎么实现的,顺势说了红黑树的性质还有左右旋转
19.linux查看进程占用cpu
linux根目录下每个目录的作用
21.tac命令
27.如何实现禁止继承
29.long和long long的区别,文件如何获取大小,sizeof(\0)和strlen(\0)是多少
30.红黑树优点,应用;
解略,明显是dp问题,推出公式,写出代码。
标签:lis uda lca 问题 管理 new inux 初始化 linux
原文地址:https://www.cnblogs.com/ymjyqsx/p/9696967.html