22暑期算法实习面筋

终于结束磨人的考试周,趁回大陆隔离到入职之前仅有的几天休息时间,整理了一下自己找暑期实习的过程。

这篇回答记录一下,如果能对大家有帮助那就更好~

背景

BG:CS本+港三DS硕,硕士research的方向是NLP,目标是找任何方向的算法实习。

本科做开发为主没有算法经验,没有top比赛,没有过算法实习,投的时候简历里没写paper。

2月份下学期开始的某个时间点突然意识到将来走科研的前景问题(自身问题不是科研的问题OTZ),于是考虑找个暑期实习攒经历准备秋招。之前没怎么想过要找工作,没什么刷题和面试的经验。打算先刷一阵子题硬上暑期春招,投递一些中大厂试试看,找得到的话秋招争取冲一下,找不到可能秋招要换成数分或其他了hhhhh

最后在Loop:{心态崩溃; 爬起面试}中度过了整个四月,不过比较幸运拿到了一些offer(时间顺序,担心被定位有些就不写部门了):

  • 美团:机器学习算法实习,风控 不了解
  • 快手:算法实习,NLP+推荐 偏推荐
  • 联想:NLP算法实习,纯NLP 偏科研
  • 华为:AI工程师实习,ToC 偏推荐
  • 百度:算法实习,NLP+KG

时间线以及面筋

  • timeline
    • 2-4月:刷题。
      • 整个2月每天固定时间刷,写了100多道lc(剑指offer+经典lc题),整个3月在各种project,assignment和面试之间偶尔刷一刷做过的题保持手感。
    • 3月中下:开始投递个公司的暑期。
    • 4-6月:面试面试面试。
  • 简略版面筋:通过的当中,选一些比较有代表性的问题吧(技术面)
    • 美团
      • 笔试:AC 3.4/4
      • 一面:1h;二面:0.5h
      • 一面手撕两数之和变式;二面可能之前题目写的不错没要手撕。
      • 面试简略抠推荐系统项目:介绍Deep FM,Wide and Deep结构;细节抠NLU的项目。可能主考官比较了解项目的小方向,问xxx为什么要这么用,有没有其他的方法;其实还可以xxx做,哪种好,为什么。感觉项目中每一步处理或优化的可解释行都要有所准备。
      • 基础知识考察了深度学习:Triplet loss介绍,BERT原理(输入,训练细节,BERT变种介绍,tokenizer介绍),Transformer(encoder和decoder的结构细节,输入输出,为什么要这么设计,self attention等);还考察了大数据计算:Spark术语比如task,stage等的解释;SQL的join;数据倾斜的解决等
    • 快手
      • 一面 1h;二面:1h
      • 一面手撕求编辑距离,二面手撕一道二叉树的递归题,mid。
      • 面试深挖NLU项目,按照迭代思路一个一个细节讨论,问题涉及特征工程中统计特征如何提取,Smooth Inverse Frequency,Siamese Network,BiLSTM,ESIM,Sentence BERT,最后结果等。
      • 问推荐系统项目。协同过滤介绍,你们的方法如何将DL加入协同过滤,详细问几处细节为什么要这么做。如何衡量和case study。如何处理。优化方向。指出我们的方法其实不够sota,工业界有更好的方法。AE,VAE细节。介绍其他深度推荐系统的模型细节。
      • 基础知识方面问了Spark:Spark Dataframe,Spark Stream,Spark SQL语法知识等。NLP方面,问了Word2Vec两种模型,两种优化策略,哪个更好;GloVe介绍,损失函数;Transformer的结构,encoder和decoder的输入,self attention,为什么比RNN好,encoder和decoder都能并行吗,decoder的mask是什么;介绍一下BERT,介绍一下两个训练任务,介绍一下如何fine-tune,BERT后接网络如何训练;XLNet介绍等。、
    • 阿里
      • 笔试:两道都没AC
      • 一面:1h;二面:1h
        • 一面因为笔试做的不好,在伯乐系统补了两道手撕,一道mid一道easy。二面一道dp的hard题。
        • 面试内容以聊天为主,主要注重整个项目的迭代过程以及每一步我的思路。基础知识考察,优化方法,正则化,RNN,LSTM,Attention,CNN等。
    • 联想
      • 偏聊天为主,注重每个项目的future work,然后发散地讨论
    • 百度
      • ·笔试:忘记AC多少了,大概1.x/2吧
      • 一面:1h;二面:1h;三面:0.5h
      • 一面手撕一道dp,不难;二面手撕是NLP场景题,文本相似度相关(没做出剪枝最优解,后面讨论出来了);三面没有手撕
      • 面试主要关注NLU项目,扣的细节。基础知识方面注重NLP经典模型方面基础知识考察(Word2Vec,ELMo,Transformer,BERT,GPT,t5等)。其他知识问了Docker,统计机器学习(LR,SVM,Bagging和Boosting),也问了QA的知识,IRQA,KBQA等等。
    • 华为
      • 机考
      • 一面手撕回文串;二面没手撕
      • 面试以聊项目为主,根据项目的点问一些基础知识;还问了大学到现在的技术栈变化,以后在技术上职业生涯的规划。
    • 其余没过的
      • 投完简历或做完笔试根本没有理我:网易,字节,滴滴,依图,微众。原因可能是投晚了。。
      • 面试挂的:腾讯机器学习,京东NLP。原因是菜。
  • 经验
    • 早投早投早投
    • 刷题很重要,个人感觉题做不出来基本会凉。没思路的话可以适当和面试官交流下。
    • 基础知识复习的优先级要低于项目和刷题,如果项目经历不水一般没时间问到除了项目相关以外的基础知识。

想说的话

  • 留学生学制短,课程压力(proj,midterm,assignment,hw)已经很大,再准备简历,复习基础知识,刷题真的有些忙不过来。之前其他家的面试官面完说感觉你们一个学期过的好辛苦hhhh。
  • 心态崩是最正常不过的事情。有时候面试失败不是你的问题,可能也只是没碰到欣赏自己的面试官。
  • 准备实习都已经身心俱疲了,虽然上岸了算法实习,但还是不知道秋招会怎么样。经验不足要补的技术太多加上留学生自身的劣势,想必秋招压力会更大。不过也没办法,即然想走算法那么只能硬着头皮接着冲,给自己加油啦。
  • 最后应该还是想在实习期间积累一下线上推荐的经验,纯NLP的实习就暂时放弃了。
  • 希望自己以及看到这篇回答的大家秋招一切顺利
#暑期实习#
全部评论
我也是留学生,但因为疫情申请了gap,期间就直接去找了一份实习来补充经验了。不过这样做有一个坏处是我的学制从1年半变成了2年半...
2 回复
分享
发布于 2021-05-31 10:14
许愿面试过
2 回复
分享
发布于 2021-06-20 21:27
百信银行
校招火热招聘中
官网直投
看样子大佬的项目都好强,tql
点赞 回复
分享
发布于 2021-05-31 13:41
大佬什么时候开始笔试的?一面大概隔几天收到的
点赞 回复
分享
发布于 2022-04-01 11:30

相关推荐

工作室 游戏引擎 13-15
点赞 评论 收藏
转发
19 117 评论
分享
牛客网
牛客企业服务