面向视觉算法工程师岗位,涉及编程基础(C++)、数据结构、图像处理、机器学习、深度学习等
本文最后附有学习资料
编程基础
C与C++的区别
1)C面向过程,C++面向对象
2)动态管理内存的方法
C是使用malloc/free函数,而C++除此之外还有new/delete关键字
3)struct和类
C++的类是C所没有的,但是C中的struct是可以在C++中正常使用的,并且C++对struct进行了进一步的扩展,使struct在C++中可以和class一样当做类使用,而唯一和class不同的地方在于struct的成员默认访问修饰符是public,而class默认的是private
4)函数重载
C++支持函数重载,而C不支持函数重载,而C++支持重载的依仗就在于C++的名字修饰与C不同,例如在C++中函数int fun(int ,int)经过名字修饰之后变为_fun_int_int,而C是_fun,一般是这样的,所以C++才会支持不同的参数调用不同的函数
5)引用
C++中有引用,而C没有
6)const
C 中用const修饰的变量不可以用在定义数组时的大小,但是C++用const修饰的变量可以
面向对象编程特点
多态
多态的目的是为了接口重用,也就是说,无论传递过来的究竟是哪个类的对象,函数都能通过同一个接口调用适应各子对象的实现方法,具体的,因为父类的指针或引用可以指向其子类对象,而通过基类指针或引用调用虚函数时
虚函数
虚函数是C++中用于实现多态的机制,通过关键字virtual实现,具体的是将父类的某些成员函数定义为虚函数,然后在其子类中重新定义这些函数,当使用父类的指针或引用调用虚函数时,具体调用父类还是子类中的函数,需要在程序运行阶段才能确定,即根据指针或引用所指向数据的类型确定,表现为,同一段代码根据传入的参数类型不同,可能会产生不同的效果。
结构体与共用体区别
1)struct和union都由多个不同的数据类型成员组成,但在同一时刻,union中只存放了一个被选中的成员,而struct中所有成员都存在。
2)在struct中,各成员都占有自己的内存空间,它们是同时存在的,一个struct变量的总长度等于所有成员长度之和。在union中,所有成员不能同时占用它的内存空间,它们不能同时存在,union变量的长度等于最长的成员的长度。
3)对union中不同成员赋值,将会对其它成员重写,原来成员的值就不存在了,而对于struct的不同成员赋值是互不影响的。
参数传递方式
1)值传递
这种传递方式中,实参和形参是两个不同的地址空间,参数传递的实质是将原函数中变量的值,复制到被调用函数形参所在的存储空间中,这个形参的地址空间在函数执行完毕后,会被回收掉。整个被调用函数对形参的操作,只影响形参对应的地址空间,不影响原来函数中的变量的值,因为这两个不是同一个存储空间。
2)引用传递
这种参数传递方式中,形参是引用类型变量,其实就是实参的一个别名,在被调用函数中,对引用变量的所有操作等价于对实参的操作,这样,整个函数执行完毕后,原先的实参的值将会发生改变。
3)指针传递(地址传递)
这种参数传递方式中,实参是变量的地址,形参是指针类型的变量,在函数中对指针变量的操作,就是对实参(变量地址)所对应的变量的操作,,函数调用结束后,原函数中的变量的值将会发生改变。
进程与线程
STL
STL分为容器、迭代器、空间配置器、配接器、算法、仿函数六个部分。
1)顺序容器
vector,list,deque,stack,queue,priority_queue
2)关联容器
map,set
3)容器选用
a.插入删除操作
b.元素的访问
c.选择容器的提示
指针与引用的区别
1)指针有自己的一块空间,而引用只是一个别名;
2)使用sizeof看一个指针的大小是4,而引用则是被引用对象的大小;
3)指针可以被初始化为NULL,而引用必须被初始化且必须是一个已有对象的引用;
4)作为参数传递时,指针需要被解引用才可以对对象进行操作,而直接对引用的修改都会改变引用所指向的对象;
5)可以有const指针,但是没有const引用;
6)指针在使用中可以指向其它对象,但是引用只能是一个对象的引用,不能被改变;
7)指针可以有多级指针(**p),而引用至于一级;
8)指针和引用使用++运算符的意义不一样。
数据结构
顺序表与链表的区别
二叉树遍历方式
hash冲突及解决办法
图像处理
边缘检测算法
特征提取
机器学习
监督学习、半监督学习、无监督学习、弱监督学习、迁移学习的含义
深度学习
参数初始化方法及区别
模型优化方法及特点
激活函数及优缺点
过拟合和欠拟合
梯度消失和梯度爆炸
Softmax公式
Dropout原理与实现
正负样本不均衡
网络层数确定
均值和方差
正则化方法
参数初始化方法
降维方法
经典模型结构
目标检测分类
其他
简单的自我介绍
职业规划
想问的问题
学习资料