【面经】腾讯NLP实习面经(Offer已拿)

点击上方,选择星标置顶,每天给你送干货

阅读大概需要6分钟

跟随小博主,每天进步一丢丢

编辑:CVer

作者: 然然姐

https://zhuanlan.zhihu.com/p/112522996

纯学术分享,侵删

目前研一下,无论文,无实习,无实验室项目

计划是三月份开始找实习,目前由于疫情在家,无法回北京,但也不能耽搁,所以去投了下简历。

简历上就只有:

  • 统计学习方法模型的python实现

  • 还有一些nlp常见任务实现(文本相似度分析,文本分类,文本生成,attention翻译模型,transformer翻译模型)

或许是运气好,或许是第一份实习面试官看我研一要求也不高,顺利拿到offer

一面

一面的面试官比较年轻,主要考察的我简历上机器学习部分:

  • 讲一下SVM,然后手推了一部分

  • 然后决策树的实现,讲一下思路(ID3)

  • 然后要我讲讲隐马尔可夫模型,然后怎么做的中文分词

  • 然后推倒了一下维特比算法

  • 文本相似度的计算

手写代码两个:

  • dp算距离

  • 二叉树的层次遍历

一面基本上都答了出来,都是纯理论的,手写代码也都挺快写了

二面

二面的面试官应该是组里的leader,风格和第一个面试官完全不同,一面如果是纯理论的话,二面就比较侧重对思维的考验。

  • 问了我lstm,画了lstm的结构图,以及写了所有的公式,讲了下lstm的流程。之后他就问我lstm和rnn的区别,与gru的区别。之后在问我那么lstm面对特别长的文本,有什么解决办法呢?

  • 然后问了问我nlp一些任务实现细节

  • 讲一下transformer,attention,然后问我attention与self-attention的区别

  • 在之后问了adaboost与gbdt,然后两者的区别,现在为什么kaggle比赛流行gbdt,而不用adaboost加树模型呢

之后手写了一个代码:

  • 将给定数组按照给定的规则排序

二面总的来说我觉得自己回答的不太好,从一个问题入手,面试官会继续深入,然后抛出问题给你解决。手写代码一开始也只给出了O(nlogn)的方法,面试官问了还有更好的方法没有,想了一会儿才给出了O(n)的方法。

hr面

hr面总的就是聊聊家常,最开心的大概就是面试最后,听到“欢迎加入腾讯”hhh。

以上就是面试的详情,如果也有刚入门的小伙伴目前没有目标的话,我也给出一点点学习的建议(参考了之前去msra的学长以及知乎大佬们的专栏学习建议):

首先入手机器学习看了吴恩达的视频,然后看李航的统计学习方法,反复推了好几遍,大约花了2个月左右,然后对其中的算法用python实现一遍,多去敲代码(make your hands dirty)。机器学习方面你就基本上有所入门了,接下来你可以去kaggle或者天池上找一些比赛,可以找志同道合的小伙伴一起尝试一下。之后深度学习方面你可以先从吴恩达的deeplearning课程入手,然后完成相应的作业(可以在github上搜),虽然有一些还是用的tensorflow1实现,但是你会对于rnn,lstm,序列模型,attention等等有一个大概的了解,之后重要的还是实践,你可以尝试使用tensorflow2去做一些常见的nlp任务,从词嵌入到文本分类到文本生成,可以尝试基于attention机制实现一个翻译模型等等,之后还可以了解一些前沿一点的transformer,bert等等,这时候你也有了一点点的工程能力,然后leetcode可以多刷一些题目,尝试去投投实习,毕竟个人学习的能力有限,在工业界见识一下,或许会有更好的成长

实现模型有困难可以参考我做的,代码都有详细注释:

https://github.com/watermelon-lee/machine-learning-algorithms-implemented-by-python

然后用tensorflow2做一些常见的nlp任务,仍然有详细注释啦:

https://github.com/watermelon-lee/NLP-practice-with-Tensorflow2

以上只是我的一点小小的建议,仅供参考~


投稿或交流学习,备注:昵称-学校(公司)-方向,进入DL&NLP交流群。

方向有很多:机器学习、深度学习,python,情感分析、意见挖掘、句法分析、机器翻译、人机对话、知识图谱、语音识别等。

记得备注呦

你可能感兴趣的:(【面经】腾讯NLP实习面经(Offer已拿))