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

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

重磅干货,第一时间送达

作者:雲水謡

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

本文已授权转载,如需转载请联系原作者

内推码

内推码:NYUE2YK

投递链接:https://job.toutiao.com/s/JRYe4Nf  

个人背景:

图像拼接、图像特征匹配(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提特征?L1、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等相比,有哪些优势?获取的匹配结果是不是更好?

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

个人在研究生阶段做图像、视觉以来的个人成长和收获

有木有学生社团经历?

工作内容涉及跟国外其他部门的协商,个人能不能胜任团队合作、跨国协调?

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

你可能感兴趣的:(算法,java,面试,python,编程语言)