这次面试的公司是BAT中的一家,岗位职责主要是做推荐和用户画像。推荐的方向主要是地点推荐、出行推荐等。是哪家公司,大家可以猜一猜?
这里记录下面试过程的主要环节,和被问到的一些问题。好好准备面试,早日拿到心仪的offer!加油!
面试的环节基本都是这样的:
- 自我介绍,大约2min
- 项目经历询问,穿插着技术知识点的考察, 大约30min
- 其他非项目中,但面试公司需要用到的知识点的考察,大约10min
- 代码笔试或口试,大约15-25min
- 向面试官提公司、职位等问题,大约3-5min
整场面试下来,差不多1小时的时间。
我这次的面试并没有代码部分的面试,只面试了项目经历和技术知识,花了大约45min。
面试中主要问的问题如下:
1、面试问题:自我介绍
2、面试问题:描述下近期在做的项目
问题解析:看你对项目的认识,看你描述问题的思路和清晰情况,接下来就是从你做的项目入手开始深入技术细节的面试了。(面试官吐槽了下项目经历写的太简略了,让他无法下手去问。)
我:描述了近期做的一个算法项目,按照项目背景和目的、算法问题类型描述、正负样本、特征、模型、模型效果和上线部署 这样一个完整的算法工作的流程做了描述。
3、面试问题: (针对我项目中使用的LSTM模型的问题) LSTM模型的特点是什么?比较下 LSTM 和 GRU? LSTM如果遇到梯度消失怎么办? 如果遇到梯度爆炸怎么办? 都用了哪些特征? 怎么在LSTM中使用时间序列特征?
我: RNN,记忆体、循环核,输入门、遗忘门、输出门...
忘了GRU,没有给出比较...
梯度消失的处理方法.... (面试官比较nice,我漏了或忘记的,会给提示)
梯度爆炸的处理方法....
时间序列特征在LSTM中的使用和处理....
4、面试问题: 之前公司的业务是什么?主要工作内容是什么?
5、面试问题: 游戏画像上都做了什么画像?最终的结果是怎样的?你做过哪些画像?怎么做的? 画像的正值都来自哪里? 数据源是哪里来的?
6、面试问题: 随机森林和GBDT有什么区别?它们过程中使用的是回归数还是分类树?随机森林做回归和分类有什么区别?随机森林中使用的决策树之间有什么关系?GBDT模型训练时使用的决策树之间有什么关系?
7、面试问题: 用scala做数据开发的时候,遇到数据倾斜怎么处理?
8、 面试问题:分类型的特征怎么用?时间戳类型的数据怎么作为特征使用?地理位置型的数据怎么作为特征使用,如经度/纬度?geohash是什么技术,怎么做的hash映射?
9、 面试问题:linux杀死多个进程的方法?查看进程的方法?
kill -9 `ps -ef|grep 'php-fpm'|awk '{print $2}'`
ps -ef |grep hello |awk '{print $2}'|xargs kill -9
10、面试问题:你是 数学专业,那机器学习、深度学习的知识都是自学的?什么开始学习深度学习?
11、面试问题:你有什么想要问我的。
写在后面:
每一次面试都是一次小小的成长。
首先在专业技术知识上,自己能清晰的看到哪些知识是已经熟练掌握的、可以脱口而出的,哪些是还未深刻理解的,不能条理清晰的说出首尾、原理和处理方法的;
其次,也是改变最明显、进步最大的,就是自己的心理素质变得越来越好,越来越能轻松的面对每一次的面试过程。不必太过于紧张,也不会过于轻视它,像是跟同事日常聊项目、聊技术一样轻松、专注、独立、善于思考的说出自己的理解、认识和想法。
我的行业经验还比较浅,专业知识还有很大的提升空间,但是心怀梦想,脚踏实地,我相信有一天终至远方。加油!