发一波图像/计算机视觉算法提前批的面经,攒好运!!!
哈哈,插入一波广告,欢迎投递IES互娱研发多媒体部门,投递链接搜索抖音即可查询岗位,有图形、图像、计算机视觉、音视频,Cpp等背景的同学可重点考虑;此外,研发类技术岗如前端、客户端等也不少HC,其中客户端缺口很大,没有相关经验但只要计算机基础较好也可赢得offer。
个人背景:
图像拼接、图像特征匹配(instance-level matching and semantic-level matching) 传统图像处理 + 深度学习
OPPO-计算机视觉算法
一面: 大约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.项目京东商城-图像算法
一面: 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. 在实验室的出勤作息,每天除实验室工作外,个人进行自我技术学习、提升的有效时间能够保证多少
三面: 项目 为什么用CNN不用DNN提特征? L1、L2正则化,L1为什么会产生稀疏解? 实习有哪些收获? HR: 人生理想、职业规划、其他意向书、个人选择意愿等等
搜狗-计算机视觉算法 一面(二位面试官): 1. 实现双端队列 2. 求二值矩阵中,4或者8连通域的个数 3. 全程聊项目 二面(大leader): 聊项目 三面HR: 1.介绍自己的技术背景,详细介绍,,跟当前面试的的搜狗组内业务有什么匹配的地方 2.为什么想来搜狗面试? 3.有哪些offer 4.选择offer的时候会如何考虑 5.如何评价自己,如何看待自己跟别人的差距英特尔-图像/视觉算法
一面: 项目介绍 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等相比,有哪些优势?获取的匹配结果是不是更好? 除了上层图像应用算法的研究,工作内容还涉及底层优化、加速、硬件封装,接不接受全栈?如何看待全栈? 个人在研究生阶段做图像、视觉以来的个人成长和收获 有木有学生社团经历? 工作内容涉及跟国外其他部门的协商,个人能不能胜任团队合作、跨国协调?