十分侥幸的我通过了腾讯基础研究的笔试,4.14在哈尔滨的一面总结一下吧,反正是过了,正在等二面消息。
面试小哥人很好~很有耐心,我能看出他已经很累了(下午5:30面的),依旧坚挺,表扬鹅厂!
1)自我介绍,一分半钟,期间说我的项目比较多他比较满意,也就是三个拿得出手,内容写的比较满而已,纠结简历的可以不用放很多没用的东西了。
2)说说你的第一个项目(服务众包的协作模式评估器)怎么做的:大致说了一下,说了说我的工作内容,算法亮点,这个亮点提升了多少性能,里面的细节我说的比较仔细,并且是手写GSP算法没用包,小哥还比较满意。另外一点,做频繁模式挖掘本身是个非监督学习,后来搞了个分类器就变成有实际意义的监督学习算法了,这点小哥满意。
3)说说第二个项目(阿里移动推荐算法):大致说了一下怎么过的,现在性能怎么样,目前还有什么问题在困扰着我。这里面他问了一下我是用的模型,SVD、随机森林、协同过滤怎么做的,大致说了一下,并没有问太深的东西。
4)说说第三个项目(kaggle):这个比赛做的还不错,世界前200,本身原理不难,优化的比较费劲吧,大致说了说。问了一下LR和SVM的区别,感觉说的不是很丰富,这里略怂,还得多看书。
5)编程:连续子数组的最大和,直接跪了,这题做过但是实在想不起来DP方法了,足足做了小半个小时,不能放弃啊!小哥也在等我,辛苦了!回来之后自己又做了一遍,附上源码:
#coding:utf-8
# 连续子数组的最大和
def FindGreatestSumOfSubArray(dataList):
if dataList == []:
return False
else:
flag = sum = 0
sumMax = -9999
while flag < len(dataList):
if sumMax == -9999: # 第一次遍历
sum = sumMax = dataList[flag]
else:
if sum < 0: # 抛弃前面的sum
sum = dataList[flag]
else:
sum += dataList[flag]
if sum > sumMax:
sumMax = sum
flag += 1
return sumMax
dataList = [1, -2, 3, 10, -4, 7, 2, -5]
print FindGreatestSumOfSubArray(dataList)
6)给了我两个从事方向:一个是极限调优的工作、一个是对突如其来的问题快速建模挖掘其中隐含价值的工作。选了后者,前者感觉自己还是不够强吧,深度学习、各种神经网络没有搞过。
大致就这样,总而言之,问的并不难,可以说没问到不会的东西(除了编程题),二面可以加点难度挑战自己哈哈~
下面是二面:
首先说一下我二面挂了,面试内容如下:
我原本以为二面应该是个高级工程师这样的角色来面我,但是却是个项目主管一样的角色,大概35岁左右的一位大姐,不谈技术可能也不太懂技术,更像是个管理者。我们的谈话持续了半个小时,90%的时间是她说我在听,剩下的时间我在给她反馈。她们的部门是广告部门(据我所知,腾讯广告部的盈利占腾讯的10%一下,确实不太强。。。),跟我说了说她们做的是发现为什么公司在腾讯投放的广告一般到月底的31号?反正就是预测或者评估客户投放广告的截止时间,如何能演唱这个时间,¥%#*()#@%说了一大堆,感觉她的思路不是很清晰。我是搞机器学习数据挖掘的,我要么做预测要么做推荐,这业务感觉不伦不类啊。。。。不过聊的也很愉快,挺开心的,嘴上说的我可以做,挺喜欢感兴趣,实际上还是先拿了offer再说。。。。最终挂了也没什么怨言,可能真的是不匹配。