【面试招聘】算法岗通关宝典 | 社招一年经验,字节5轮、阿里7轮
作者 | Batman Yang
编辑 | NewBeeNLP公众号
字节
一面
问贝叶斯网络的原理。 一些统计学的原理比如t-test, AUC curve的意义是啥,为什么要用AUC去衡量机器学习模型的好坏。 问了一道题:假设现在有一个函数random(), n为未知数,1/n的概率返回0,(n-1)/n的概率返回1,写一个newRandom(),让返回0,1的概率各为1/2。medium。
二面
问了adaboost的原理,模型的权重以及数据的权重各自有什么意义,写出adaboost的伪代码。 CART树的原理,和ID3以及C4.5有什么区别,回归树与分类树有什么区别。 写出逻辑回归反向传播的伪代码。 编程题:现在有一个每行每列递增的2D数列,比如[[1,2,3,4], [2,3,4,5], [4,5,6,7]],在O(nm)的时间复杂度返回最小的k个数。hard。
三面
主要面C语言基础知识。
实现memcpy. 如何在main函数之外之行一个函数。 这样声明变量有没有问题:int a[10000000]. static修饰符有什么用?如果不加会出现什么后果?没有问题目。
四面
主要考察机器学习。
你知道哪几种normlize的方法?请着重介绍一种(BatchNormalization).这个方法在深度学习网络中有什么用?为什么可以加速模型收敛? 你知道哪些时间序列预测,举一个例子,写出伪代码(写了HMM)。 RNN如何防止梯度爆炸(LSTM原理)。 题目:有两个相同的数列,将两个数列排序,但是自己数列里面的数字不能和自己数列里面的相比较(快速排序变种)。hard。
第五面:
HR面,聊薪资,聊人生,聊理想。
阿里巴巴
一面
主要是过简历,挑简历里面的细节询问。
深度学习框架下,如何优化性能?你们做了哪些尝试? 在resnet中,什么是残差,有何意义? 在GEMM中,如何优化缓存? 编程题:Isolate Island。假设1是陆地,0是海洋,相邻小岛与小岛组成陆地,那么在一个矩阵中,有多少块陆地?(easy)
二面
主要是问机器学习相关的内容
使用过哪些机器学习模型,举一个你最熟的例子?说了logistic regression. 为什么逻辑回归用sigmoid激活函数?多分类逻辑回归是否也是sigmoid? 你的项目有一些深度学习框架的基础算子开发,那么你们拿这些组成了什么网络?举个例子? 题:有一个矩阵,只有0和1,输出一个相同大小的矩阵表示每一个1到0的最短曼哈顿距离;如果位点上是0则输出0.(medium)
第3,4,5,6面
记不清哪个问题哪一面了,混起来写算了
多核的核之间是如何交流的?介绍一下总线的用处?(没答出来,一脸懵逼) 协程是什么?(没答出来,一脸懵逼 ) 一维的卷积的实现有什么加速方法? 全连接层有什么作用?做一个图像识别的网络,可以不要全连接层吗? 在ARM平台上,SIMD(单指令多数据)介绍一下大概? 是否了解其他平台的SIMD指令?intel的AVX和ARM NEON有何不同? 在实现一个SIMD程序时,应该注意哪些方面?如何判断一个算法适不适合SIMD加速? 如何证明,SIMD已经达到了最优化性能? 在大量的SIMD指令中,如何选择性能最佳的指令?
只有某一面考了一道题:假设有一个数组,对于每一个数而言,p值表示这一个数之后所有比这个数大的数的差的最大值,求最大的p值。时间复杂度要求O(n)。(medium)
HR面
同样也是 聊薪资,聊人生,聊理想。值得注意的是,阿里的HR面会挂人,所以回答开放性问题一定要准备妥当。
尾巴
总结一下一年社招的一些tips
至少工作2-3年再跳槽。大多数大厂都是起步3年工作经验的,我投的3年工作经验岗位能过也是有一定运气成分,不要学我。 特别对于字节、阿里这种硬核算法岗,一定要多刷题。字节的算法尤其变态,会考hard。虽然阿里的轮数很多,但是难度没有字节高。 简历里面的细节,一定要牢牢掌握。比如你的简历里面出现了SVM,那么一定要掌握到能够当场推导SVM原理的程度。 为什么换工作,这个问题必定会问。不要诋毁前公司,不要看起来像自己能力不足才出来。 开弓没有回头箭,拿了offer,并且决定走了,再和公司说。
最后,祝大家找工作顺利!
往期精彩回顾
本站知识星球“黄博的机器学习圈子”(92416895)
本站qq群704220115。
加入微信群请扫码:
评论