导航:首页 > 源码编译 > 传音集团算法工程师面试

传音集团算法工程师面试

发布时间:2022-11-08 07:07:03

❶ 计算机视觉算法工程师常见面试题1

参考: https://www.hu.com/column/c_1170719557072326656

反卷积也称为转置卷积,如果用矩阵乘法实现卷积操作,将卷积核平铺为矩阵,则转置卷积在正向计算时左乘这个矩阵的转置WT,在反向传播是左乘W,与卷积操作刚好相反,需要注意的是,反卷积不是卷积的逆运算。
[知乎问题+caffe实现]

实现上采样;近似重构输入图像,卷积层可视化。

只要激活函数选择得当,神经元的数量足够,至少有一个隐含层的神经网络可以 逼近闭区间上任意一个连续函数到任意指定的精度。

判别模型,直接输出类别标签,或者输出类后验概率p(y|x)
[ https://www.hu.com/question/268906476]
[ https://zhuanlan.hu.com/p/40024110]
[ https://zhuanlan.hu.com/p/159189617]

BN是在 batch这个维度上进行归一化,GN是计算channel方向每个group的均值方差.

检测结果与 Ground Truth 的交集比上它们的并集,即为检测的准确率 IoU

内存/显存占用;模型收敛速度等

Hessian矩阵是n*n, 在高维情况下这个矩阵非常大,计算和存储都是问题。

mini-batch太小会导致收敛变慢,太大容易陷入sharp minima,泛化性不好。

可以把dropout看成是 一种ensemble方法,每次做完dropout相当于从原网络中找到一个更瘦的网络。

pooling操作虽然能增大感受野,但是会丢失一些信息。空洞卷积在卷积核中插入权重为0的值,因此每次卷积中会skip掉一些像素点;

空洞卷积增大了卷积输出每个点的感受野,并且不像pooling会丢失信息,在图像需要全局信息或者需要较长sequence依赖的语音序列问题上有着较广泛的应用。

表达式为:

使用BN的原因是网络训练中每一层不断改变的参数会导致后续每一层输入的分布发生变化,而学习的过程又要使每一层去适应输入的分布,因此不得不降低网络的学习率,并且要小心得初始化(internal covariant shift)
如果仅通过归一化方法使得数据具有零均值和单位方差,则会降低层的表达能力(如使用Sigmoid函数时,只使用线性区域)
BN的具体过程(注意第三个公式中分母要加上epsilon)

最好的解释是通过1 * 1卷积核能实现多个channel间的解耦合,解耦cross-channel correlation和spatial correlation。
【但是因为解耦不彻底,因此后续有了mobile net的组卷积方式和shuffle net组卷积方式】

由于 1×1 并不会改变 height 和 width,改变通道的第一个最直观的结果,就是可以将原本的数据量进行增加或者减少。改变的只是 height × width × channels 中的 channels 这一个维度的大小而已。

1*1卷积核,可以在保持feature map尺度不变的(即不损失分辨率)的前提下大幅增加非线性特性(利用后接的非线性激活函数),把网络做的很deep。

备注:一个filter对应卷积后得到一个feature map,不同的filter(不同的weight和bias),卷积以后得到不同的feature map,提取不同的特征,得到对应的specialized neuron。

例子:使用1x1卷积核,实现降维和升维的操作其实就是channel间信息的线性组合变化,3x3,64channels的卷积核后面添加一个1x1,28channels的卷积核,就变成了3x3,28channels的卷积核,原来的64个channels就可以理解为跨通道线性组合变成了28channels,这就是通道间的信息交互

注意:只是在channel维度上做线性组合,W和H上是共享权值的sliding window

并不能说明这个模型无效导致模型不收敛的原因可能有

A. 在实际场景下,应尽量使用ADAM,避免使用SGD
B. 同样的初始学习率情况下,ADAM的收敛速度总是快于SGD方法
C. 相同超参数数量情况下,比起自适应的学习率调整方式,SGD加手动调节通常会取得更好效果
D. 同样的初始学习率情况下,ADAM比SGD容易过拟合

A.保证每一层的感受野不变,网络深度加深,使得网络的精度更高
B.使得每一层的感受野增大,学习小特征的能力变大
C.有效提取高层语义信息,且对高层语义进行加工,有效提高网络准确度
D.利用该结构有效减轻网络的权重

A.计算简单
B.非线性
C.具有饱和区

D.几乎处处可微
【relu函数在0处是不可微的。】

A.Adam的收敛速度比RMSprop慢
B.相比于SGD或RMSprop等优化器,Adam的收敛效果是最好的
C.对于轻量级神经网络,使用Adam比使用RMSprop更合适
D.相比于Adam或RMSprop等优化器,SGD的收敛效果是最好的
【SGD通常训练时间更长,容易陷入鞍点,但是在好的初始化和学习率调度方案的情况下,结果更可靠。如果在意更快的收敛,并且需要训练较深较复杂的网络时,推荐使用学习率自适应的优化方法。】

A.使用ReLU做为激活函数,可有效地防止梯度爆炸
B.使用Sigmoid做为激活函数,较容易出现梯度消失
C.使用Batch Normalization层,可有效的防止梯度爆炸
D.使用参数weight decay,在一程度上可防止模型过拟合

对结果存疑。认为二者皆可防止。

A.SGD
B.FTRL
C.RMSProp
D.L-BFGS

L-BFGS(Limited-memory BFGS,内存受限拟牛顿法)方法:
所有的数据都会参与训练,算法融入方差归一化和均值归一化。大数据集训练DNN,容易参数量过大 (牛顿法的进化版本,寻找更好的优化方向,减少迭代轮数)从LBFGS算法的流程来看,其整个的核心的就是如何快速计算一个Hesse的近似:重点一是近似,所以有了LBFGS算法中使用前m个近似下降方向进行迭代的计算过程;重点二是快速,这个体现在不用保存Hesse矩阵上,只需要使用一个保存后的一阶导数序列就可以完成,因此不需要大量的存储,从而节省了计算资源;重点三,是在推导中使用秩二校正构造了一个正定矩阵,即便这个矩阵不是最优的下降方向,但至少可以保证函数下降。
FTRL(Follow-the-regularized-Leader)是一种适用于处理超大规模数据的,含大量稀疏特征的在线学习的常见优化算法,方便实用,而且效果很好,常用于更新在线的CTR预估模型;FTRL在处理带非光滑正则项(如L1正则)的凸优化问题上表现非常出色,不仅可以通过L1正则控制模型的稀疏度,而且收敛速度快;

A.LSTM在一定程度上解决了传统RNN梯度消失或梯度爆炸的问题
B.CNN相比于全连接的优势之一是模型复杂度低,缓解过拟合
C.只要参数设置合理,深度学习的效果至少应优于随机算法
D.随机梯度下降法可以缓解网络训练过程中陷入鞍点的问题

实际上,现在有很多针对小目标的措施和改良,如下:

最常见的是Upsample来Rezie网络输入图像的大小;

用dilated/astrous等这类特殊的卷积来提高检测器对分辨率的敏感度;(空洞卷积是针对图像语义分割问题中下采样会降低图像分辨率、丢失信息而提出的一种卷积思路。利用添加空洞扩大感受野,让原本3 x3的卷积核,在相同参数量和计算量下拥有5x5(dilated rate =2)或者更大的感受野,从而无需下采样。在保持参数个数不变的情况下增大了卷积核的感受野)

有比较直接的在浅层和深层的Feature Map上直接各自独立做预测的,这个就是我们常说的尺度问题。

用FPN这种把浅层特征和深层特征融合的,或者最后在预测的时候,用浅层特征和深层特征一起预测;

SNIP(Scale Normalization for Image Pyramids)主要思路:

在训练和反向传播更新参数时,只考虑那些在指定的尺度范围内的目标,由此提出了一种特别的多尺度训练方法。

❷ 研发工程师的面试经验

关于研发工程师的面试经验

上周完成了在加拿大的第一次真正意义上的工作面试,五位面试官车轮战面试我一个人,一共用了差不多四个小时。无论最后成功与否,以下是自己总结的一些面试经验:

1. 跨专业找工作还是很有难度的。这次应聘的是一个跨国软件公司的研发工程师(以前在国内从来没想过去软件行业,甚至排斥IT民工这样的职业,可怜的是计算机依然是中国学生在国外的第一谋生手段)。第一个小时是编程能力的面试,面试官是两个资深的软件工程师。他们似乎根本不关心我的学历,经历,以及研究成果。上来就了用考察软件编程能力的问题狂轰滥炸。所幸的是问的问题比较随意,没有那种经过精心设计的题,基本上都还是应付过来了。

2. 第二轮是研发部门的头和一个研发工程师,好像都有博士学位。开始向我详细的介绍了他们部门的一些情况。然后就开始出一些技能考察的题。全是编程的算法题,至于编程是否规范和清晰,他们似乎倒是不关心,只着重算法的考察。起初的题目还算简单,很快一个小时就用完了。他们好像还有很多问题要问,只能安排第二天让我再去。

3. 第三轮是另外一个部门的头。只有这一轮的面试和我想象的差不多。面试官跟着我的节奏走,听我在那里滔滔不绝的说我博士期间的丰功伟绩,偶尔还问一两个外行人问的问题。然后就是一些普遍可以预测的问题,比如为什么要离开学术界,为什么要进他们公司,这些问题的答案估计面试者都烂熟于心的。

4. 最难的考验是第二天继续的技能考察,一个很难的算法,非常复杂。对于一个本科不是计算机专业,连离散数学,数据结构和算法等课程都没有学过的`我来说,是一个不可能完成的任务。十分钟搞不出来,面试官们失去了耐心,当场给我讲了讲解法。再后来的几个题也比较困难,回答勉强满意吧。总体感觉,第二天比一天的表现还是要差了不少。

总之,进入计算机软件行业,外国公司对于软件工程师几乎没有什么学历要求,在乎的是真材实料,比如思路是否清晰,书写是否规范。应聘再高级一点的职位,会多少种编程语言也不重要,我说我用Linux和Python,他们也没有表现出多少兴趣,我说我以前MATLAB用的最多,他们也表示认可。最早重要的还是软件的精髓--算法。当然,如果到了项目管理和架构师级别,肯定又是另一种情况了,貌似离我还非常遥远。

最最重要的一点。那就是一颗平常心看待面试的成败。成功了固然可喜,失败了也不可悲,一定还有更好更合适的机会。


;

❸ 我是应用数学专业,要参加浙江中控集团的笔试,我应聘的是算法工程师,谁知道笔试会考些什么

我应聘了硬件工程师,笔试题全是行测和情感题,面试技术方面比较多

❹ 诺瓦星云算法图像工程师面试好过没

好过。
1、诺瓦星云算法图像工程师的面试首先是电话面试,回答一些基本问题。
2、然后是自我介绍和最后的反问,真正的面试时间就十几分钟,侧重点在项目上,没有关于通用能力的问题,所以好过。

❺ 如何准备数据分析师面试

1. 理论知识(概率统计、概率分析等)


掌握与数据分析相关的算法是算法工程师必备的能力,如果你面试的是和算法相关的工作,那么面试官一定会问你和算法相关的问题。比如常用的数据挖掘算法都有哪些,EM 算法和 K-Means 算法的区别和相同之处有哪些等。


有些分析师的工作还需要有一定的数学基础,比如概率论与数理统计,最优化原理等。这些知识在算法优化中会用到。


除此以外,一些数据工程师的工作更偏向于前期的数据预处理,比如 ETL 工程师。这个职位考察你对数据清洗、数据集成的能力。虽然它们不是数据分析的“炼金”环节,却在数据分析过程中占了 80% 的时间。


2. 具体工具(sklearn、Python、Numpy、Pandas 等)


工程师一定需要掌握工具,你通常可以从 JD 中了解一家公司采用的工具有哪些。如果你做的是和算法相关的工作,最好还是掌握一门语言,Python 语言最适合不过,还需要对 Python 的工具,比如 Numpy、Pandas、sklearn 有一定的了解。


数据 ETL 工程师还需要掌握 ETL 工具,比如 Kettle。


如果是数据可视化工作,需要掌握数据可视化工具,比如 Python 可视化,Tableau 等。


如果工作和数据采集相关,你也需要掌握数据采集工具,比如 Python 爬虫、八爪鱼。


3. 业务能力(数据思维)


数据分析的本质是要对业务有帮助。因此数据分析有一个很重要的知识点就是用户画像。


用户画像是企业业务中用到比较多的场景,对于数据分析来说,就是对数据进行标签化,实际上这是一种抽象能力。


关于如何准备数据分析师面试,青藤小编就和您分享到这里了。如果您对大数据工程有浓厚的兴趣,希望这篇文章可以为您提供帮助。如果您还想了解更多关于数据分析师、大数据工程师的技巧及素材等内容,可以点击本站的其他文章进行学习。

❻ 软件工程师面试时,HR都会问些什么问题

软件工程岗位面试大致可分为两类:特定领域知识面试和计算机科学基础知识面试

特定领域知识面试
特定领域知识面试通常涉及到你最熟悉的技术领域的具体知识点。例如,如果你主要使用Angular1.x进行前端开发,并且面试公司又有 Angular前端,那他们就可能问你关于 Angular控制器、指令和服务的相关内容。也就是说,你需要做好准备去建立、展示和讨论Angular。
特定领域的面试重点关注的是你已经实际构建起来的东西,因此要想顺利通过这些面试,最好是你已经构建过相关技术的项目。你应该为自己的工作而感到自豪,不必感觉不好意思,而应该深入探讨具体项目的技术细节。项目最好是近阶段完成的,没人会愿意去听你去年写的那些代码,你自己也会对这种陈旧的项目感觉厌倦,面试效果也欠佳。
特定领域面试的另一个常见策略是看求职者能否构建一些非常棒的产品或者是排除实际存在的一些问题和故障。这通常是让求职者带回家去完成的一种测试,求职者一般有 24-48个小时的时间来完成这些测试。例如,如果你是一名 Laravel开发人员,并且你面试的公司恰好也使用 Laravel,那他们可能会要求你构建公司产品或者是公司定期创建的产品的微缩版本。对于这种带回家做的测试,做好投入大量工作的心理准备。准备好启动模板,不要抗拒去Google搜索答案,发送电子邮件寻求帮助和使用外部工具包这些做法。因为能否通过特定领域面试最重要的一个衡量标准是你能否构建出有效的产品。
计算机科学基础知识面试
计算机科学和基础编程面试明显不同于上文所探讨的特定领域面试。计算机科学和基础编程面试是为了评估你解决问题的能力,更多的是关注找到最佳解决方案的能力,而不是简单的去完成某些特定任务。因此,面试官通常也不会问关于你是谁、你过去的工作经历或者你构建过的项目方面的问题。对于计算机科学基础面试这一类型来说,面试官的工作就是评估你的原始编程能力,通常他们是通过数据结构和算法相关的问题来进行评估。
计算机科学基础面试的问题有章法可循。因为学习数据结构和算法需要大量的准备工作和长时间的学习,你需要了解你所选择的编程语言、数据结构和算法来解决问题。计算机科学基础知识面试通常可以用六种不同类型的算法来解决:
深度优先搜索算法/广度优先搜索算法
贪心算法
滑动窗口算法
分治算法
递归算法
动态规划算法
你需要研究每一种算法,可以在 Pramp上与其他软件工程师一起练习面试和面试问题。应对面试是一门独立于软件工程师之外的技能,你可以通过练习和重复来提升自己在面试时的表现。
计算机科学基础知识面试通常遵循的那些问题结构对于求职者来说只有通过几个小时的练习和准备才能发现。即便这些知识中的一部分并不适用于日常的编程任务,但只要你坚持这样做,你就能抓住更多的面试机会,就能收到更多公司发来的 offer。如果你的目标是获得更多的工作机会,那你一定要看一下《Cracking The Coding Interview》这本书,并且查看这一免费的面试资源来进行相应的准备工作。

❼ 都快2021年了,算法岗位应该怎样准备面试

说到算法岗位,现在网上的第一反应可能就是内卷,算法岗位也号称是内卷最严重的岗位。针对这个问题,其实之前我也有写过相关的文章。这个岗位竞争激烈不假,但我个人觉得称作内卷有些过了。就我个人的感觉,这几年的一个大趋势是从迷茫走向清晰。

早在2015年我在阿里妈妈实习的时候,那个时候我觉得其实对于算法工程师这个岗位的招聘要求甚至包括工作内容其实业内是没有一个统一的标准的。可以认为包括各大公司其实对这个岗位具体的工作内容以及需要的候选人的能力要求都不太一致,不同的面试官有不同的风格,也有不同的标准。

我举几个例子,第一个例子是我当初实习面试的时候,因为是本科生,的确对机器学习这个领域了解非常非常少,可以说是几乎没有。但是我依然通过了,通过的原因也很简单,因为有acm的获奖背景,面试的过程当中主要也都是一些算法题,都还算是答得不错。但是在交叉面试的时候,一位另一个部门的总监就问我有没有这块的经验?我很明确地说了,没有,但是我愿意学。

接着他告诉我,算法工程师的工作内容主要和机器学习相关,因此机器学习是基本的。当时我就觉得我凉了,然而很意外地是还是通过了面试。

核心能力

由于我已经很久没有接触校招了,所以也很难说校招面试应该怎么样准备,只能说说如果是我来招聘,我会喜欢什么样的学生。也可以理解成我理解的一个合格优秀的算法工程师应该有的能力。

模型理解

算法工程师和模型打交道,那么理解模型是必须的。其实不用说每一个模型都精通,这没有必要,面试的时候问的模型也不一定用得到。但更多地是看重这个人在学习的时候的习惯,他是浅尝辄止呢,还是会刨根究底,究竟能够学到怎样的地步。

在实际的工作当中我们可能会面临各种各样的情况,比如说新加了特征但是没有效果,比如升级了模型效果反而变差了等等,这些情况都是有可能发生的。当我们遇到这些情况之后,需要我们根据已知的信息来推理和猜测导致的原因从而针对性的采取相应的手段。因此这就需要我们对当前的模型有比较深入地了解,否则推导原因做出改进也就无从谈起。

所以面试的时候问起哪个模型都不重要,重要的是你能不能体现出你有过深入的研究和理解。

数据分析

算法工程师一直和数据打交道,那么分析数据、清洗数据、做数据的能力也必不可少。说起来简单的数据分析,这当中其实牵扯很多,简单来说至少有两个关键点。

第一个关键点是处理数据的能力,比如SQL、hive、spark、MapRece这些常用的数据处理的工具会不会,会多少?是一个都不会呢,还是至少会一点。由于各个公司的技术栈不同,一般不会抱着候选人必须刚好会和我们一样的期待去招人,但是候选人如果一无所知肯定也是不行的。由于学生时代其实很少接触这种实践的内容,很多人对这些都一无所知,如果你会一两个,其实就是加分项。

第二个关键点是对数据的理解力,举个简单的例子,比如说现在的样本训练了模型之后效果不好,我们要分析它的原因,你该怎么下手?这个问题日常当中经常遇到,也非常考验算法工程师对数据的分析能力以及他的经验。数据是水,模型是船,我们要把船驶向远方,只懂船只构造是不行的,还需要对水文、天象也有了解。这样才能从数据当中捕捉到trick,对一些现象有更深入的看法和理解。

工程能力

虽然是算法工程师,但是并不代表工程能力不重要,相反工程能力也很重要。当然这往往不会成为招聘的硬性指标, 比如考察你之前做过什么工程项目之类的。但是会在你的代码测试环节有所体现,你的代码风格,你的编码能力都是你面试的考察点之一。

并不只是在面试当中如此,在实际工作当中,工程能力也很关键。往小了说可以开发一些工具、脚本方便自己或者是团队当中其他人的日常工作,往大了说,你也可以成为团队当中的开发担当,负责其团队当中最工程的工作。比如说复现一篇paper,或者是从头撸一个模型。这其实也是一种差异化竞争的手段,你合理地负担起别人负担不了的工作,那么自然就会成为你的业绩。

时代在变化,行业在发展,如今的校招会问些什么早已经和当年不同了。但不管怎么说,这个岗位以及面试官对于人才的核心诉求几乎是没有变过的,我们从核心出发去构建简历、准备面试,相信一定可以有所收获。

❽ autox面试难度

autox面试难度一般。

autox(控制算法工程师)面试是一对一技术面,面试是一个部门主管,面试开始先确认身份,然后让自我介绍,然后开始对着简历问问题,项目、技能等,然后聊岗位了解情况,期望薪资、工作城市、最后开始对着简历问问题,第一个让解释项目结果,用到的软件工具及各自的作用。也不算很难,一般难度。

面试简介:

面试是通过书面、面谈或线上交流(视频、电话)的形式来考察一个人的工作能力与综合素质,通过面试可以初步判断应聘者是否可以融入自己的团队。在特定场景下,以面试官对应聘者的交谈与观察为主要手段,由表及里测评应聘者的知识、能力、经验和综合素质等有关素质的考试活动。

面试是公司挑选职工的一种重要方法。面试给公司和应聘者提供了进行双向交流的机会,能使公司和应聘者之间相互了解,从而双方都可更准确做出聘用与否、受聘与否的决定。

以上内容参考网络-面试

阅读全文

与传音集团算法工程师面试相关的资料

热点内容
计算机编译运行 浏览:636
单片机嵌套 浏览:986
python字符串中符号 浏览:787
python正则表达式贪婪模式 浏览:648
爱国精神指的是什么app 浏览:408
寿司解压系列全集视频 浏览:913
物体三维重建算法 浏览:984
fuli直播app哪个好 浏览:918
租办公室用什么app 浏览:106
医师定期考核刷题app哪个好 浏览:338
导出dmp文件命令 浏览:288
手机百度网盘怎么解压密码文件 浏览:585
索引重新编译 浏览:606
命令与征服4免cd补丁完美版 浏览:428
kotlin编译为native 浏览:142
家用编译机 浏览:552
电子加密货币最新政策 浏览:383
androidcanvas撤销 浏览:272
安卓手机怎么把图标全部下移 浏览:188
饥荒被服务器踢出怎么进 浏览:173