快手+京东数科 算法实习岗 1,2面经(已拿offer)
本人大三,中南财经政法大学金融数学专业,入坑深度学习 ,机器学习1年半,之前尝试了很多次投简历,三个月前只有一家创业公司给我发了offer,三个月后再次挑战大厂offer,面了滴滴(二面还没有消息)快手京东等大厂,现在回馈牛客,写一篇算法实习生的面经
快手一面:
1.介绍下自己
2.问一些项目上的问题(我之前实习是做nlp的,所以是一些gpt文本生成,transformer上的问题)
3.有没有做过关于推荐方面的项目(之前我在实习公司无聊的时候有做过基于transformer的处理图数据网络的小实验,大概说了下)
4.介绍了下他们所做的一些事,然后问我基于这个任务,我会怎么做:
1.你如何解决一段文本去找相关图片的任务:
答:通过文本摘要得到关键字,通过搜索引擎去搜索相关图片,然后利用图片描述,与相关文本做相似度计算,取其topn
2.你如何得到一个比较好的关键词词向量:
答:通过建立一个任务去训练模型,得到相应词向量
5.一道算法题(leetcode中等难度):最长回文子串
因为题目比较经典所以秒杀了题目,一面面完面试官很有礼貌,很亲切,也明确表达很喜欢我,整个面试比较舒服
快手二面(十分钟后):
1.介绍下自己
2.问一些项目上的问题(我说了下我基于公司的业务写的transformer模型)
3.你的模型做的一些优化是面向技术的,还是面向业务的
答:因为我写的模型最后是要部署上线的,所以更多是面向业务的
4.也同样介绍了他们的任务,可能是因为一面二面间隔太短,所以问的差不多(心中窃喜,套一面的答案就好,然后面对一些问题,按自己理解答就好)
5.一道算法题(leetcode困难难度):一个矩阵,1能走,0不能走,可以上下左右走,问最短路径,时间复杂度(nm),空间复杂度(nm)
一开始看到这个题目觉得很简单,我一般会用动态规划做,但面试官一提醒我说,那遍历的顺序是什么呢?我就发现事情没这么简单,然后考虑用广度优先遍历去做,做自己不太熟悉的题型,一开始有点慌,不过跟面试官聊着聊着加上自己手热就写出来了。。。运气还不错
二面面试官不太回应我,我只能自己去说自己的项目,不过幸亏自己在一面把自己的项目就说了一遍,现在再说一遍也比较流畅。。。快手的效率也是真的高,一天面了两面,第二天就给我发了offer,真的挺感动的
京东数科一面:
1.介绍下自己
2.介绍项目(还是差不多的套路)
3.对auc了解吗,说下精确率和准确率的区别,说下f1 score(很基础的东西,就不写出来了)
4.说下adam
答:它是个自适应优化器,用一阶梯度期望去求二阶梯度期望,并且通过一个公示求的,它的每个step都会限制在一个范围内,所以它对每一步走得会很谨慎,不容易发生学习不起来的情况
5.三道算法题: 全排列 最长公共子序列 快速排序
因为都是很简单的题目,所以都秒杀了
这次面试的体验也蛮好的,面试官对我也很满意,几分钟后hr就跟我说面试通过,第二天约二面
京东数科二面:
1.介绍自己
2.没有问项目,问的是我的一些学习经历
3.说下svm的核函数
4.两道智力题。。。(惊了,第一次碰到给出智力题的面试官
1.怎么用最短时间最少空间去随机抽取一个未知长度的链表
这是个蓄水池算法问题,感兴趣的同学可以看下,我想了会后说了自己的解法,思路跟蓄水池算法一样,虽然没有给出公式,不过也蛮幸运的
2.2017的2017次幂除以7的余数。。。。。
当时我就是真的服了,竟然会有这样的面试题,我想了想,觉得没有纸笔解不出来,面试官说没关系,就过了这一题
这次面试经历蛮新奇的,面试流程完全不同于以往的面试,算是打了我一个措手不及,不过所幸面试官比较欣赏我,还是让我拿了offer
整体来说面试都挺顺利的,我总结了下算法实习岗面试心得吧。
1.一定要对自己的项目熟悉而且有很好的表达能力,能够比较好的表达出你的项目,因为很多面试官在听你的项目的时候,就走马观花地听一遍,印象很浅,只有你说的不够清楚,说了跟没说一样,面试官也不会多问。。。
2.基础算法比如svm,决策树等等,还有数学的基础一定要打好
3.刷题。。。(如果不是我来一道题秒一道,我觉得两个offer一定不会来的这么快的)
总之我凭着我的学术背景拿到了几个大厂offer,算是打破了算法必须必须985硕博,必须有论文的言论了,希望看到我的帖子征战算法的同学,都能早日上岸