刚起锅、热乎的网易考拉树挖面经
昨天刚面完考拉,乘着还没忘记,赶紧分享一下。
先说说整体感受吧。碰到的两个技术大佬人很好,面带笑容,非常nice。一来就说,不用紧张,咱们就是聊聊,然后就在聊的过程中开始了,邀你入坑,给你找坑,hhh,不怕你知道,也不怕你不知道(不知道咱们可以换一个问题嘛,反正你也不会,hhh)。第二就是很幸运吧,我这样竟然也能进HR面,只能用两个字来形容,运气,运气,还是运气。中午面完的话应该是可以在网易食堂吃饭的吧,毕竟连车票都给报销,还差一顿饭?虽然我有个师兄带着(hhh,窃喜脸)。最后,去网易面试的漂亮小姐姐是真的多,抬头就是(活该单身,这么花痴**..**)。
你怎么废话那么多,好,切入正题。等下,总结下一面和二面吧,一面主要是看知识的广度,二面是知识的深度。还有就是,我两面都没有手撕公式啊,写代码(兄弟,你这面的是假网易吧!!!!)
1、一面
(1)自我介绍。
(2)介绍你的项目吧:先简单说了一下项目的背景,然后怎么取特征,模型的话,因为是单模型(GBDT,LR),所以就一句话带过。好,为什么用了LR转去了GBDT呢?(效果不太好咯,试试更强一点的GBDT)。好,那介绍一下GBDT吧,(好,巴拉巴拉一桶)。随机森林了解吗?(对比了一下RF和GBDT)。GBDT有哪些可调的参数呢?一般怎么选取参数呢?
(3)介绍一下第二个项目吧(巴拉巴拉一统)。介绍下LR?(LR这个没有答好,竟然一下愣住了,就算直接线性模型—>sigmoid非线性变换—>最大似然—>交叉熵损失你也会吧,兄弟???)。没关系,SVM了解吗?LR和SVM都是分类,他们之间的区别呢?(脑子里竟然出现了LR的logloss,前面没有回答好,然后就又踩雷了)。SVM如何解决非线性问题?(软间隔和核技巧)。什么是软间隔?SVM有什么可调的参数呢?(C);C=0的情况下会出现什么问题(此时用硬间隔解决非线性,效果应该不会好,感觉这个回答不行,有大佬的话,不吝赐教啊);核函数有哪些?对于一个问题,如何选取核函数?(问题比较简单的话,选取线性核,复杂的话,选取高斯核。其他核,不太了解,有大佬的话,不吝赐教)。
(4)好,咱们聊聊基本的数据结构吧(心里吃了一鲸)。排序算法了解吗(了解,这里并没有展开,因为没法展开),快速排序的时间复杂度怎么样呢(瞬间想脱口而出,一想,hold住。一般情况下是nlogn,最坏情况下是n^2);快速排序是稳定的吗?有哪些稳定排序算法呢(插入排序,冒泡也可以)?看我漏了归并老人家,瞬间补一刀,归并是稳定的吗?(想了一下,没事,你可以想想,恩~~~~,不是)
(5)好,有什么想问我的吗?问了下考拉的机器学习有哪些场景?常用的算法,以及你们是如何选取模型,忘了问怎么调参了(感觉问了会暴露自己的菜,hhh)。
一面结束,5分钟左右,结果出来,好,你通过,瞬间感觉去的值了,没有一轮游->->
2、二面等到了下午三点多,大佬进村了(不知不觉中)
不用紧张啊,咱们就是撩一聊。你是二面吧,那就不用介绍项目了,遇到的话,再具体聊。二面被问傻了,所以找不到一面的一气呵成了,想到什么是什么吧,看官莫怪。
(1)自我介绍
(2)GBDT如何进行多分类?(一脸蒙蔽,面试之前想到过这个问题,没有时间看了,哎。):可以用OVR的方式,建立多个分类器。需要几个分类器呢?(突然想到LR二分类只要一个分类器,好像K-1个就够了,但是纠结K-1的话,第K个怎么办,还是说了K个);能不能优化一下呢?(啊???),你看啊,K-1个也是可以的。。。除了这种方式,有没有其他方式呢(又懵一次,直接设计多分类的损失函数,NN的多分类+交叉熵我理解,但是GBDT里多分类,如何学习不懂,这就是菜吧)
(3)样本不均衡的话,可以怎么解决?(带权重分类,Aaboost本身就是带权重分类,那我可以直接用Adboost,机智Boy)。Adboost是可以,但是在GBDT框架下,怎么学习呢,会产生怎样的影响(大佬不依不饶,我只有尴尬而不失礼貌地笑了--_--):你想啊,拿最简单的回归来看吧,写个平方损失函数吧(我写了MSE,瞬间想到CART每步选取最优分割点是根据MSE的,那我也可以给每个样本加权啊,加权之后,会更加偏向对权重大的样本的拟合,而权重较小的样本有点误差也是可以接受的),我已经忘了我昨天怎么想到了梯度,说权重大的,梯度也会大一点,更新更快(不是梯度下降啊,大兄弟,而且GB也不仅依赖权重啊,自身x,残差)
(4)除了加权之外,还有其他方法吗(降采样和过采样);采样和加权有什么区别吗(本质上是没有区别的,但是采样的话,需要先进行采样,而且NP比例也是一个超参数,需要验证,而加权的话就直接train好了,其实类别权重也是需要验证的系不系);采样的话,造成了数据分布的改变,会产生什么问题嘛?有的话,如何应对?(又是一脸蒙蔽,迷之微笑!!!采样确实会造成数据分布不一致,但是模型的分辨能力得到了提升,而不至于在极度不平衡的数据上学不到任何知识,大佬解释了一统)
(5)SVM了解吗?(SVM是通过最小间隔最大化寻找超平面);为什么么要最大化最小间隔呢?
(6)LR处理的特征是离散的还是连续的?(连续的);离散化,会有什么影响吗,比如一个特征取值0-1,需要离散化吗?(又是一脸蒙蔽!!!离散化对于树模型来说,应该是比较好的,但是LR,应该不用吧,我没有用过,哎,菜啊);好,我们想想树是怎么做的,CART对于连续特征,也是二分的,如果我们先做好离散这件事,是不是会更好一点,对于LR来说,也是一样,是会有一定提升的。(没有太理解,想想也是吧,一个特征挤在0-1,可能造成的区分性没有那么明显,而离散化之后,加强了特征对于数据的区分度,不知道这么理解对不对,有大佬的话,不吝赐教)
(7)好的,我没有什么问题了,你有什么想问我的吗。我把我之前被问到不会的问题,反问了回去(反正绝望了,hhh)。本来25min左右的面试,硬是拖到了50分钟,反正全程是大佬在输出,就是上了一课的感觉,hhh。可见大佬有多nice。
(8)额,忘了,看我不会ML之后,咱们聊聊基础吧,你会什么语言(JAVA比较熟悉),JAVA同步,syn和Lock的区别是什么?在底层上是一样的吗?(底层上的区别??大佬,我不会java),又是迷之微笑,不知道,可能一样吧。JAVA定时任务的话,怎么用(Java有个Schedule的类,调用task?)。瞬间感觉自己不会java。
二面出来之后,本来是不报任何希望,连手机通知都不想看,因为自己就是个菜鸡,啥都不会。结果过了10min,我擦,数据没开,怪不得一直没有消息,一看,窝草,HR面,大佬,你是看上我的笑了嘛,我不帅啊,还没有我的六块腹肌+胸肌帅。
3、HR面
感觉HR小哥哥已经麻木了,还是他本身就是严复(肃)。
(1)简单自我介绍
(2)对考拉了解吗,为啥选择考拉
(2)求职进展,选公司会考虑哪些因素,意向哪些公司(网易,阿里,Vivo,华为);为什么vivo会考虑?(我也不知道vivo在小哥哥心里是什么印象???)
(3)老家哪里,意向工作地点
(4)觉得最成功的一件事(我,没,有。哎,菜啊,平庸的生活,应该说进考拉HR面的,hhh)
(5)在学校团队合作有遇到过困难吗,为什么。(我,哎)
我擦,瞬间万字长文,对不起看官了,反正我也不会剪枝的,过拟合了。。。。。
#网易##面经##算法工程师##秋招##内推#