滴滴算法岗一面二面经历分享
开始求职的第一次面试,视频面试,原定的3点45到下午4点30多开始面,一面中规中矩,面试小哥没有为难我,主要是先自我介绍,然后问了一个Java语言的问题(抽象类与接口的区别、用过Map吗,说一下HashMap和TreeMap的底层实现的区别),接着手写了道快排,讲解了一下就开始让我介绍参加过的京东的比赛(要求按照一定的框架讲,比如做了什么,觉得自己做的好的有说什么,有什么做的不够好的),在介绍的过程中针对性的提了一些问题,可以说都是一些常考的问题,记录如下:
- 解释下过拟合
- 数据类别不均衡的处理方法
- XGBoost相对于GBDT有什么不同
- 数据记录有多少?特征有多少?训练时间多久?
- 有什么想要问我的?
第二面开始被
吊打
这一面倒是没有撕算法也没有问一些基础的问题,都是偏向实际应用的略开放的问题,记录如下:
- 我看你两个项目使用的方法类似,你觉得哪个做得更好一点?然后接着问为什么你觉得另外一个做得差一些,问题出在哪里?
- 我看你比赛里面用的都是树形模型,为什么不用其他的模型?
- 人工处理特征与使用模型自动生成一些特征各有什么优劣?
- 你提到你感觉一个比赛里比另一差的原因是特征这方面,但我看你写到构造了交叉特征,请问构造了哪些交叉特征?为什么还是差呢?(这里针对交叉特征的定义纠结了一段)
- 你实际运用XGBoost与LightGBM中感觉哪个更好一点,有什么在比赛中发现的区别?
- 是否还了解其他的一些常用的方法(这里开始没明白,后来询问面试官,举的例子是LR+XGBoost或者FM+XGBoost,于是我提了一下了解的用来做ctr预估的应用,但是感觉面试官并不满意)
- 你两次项目用的处理方法差不多,那么你后面一次是否有什么新的收获呢,还是说你只是重复的使用一套方法?
- 我的问题提的差不多了,请你讲一下我没有问到的你认为可以表现你自己亮点、优势的地方
总体来说虽然第二面挂了,不过也还是服气的,确实只是懂得一些基础知识恐怕还是不足以胜任公司的要求吧,顶多撑过一面,后面的话更多的希望你能结合是你实践中的实际体会来讲(比如理论上一个模型和另一个模型相比的优缺点在实际中有哪些体现),另外也需要你在工业应用方面有更多的了解,如此看来,还有很多的地方需要学习,加油!
#滴滴##算法工程师#