求职刷题神器

funit.cn

讨论区 > 求职面经 > 诚远数据Python工程师一面

诚远数据Python工程师一面

人间不真实
发布于2021-03-17 16:03:46 34浏览

面试时长:25min

面试公司:深圳诚远科技有限公司

总评:中型公司,做商业销量预测和推荐相关,面试感觉一般,总体不是很难,但是面试官喜欢问特别偏门问题,比如XGBoost框架里面某一个API具体怎么用的有啥功能。总体感觉一般,一二面的面试官都懂行但是都喜欢显摆。


(1)XGBoost和LightGBM、CatBoost主要区别?

要点1:XGBoost中,树是按层生长的(平衡的),同一层所有节点都做分裂,叫做Level-wise tree growth,最后剪枝。优点是过一次数据可以同时分裂同一层的叶子,比较好做多线程优化,但是比较低效,比如有些同层叶子增益很低实际没必要分裂。

要点2:LightGBM是不平衡的,叫做 Leaf-wise ,就是每次从当前所有的叶子中,找到增益最大的一个叶子,然后分裂。缺点是可能长出比较深的决策树,导致过拟合。解决办法就是限制最大深度。

要点3:CatBoost主要采用对称树的生成形式,而LightGBM和XGBoost的生成形式依旧是传统的决策树。在对称树中,每一层每一个节点的判断条件是一样的,而在传统决策树里面,每一层的判断条件是不同的。

(2)GBDT的DART是怎么用?XGBoost里面的某个(记不清了,很冷门)API是怎么用的?

要点:这题目给我问懵逼了,没听过DART是啥好吗...完事查了才知道这东西全称Dropouts meet Multiple Additive Regression Trees,利用了深度神经网络中dropout设置的技巧,随机丢弃生成的决策树,然后再从剩下的决策树集中迭代优化提升树,这是DART的主要思想。

不难,但是查完一脸尴尬...

(3)问到冷门API也很尴尬,哪有面试问这个的,有什么意义吗?

(4)RNN和LSTM的主要区别?

要点:提到几个门和Hidden以及Cell状态就行了。网上一大把我这里不赘述了。


本文首次发布于趣IT ,转载请注明出处,谢谢合作

诚远数据Python工程师一面

全部评论0

成为第一个评论的人

还可以上传7

表情
  • 微信扫码加好友进群