面试汇总

一,项目涉及知识点

1,kmeans原理,优缺点

面试汇总_第1张图片
二、编程基础

1,指针和引用

指针是地址,引用是别名

面试汇总_第2张图片

2,虚函数,多态,虚析构函数,纯虚函数

面试汇总_第3张图片

虚函数:

虚函数是基类函数加上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张图片

面试汇总_第5张图片

4,static是什么

当static关键字修饰局部变量时,只会初始化一次

当static关键字修饰局部变量时,在程序中只有一份内存

Static关键字修饰的局部变量只限制在当前作用域范围内使用(即不可改变其作用域)

当static关键字修饰全局变量时,作用域仅限于当前文件,外部类是不可以访问到该全局变量的

Static关键字可延长局部变量的生命周期,直到程序结束才销毁。

5,设计模式,什么是单例设计模式

面试汇总_第6张图片

工厂模式:

单例模式

6,进程线程,线程创建方式,最快的是哪种

最快的是线程池

面试汇总_第7张图片

面试汇总_第8张图片

面试汇总_第9张图片

面试汇总_第10张图片

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,那么久针对这一列的属性把两个表合并的操作就是连接

面试汇总_第11张图片

4、数据库设计三大范式

5,mysql搜索引擎哪几种?差别?

面试汇总_第12张图片

四、数据结构

1,二叉树遍历

面试汇总_第13张图片

五、计算机网络

10,get,post

面试汇总_第14张图片

你可能感兴趣的:(面试)