2021届图像/计算机视觉算法提早批的面经 | 附内推码

点击上方“视学算法”,选择加"星标"或“置顶”python

重磅干货,第一时间送达linux

做者:雲水謡c++

来源:https://www.nowcoder.com/discuss/262804?source_id=profile_create&channel=1001面试

本文已受权转载,如需转载请联系原做者算法

内推码

内推码:NYUE2YKshell

投递连接:https://job.toutiao.com/s/JRYe4Nf  编程

我的背景:
windows

图像拼接、图像特征匹配(instance-level matching and semantic-level matching)数组

传统图像处理 + 深度学习网络

OPPO-计算机视觉算法(sp)

一面:

大约40分钟吧,主要聊项目,问的问题很少。

1. 针对项目问了一些问题,问的比较浅

2. SIFT特征提取怎么作的,具有什么性质,为何

3. 高斯滤波,均值滤波,中值滤波

4.手写中值滤波

二面玄学:

差很少10-15分钟左右吧,直接开问,主要就简历上的东西快速问一下,基本没涉及具体技术的东西

三面HR:

20分钟左右吧。我的状况、家庭状况、待遇预期、遇到的困难、职业规划等等吧。。。

头条互娱-图形图像(意向书):

一面:

1. 图像降噪算法

2.图像加强算法

3.边缘检测算子:Robert prewit sobel 拉普拉斯 canddy

4.手写马赛克代码

5. 手写高斯滤波以及优化

6. c++多态:重载和虚函数

7. 虚函数表、虚函数表指针大小、虚函数表存储的位置

8. gcc编译过程

9.项目

10.手写洗牌算法:N张牌等几率出如今每一个位置

 

二面:

1.  C++ 11新特性

2. const做用:const int func(const int& A) const

3. new/malloc区别

4. 虚继承

5.四种类型转换

6.智能指针

7.左值右值、move

8.手写双向链表随机插入新元素的类

9.机器学习:adam、SGD、RMSProp区别

10.1*1卷积的做用

11. 贝叶斯估计与最大似然估计的区别

 

三面:

1.手写均值滤波以及优化代码

2. ML/DL数据处理相关操做

3.项目

京东商城-图像算法(sp)

一面:

1-n内的个位为1的全部素数

手写快排,并计算数组内每一个元素在排序完成后的相对位置

手写二分查找

C++多态的原理

项目

二面:

C++动态联编

求二维0/1矩阵中边界都是1的最大正方形

shell编程:查找大批量文件,文件名输出重定向到log文件

SIFT的原理

BN的原理

过拟合的预防

项目

其余的记不清了

三面:

项目

四面:

vector、list、stack底层实现的原理、使用场景、特色对比

使用二个栈实现双端队列

回溯和分支定界法分别是DFS仍是BFS?DFS和BFS的使用场景,适用于解决什么样的问题

SIFT 的原理

图像处理问题大规模使用卷积的优点和原理

模型压缩

BN放置的位置

PCA和SVD的区别以及求解过程

开放场景题:如何估计二维静态图像中前景目标的姿态和朝向

根据相机针对同一场景拍摄的连续图像,如何估计相机的内外参

图像配准

比较零碎,其余的记不清了

陌陌-CV算法(排队沦为备胎)

现场笔试:

给定整数数组和大小为k的滑动窗口,求滑动过程当中全部滑动窗口内的最大值

给定一个整数数组,求数组全部元素可以拼接成的最小整数

一面:

 模型压缩、量化的方法

 项目中遇到过拟合的解决办法

 项目中使用数据加强的方式

 TensorRT

 ONNX

训练数据类别样本不平衡的解决办法

awk的使用,还有个啥命令记不清了

shell编程:有一个存储有name id score 三个属性的文本文件,查找score 在0.7与0.8之间的全部样本的 id

介绍经常使用的激活函数以及特色,推导sigmoid的求导

使用过哪些经典的网络结构,介绍mobilenet V2 与 V1 的对比

聊项目

咨询了陌陌这边有没有作图像匹配相关业务的,而后一面面试官就把后面的技术面都安排了图像检索、视频检索、推荐相关的组

二面:


手写Resnet的跳转链接(pytorch),以类的形式封装好,后续别的网络模块可直接调用

进程和线程的区别

多CPU、多I/O场景下该选择多进程仍是多线程?

python下多线程和多进程的使用,我的在实际中如何选择和尝试的?

为何python下多线程不起做用?扯了python是面向解释,不是编译的语言,继续被追问根本缘由?继续扯了python里有一个全局解释器锁机制(好像叫这个)?继续被追问解释器锁如何加锁?

聊项目

谈谈图像匹配在图像检索、推荐中的应用

三面(HR):

  1.   聊实习的收获、指望薪资待遇、介绍当前跟其余公司沟通的阶段

  2.  HR介绍公司状况、文化氛围、技术团队

  3.  我的就业规划

 ps:听别人hr面的时候,说整个cv团队秋招应该只收10我的,不知真假

 

四面:

传统的hand-crafted特征(SIFT、ORB等)与基于学习的ConvNet特征的对比以及使用场景

聊实验室项目、实习项目

图像实例匹配、语义匹配在图像检索、单目标视频检测、识别中的应用前景

吧。。。

阿里-图形图像算法(一面挂)

电话一面:

介绍项目

resnet的网络结构以及为何这么设计

激活函数的优缺点

cnn,rnn,lstm的熟悉程度

各类优化器的优缺点(SGD,MOM*,RMSPROPS,ADAM)

逻辑回归和线性回归的区别

GBDT、XGBDT、SVM用过没

降维算法有哪些,PCA是具体怎么作的

网易互娱-游戏开发(放弃二面)

视频一面:

重载和重写的区别

重写的原理(多态与虚函数的原理)

子类继承二个有虚函数的父类,那么子类有几个虚函数表

static关键字的做用

智能指针、shared_ptr底层如何实现

共享指针的循环引用、weak_ptr如何解决shared_ptr的循环引用

struct的内存占用计算规则

map与unordered_map的区别,底层实现原理

dfs和bfs的区别,具体如何实现

锁的原理、共享锁、自旋锁、读写锁,自旋锁的底层实现

缺页中断

socket编程

编程题:双向链表反转

编程题:双向链表分割为二段,左侧小于target,右侧大于target,且不改变原先元素之间的相对位置(即分割要求是稳定的)

网易有道-CV算法(二面挂)

一面:

项目介绍

介绍SIFT的原理和特性

SIFT计算梯度主方向,为何就能保证旋转不变性

图像间的几何变换模型有哪些?

一张有褶皱的纸,怎么变形至平坦?

resnet的特色

手撕代码:快排,分析快排的平均时间复杂度和最慢效率都是如何计算出来的

 

二面:

项目介绍

mobileNet v1 与 v2的特色以及区别,还被问到了解v3不

shuffleNet原理,怎么shuffle,v1与v2的区别

算法题:给定一个元素大小在[1,100]之间的整数数组,若是一个数是数组中任意三个元素的最小公倍数,那么这个数也是该数组的公倍数,

        求数组全部公倍数中最小的那个,如{1,2,3,4,5,6},那么该数组的最小公倍数是4,由于{1,2,4}的最小公倍数最小

滴滴-自动驾驶研发/算法(意向书)

一面(1h,全程问内存管理):

操做系统的内存管理负责干啥

内存泄漏、野指针、悬空指针

如何提升内存管理的效率

***的机制

页表的机制、缺页中断、页面调度算法

为何要设计逻辑地址?逻辑地址的优点在哪?当前有大容量PC内存,逻辑地址为什么还要保留?

逻辑地址怎么转换为物理地址

多态和虚函数的原理

malloc申请地址时,操做系统是如何响应的,从内核到获取内存地址,中间发生了什么

内存空间一级、二级配置器

进程、线程、协程的区别

多进程 多线程 多协程的应用(python / c++下分别说明)以及python的GIL

python迭代器和生成器的底层原理,以及还有关键字 yield的底层原理

进程之间如何通讯?

对锁的理解,互斥锁的底层如何实现的,跟内存访问的底层如何创建关系(唉又回到了内存管理)

哈希表的做用、原理、解决冲突的办法

项目的难点在哪?怎么克服的?最有成就的收获是什么?

在线笔试成绩为何作的很差,编程题只得了4分,选择题也错很多?被吐槽回去好好练习一下,多写代码,不过仍是给了经过,膜拜orz。。。

 

二面(40 min):

Linux下进程和线程的区别

用过多进程、多线程没?C++的QTread 、Python的GIL?线程池的优点,为何效率高?

代码:快速排序,并逐行代码解释,针对测例完整推理一下所有的执行过程以及中间结果

项目简要介绍

对作算法和作研发的认识? 被吐槽想的太浅?

开启劝退模式,给我详细讲了算法和研发的发展前景以及业务侧重场景。。原本已经准备拿瓶水,拧包走人了,被告知二面经过。。。。大概就是他,又给我调去了滴滴网约车的路径规划算法组。。

 

三面(题目场景比较开放,40min):

图像特征提取、特征匹配用没用slam的开源库?跟slam的图像匹配算法有哪些不一样?

tensorflow和pytorch的使用体验对比,以及各自的优缺点

物联网的课程与计科有啥不一样?有大数据处理(数据挖掘)相关的课程没?

神经网络模型上线时还须要考虑那些因素?(回答了一些网络裁剪、压缩、量化、引擎等相关的)

本身作项目面向对象编程时,有哪些收获?踩过哪些坑?

项目介绍

代码:字符串编辑距离

介绍滴滴网约车的路径规划中:图像/视频语义理解、目标识别检测、异常检测等CV的应用,以及图像匹配算法在其中的应用

360-核心引擎算法(备胎池沉底了)

一面:

聊项目

介绍SIFT的原理和特性

对比传统图像的二维卷积和深度学习中的三维卷积,介绍后者在图像处理中的优点

手撕代码:给定“AABBCFFSS”相似的字符串,如何找到只出现一次的那个字符。(二分法最快)

谈谈对指针、引用的理解

指针引用和引用指针

有海量数据,须要排序,如何操做?

二面:

聊项目

手撕代码:也是二分的变形:区间检索

三面:

职业规划(致命题)

评价一下本身

实习收获

实习负责的业务

学校和公司的学习环境区别

指望待遇

商汤-CV算法(一面挂)

一面:

项目

手推softmax的BP公式

白板代码:计算二值矩阵的连通域个数

美团-机器学习/数据挖掘算法(意向书)

一面:

1. 五年之内的职业规划

2. 介绍最有成就感的项目(图像、CV项目)

3. 分条归纳项目的难点,怎么尝试解决的

4. 解决过拟合的方法有哪些

5. dropout的随机失活因子以及怎么反向传播

6. 池化层如何反向传播

7. BN底层如何计算,手撕BN ,BN在训练、测试阶段的计算有什么区别

8. SVM的松弛因子做用

9. 树模型节点划分的依据,如何理解基尼系数的概念

10.并发和并行的区别

11.第一范式、第二范式

12.手撕2的N次方,如何解决N过大引发的溢出

 

二面:

1.聊项目(图像、CV项目),难点怎么解决的

2. ResNet为何可以保证很深的网络具有不错的效果?

3. 问一些一面聊过的DL、ML基础知识

4. GAN、LSTM、GRU、NLP相关的大概聊聊,文本、推荐相关的不咋懂,聊不下去

5. XGBoost、GBDT

6. 手撕如何使用rand7()生成rand10()

7. 我的的规划,是否是必定要作图像相关的? 

8. 平时如何进行技术的学习、积累,用哪些途径?

9. 在实验室的出勤做息,天天除实验室工做外,我的进行自我技术学习、提高的有效时间可以保证多少?

 

搜狗-计算机视觉算法(sp)

一面(二位面试官):

1. 实现双端队列

2. 求二值矩阵中,4或者8连通域的个数

3. 全程聊项目

二面(大leader):

聊项目

三面HR:

1.介绍本身的技术背景,详细介绍,,跟当前面试的的搜狗组内业务有什么匹配的地方

2.为何想来搜狗面试?

3.有哪些offer

4.选择offer的时候会如何考虑

5.如何评价本身,如何看待本身跟别人的差距

 

三面:

项目

为何用CNN不用DNN提特征?L一、L2正则化,L1为何会产生稀疏解?

实习有哪些收获?

HR:

人生理想、职业规划、其余意向书、我的选择意愿等等

英特尔-图像/视觉算法(经过)

一面:

项目介绍

SIFT的原理(尺度不变性、旋转不变性),如何下采样,下采样因子多少,为何要求解DOG,为何要使用三线插值函数,128维度描述子怎么来的,

            梯度直方图怎么算的,梯度怎么算的,梯度方向怎么算的,邻域范围选的多大等等

除了SIFT,还知道哪些特征,除了SIFT、SURF、ASIFT、ORB、HOG还有啥

特征降维有哪些方式?下采样,NMS,1*1,pca,LDA?

ransac算法怎么实现的?最少须要几个点才能肯定一个几何变换模型?

3*3的几何变换矩阵,每一个参数表明啥意思?

距离度量方式有哪些

LBP特征如何计算类似性(汉明距离),汉明距离怎么计算

数据加强有哪些方式,具体的图像处理操做又有哪些?

学习率设置过大,可能会产生哪些缺陷

dropout的原理,相似于传统处理算法中的什么操做(开放问题,无标准答案)

列出知道的激活函数,写出来函数表达式,画出函数走势图和取值范围

不一样的激活函数在什么状况下使用,是如何考虑的

LSTM常使用sigmoid,tanh, 而CNN常使用relu是否是有什么理论支撑?

给定一个问题,最早想到的是会使用什么损失函数?

二面:

介绍项目

英文介绍项目

怎么看待外企?来外企的意愿和去国内互联网企业的意愿比重?

除了图像算法,有木有从事软开的意愿?

三面:

介绍项目

论文状况

多线程怎么用的,涉不涉及线程之间的同步

相机的3A参数

四面:

struct和class的区别

struct中能不能声明函数,能不能定义private成员变量?

new和malloc的区别,new的底层怎么作的

虚函数的原理

内存泄漏含义,如何检测

C++11的四种类型转换以及怎么使用

堆和栈的区别

深拷贝和浅拷贝的区别

开发环境,linux,windows?

linux下我的使用的的python开发工具是啥?用IDE没?

好比输入一个一维数组[1,2,3,4,5,6,7,8,9,10,11,12]以及w=4,h=3,能够reshape成左图的格式,而后按照从下到上,从右向左的顺序遍历数组,输出一为数组[12,8,4,11,7,3,10,6,2,9,5,1]。

       在线judge系统跑起来.

void print(int* buf, int w, int h)

1  2  3  4

5  6  7  8

9 10 11 12

 

五面:

项目介绍

基于CNN提特征有哪些难点,须要考虑哪些地方,与SIFT相比,优缺点有哪些

优化器有哪些,各自的优缺点是啥,Adam底层如何设计的

C语言中的malloc返回的地址是啥(虚拟地址、逻辑地址、物理地址哪个)?何时完成地址映射的?使用上述对象的时候,操做系统是如何响应的?产生了中断仍是异常?缺页中断仍是缺页异常?中断和异常的区别?

多进程之间的通讯方式、多线程之间的同步方式

算法题:断定一个图是否是二分图?

六面:

英文自我介绍

打算留北京不?怎么看待户口?

基于CNN的特征提取、匹配算法与SIFT等相比,有哪些优点?获取的匹配结果是否是更好?

除了上层图像应用算法的研究,工做内容还涉及底层优化、加速、硬件封装,接不接受全栈?如何看待全栈?

我的在研究生阶段作图像、视觉以来的我的成长和收获

有木有学生社团经历?

工做内容涉及跟国外其余部门的协商,我的能不能胜任团队合做、跨国协调?

你点的每一个“在看”,我都认真当成了喜欢