一,项目涉及知识点
1,kmeans原理,优缺点
二、编程基础
1,指针和引用
指针是地址,引用是别名
2,虚函数,多态,虚析构函数,纯虚函数
虚函数:
虚函数是基类函数加上virtual关键字后,就能够通过基类的指针调用派生类的函数。
通俗意思:基类Animal有一个eat函数,派生类sheep的eat实现是吃草,派生类Tiger的eat实现是吃肉。
Sheep s; Tiger t; Sheep * p1=&s; Tiger* p2=&t; p1->eat(); p2->eat();这样能实现功能,但是违背了多态原则
Animal a; Tiger t; Animal * p1=&s; Animal* p2=&t; p1->eat(); p2->eat();这样p1,p2调用的都是animal的eat,不调用派生类的eat
如果在基类animal的函数前加上virtual,上面方式就可以调用基类和派生类的函数
虚析构函数:
通过基类指针来删除派生类对象时,基类的析构函数应该是虚的,否则其删除效果无法实现。若不用虚析构函数,就只能删除基类对象,不能删除子对象,造成内存泄漏。
纯虚函数:纯虚函数是一种特殊的虚函数,在许多情况下,在基类中不能对虚函数给出有意义的实现,而把它声明为纯虚函数,它的实现留给该基类的派生类去做。
3,重载,重写
4,static是什么
当static关键字修饰局部变量时,只会初始化一次
当static关键字修饰局部变量时,在程序中只有一份内存
Static关键字修饰的局部变量只限制在当前作用域范围内使用(即不可改变其作用域)
当static关键字修饰全局变量时,作用域仅限于当前文件,外部类是不可以访问到该全局变量的
Static关键字可延长局部变量的生命周期,直到程序结束才销毁。
5,设计模式,什么是单例设计模式
工厂模式:
单例模式
6,进程线程,线程创建方式,最快的是哪种
最快的是线程池
7,深拷贝,浅拷贝
8、构造函数
构造函数 ,是一种特殊的方法。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。特别的一个类可以有多个构造函数 ,可根据其参数个数的不同或参数类型的不同来区分它们 即构造函数的重载。
三、数据库
1,查找mysql数据时间最近的前十行
select * from ... where ... order by time desc Limit 0,10
2,分页查询
select .. from ... limit 0,10;
0:显示第1页 10:每页显示10条
3,内连接,外连接,左连接,右连接
四种连接都是为了把两个表合成一个表,这两个表呢,其中至少应该有一列的数据属性是相同的,在下面的两个表中,列属性包含id,size,name。那么这两个表共有属性的列是size,那么久针对这一列的属性把两个表合并的操作就是连接
4、数据库设计三大范式
5,mysql搜索引擎哪几种?差别?
四、数据结构
1,二叉树遍历
五、计算机网络
10,get,post