面试问题

1 介绍下自己

  1. 介绍下之前的框架
  1. 基础知识
  1. 排序算法的认识
  1. 算法复杂度
  1. 设计模式
  1. 继承
  1. 对c++11的了解
  1. 业余爱好

1.1 工作经历

1.2 做过的项目

设计制作的功能

功能对应的数据结构

vector注意事项

迭代器使用注意

知道的排序算法

快排的简介

vector这些容器的插入,遍历,删除,查找的时间复杂度

链表的增删查改的时间复杂度

单例模式的使用情况

其他模式的了解

堆和栈的区别

指针常量和常量指针是一回事吗,不是有什么区别

父类析构函数为虚函数的好处

释放父类指针时会,能正确释放子类对象

堆是程序员分配的内存

栈是系统分配管理的内存

浅拷贝

创建对象A,然后直接通过函数传递使用或者再创建一个对象A1用等号赋值是否有风险

红黑树和AVL树的区别

插入删除后旋转的次数不同,红黑树插入最多2次删除最多3次,AVL树则会出现log n次

插入删除后迭代器的状态

vector自动扩容的好处和坏处

数字越界

int32 * int32 / int32 是否会越界

对链表了解吗

能否自己实现一个链表,然后实现任意一个排序算法进行排序