来自鹅厂的面试经验(干货)

Posted AI蜗牛之家

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了来自鹅厂的面试经验(干货)相关的知识,希望对你有一定的参考价值。

文章目录

最近各大厂紧锣密鼓地开始了春季招聘暑期实习。你是不是也正在准备,但是面试却没有经验,不知道怎么准备呢?蜗牛小编也收到了一些师弟师妹的咨询,我也翻了一下我自己的面试记录和整理的相关资料,这里站在面试者和面试官的角度稍作整理分享给大家,文中最后也给大家提供了一些”干货资料“。

这里强调一下:所有的分享是建立如何驱动自己更高效地学习知识,更好地表现自己,而不是找出所谓”无中生有“的纯粹“技巧”。

先说一下我自己的经历,因为实习时间较早,实习生期间我先后经历了搜狗、平安研究院 学 校 事 情 多 , 比 较 短 暂 _学校事情多,比较短暂 、腾讯三份实习,基本都是搜索、阅读理解等自然语言处理相关岗位。秋招期间也拿到了几个头部大厂还算可以的offer,最终选择了腾讯。

本篇文章根据几个已经上岸同学的一些经验归纳而成,首先介绍如何准备面试;然后分享一些面试中被问到的问题,这些问题涵盖了来自于微软、阿里、头条、腾讯、百度、美团、搜狗、京东、快手以及少数创业公司面试,都是实际面试中的一些经验,希望能给大家带来一些借鉴和启发。

因为蜗牛小编主要做NLP,有不少栗子以及最后的面试经验都以NLP为主,我觉得其他岗位的准备方法也是类似。

公众号回复【腾讯内推】,获取内推资格哟。

1.面试准备

我把面试准备分成如下的几个部分分别介绍。

1.1.简历准备

简历的目的是让面试官在几分钟的时间,迅速建立你的"画像",来评估你是不是能胜当前的岗位。因此简历需要突出你的能力和技术,我觉得这里面也有一定的技巧,当然,技巧的使用一定要保证真实性,这是对面试官也是对自己起码的尊重。

我见到的很多简历远远没有实现这个目的。先列举几个特别常见的问题:

  • 简历的重点项目跟面试的岗位相关性很弱,甚至几乎不相关。一般是那些能突出自己能力的重点项目没有重点介绍,也有可能你投递的岗位不是很适合你。我了解到的第一种情况居多

  • 项目介绍得太过随意 项 目 包 括 真 实 项 目 、 比 赛 、 p a p e r _项目包括真实项目、比赛、paper paper,让人感受不到项目的特点和你的能力。项目要么被写的过于简单,根本没有注意到项目的难点和你做了什么;要么就是写的过于复杂,天花乱坠,根本get不到你的重点。

一份简历首先说明基本情况以及求职意向,在此基础上我觉得两部分比较重要:项目(实习)经历、掌握技能。项目要说明白3个事情,1.解决了什么问题2.尝试的方法以及达到的效果,尽可能指标化3.你在项目中担任的角色。技能的话,突出自己哪些是擅长的,哪些是熟悉的,哪些是了解的。

这里提供一个我认为还可以的描述模板,供大家参考,公众号回复【简历模板】获取。

1.2.项目梳理

在面试时,项目作为一项重要衡量指标。写到简历的项目自己务必要梳理清楚,自己问一下自己:

  • 解决该项目遇到的问题,你的方案是什么,类似的方法有哪些?
  • 项目中的细节和创新点。比如算法模型的loss是什么?优化器是什么?模型的具体结构要能表述清楚,你为什么要这么设计?

我的经验是很多时候本来自己还算明白的东西,在面试的时候往往说不好,归根到底还是自己没有梳理清楚,一个方案最好能用画图和符号化的公式进行阐述。

1.3.基础知识

如果项目做得多,是具有很大的优势的,因为项目是自己做的,用到的方法自己也比较清楚,一个小时的面试基本上聊得都是自己相对清楚的问题。但是如果项目做得少,面试官一定会问一些基础知识,来评估你的基础能力,比如我早期项目比较少的时候,就遇到了一些诸如手画GRU、LSTM的问题。

一些基础的知识,我强烈建议自己形成文档,我在读研后期就会把一些基础知识整理成文档,加上最后面试前的准备,形成了一个百页的自然语言处理知识文档。 这 个 文 档 可 以 公 众 号 私 聊 我 , _这个文档可以公众号私聊我, 我 可 以 分 享 给 你 , _我可以分享给你, 等 之 后 整 理 好 了 再 贴 出 链 接 来 _等之后整理好了再贴出链接来

算法面试的基础包括线性回归、逻辑回归、聚类、感知机、SVM、朴素贝叶斯、决策树、EM等基础知识,以及反向传播、损失函数、模型结构等与你的研究领域相关的深度学习知识。这些一定搞的很清楚,要不然面试的时候,因为长时间面试头脑不清醒或者紧张就会断片 曾 经 头 条 连 续 面 试 4 个 半 小 时 . . . _曾经头条连续面试4个半小时... 4...

推荐的书籍是李航老师的《统计学方法》和周志华老师的西瓜书,西瓜书相对入门,《统计学方法》相对系统。这里也分享一个资源库,叫DeepLearning-500-questions,适合做算法的同学仔细研究学习一下,这里面包含了一些机器学习和深度学习的基础问题,搞懂了这些,应对面试也基本没啥问题了。

1.4.算法编程

常规批次的算法面试中,首先就会有算法编程的考试,考试的内容基本上就是常规的数据结构题目和技巧题目,难度也是五花八门,有些题目着实恶心。在提前批或者内推时,一般没有专门的编程考试,相对来说会人性不少,所以我也是墙裂推荐通过内推的方式进行面试 公 众 号 回 复 【 腾 讯 内 推 】 , 获 取 内 推 资 格 _公众号回复【腾讯内推】,获取内推资格

不管有没有在线算法编程考试,现场面试中一定会设计算法考察,一场面试中,基本会有一到两道的算法编程题,我还遇到过一场面试4-5道算法编程的 O R Z _ORZ ORZ

那算法怎么准备呢?如果你的算法功底还可以,基本上《剑指offer》就够了。我吃大学时候ACM老底,基本上只过了一下剑指offer,没有专门刷其他的题目。如果是算法功底相对薄弱,还是需要过几遍《剑指offer》 因 为 可 能 会 忘 记 _因为可能会忘记 ,并刷一些leetcode上的easy、medium类型的题目,hard类型的可以少看一点,一般不会故意出这种类型的刁难人。另外刷题目的时候也有一定范畴,基本上就是排序、递归、链表、栈和队列、二分、二叉树、简单动态规划,我的面试没有超出这些范围。

这里也给大家推荐一个还不错的算法系列篇fucking-algorithm 名 字 很 魔 性 _名字很魔性 ,讲的比较清楚,偏基础。

不管算法能力好坏,都要看一些面试算法题目的。因为面试中考察的可能不仅仅是你的数据结构,还有你的严谨性以及业务性,比如题目中可能涉及实际业务,我就有过面试中手写变形的LRU经历,如果不提前准备,基本上没办法考虑的特别全面的。

2.面试经验

这部分我梳理了我自己实习和秋招将近10多场面试 实 习 偏 多 , 有 一 部 分 题 目 记 录 的 不 是 很 完 整 _实习偏多,有一部分题目记录的不是很完整 ,以及身边已经上岸的一些真实面试经验,这些面试涵盖了来自于微软、腾讯、阿里、头条、百度、美团、搜狗、京东、快手、小米、网易、平安以及少数创业公司,你可以用这些问题来测试一下自己,希望能帮你有一些直观的理解。因为涉及到一些公司,这里就不贴出每场面试对应的公司名字了。 根 据 前 面 的 公 司 名 字 顺 序 简 单 推 理 哈 , h a h a h a _根据前面的公司名字顺序简单推理哈,hahaha hahaha

因为涉及项目的问题比较偏向个人,这里就不贴出来了,但是自己的项目涉及的知识点一定要搞清楚,切记!

面试记录1

一面

  • 自我介绍
  • 介绍前一份实习的项目,以及一些细节
  • 操作系统死锁现象,如何解决死锁(可以确定),进程线程的区别
  • 解决过拟合的方法(正则化、dropout、BN、LN)
  • 算法题:二叉树中序遍历递归非递归,后续非递归

二面

  • 主要问项目,以及一些细节,然后随口提点问题,感觉更像是聊天
  • softmax具体公式和实现

三面:

  • 介绍相关项目
  • 算法题:给一个二叉搜索树,找出top k并保持树的形状

面试记录2

  • CRF的判定公式
  • SVM算法
  • 拟牛顿法和随机梯度下降的区别
  • 互信息(信息增益)
  • KL散度
  • 最短编辑距离,再次基础上延伸出另一道题目:判断最短编辑距离是否小于2
  • 求二叉树子树的最大和
  • 如何优化快排的速度
  • git有一个功能就是看到代码的变化,那么这个逻辑怎么实现? 即S1=[a1,a2,a3,…,an],S2=[b1,b2,b3,…,bm],其中a、b代表每一行的字符
  • 红绿灯追赶问题
    甲乙沿同一条直线从同一点出发,速度相同,甲先出发20秒,中途会经过两个
    30秒红灯30秒绿灯的红绿灯,最后两者同时到达终点的概率是多少?
  • 给定一个歌词列表,每一个元素是一首歌的完整歌词,给一个query,如果这首 歌是这个query的,那么query被连续的包含在这个歌词中,允许有一个字符拼 错、拼漏、拼多。如何从list中找到query对应的。

面试记录3

  • c++面向对象
  • stl的原理归类
  • 问了常见的一些机器学习深度学习问题 记 不 清 了 啊 _记不清了啊
  • 进程和线程,信号量
  • cbow的相关细节
  • 负采样 相关细节
  • softmax以及代码实现
  • 给你两个链表,找出交点,分情况讨论

面试记录4
一面:

  • 交叉熵
  • SVM推导
  • 二叉树的非递归遍历
  • BERT,checkpoint里面存的哪些参数

二面:

  • 简历上的model
  • layer normalization的原理,tf代码
  • 数学题: 求(x-sinx)的零点:零点是0,然后求导发现是恒大于0的,所以只有一个零 点0
    求(x/2-sinx)的零点(共5个零点)
  • 算法:桶排序(找第K大的数)
  • precision、recall、f1
  • BERT的细节问题
  • word2vec的层级softmax原理,为什么用霍夫曼树
  • 常⻅的loss函数,推导
  • 逻辑回归和softmax推导

面试记录5
笔试题

  • 给定一个年月日,输出这是一年的第几天。
  • 给一个迷宫,输出左上⻆到右下⻆的路径。
  • 给定一个数组,找到里面“占大多数的元素”,这个元素是指数量大 于一半数组数量的。
  • 一笔画完一个迷宫。
  • 给定一个字符串,删除"ab",返回最后的字符串,时间O(n),空间 O(1)
    abc -> c
    aaabbc->ac
  • 不用递归不用栈实现二叉树的中序遍历
    求根号2小数点的后1000位
  • 链表的反转
  • 给定两个等⻓的字符串a和b,以及一个词典d,判断是否能把a转换 成b,可以的话需要多少步?
    要求每次只能改变一个字母(不能增加和删除字母),改变后产生的中间结果 必须在字典中。

面试记录6
其他题目忘了
算法题:

  • 任务:开发一颗字典树
    描述:有一个文件,每行一个英文字符串(英文单词),要求将这些单词存储于如下所述的树形结构中,并编写查询函数,输入一个字符串,判断该字符串是否存在于这棵树中。
  • 有一个流量非常大的音乐网站,用户可以语音点歌。支持的query主要是:我想听@song_name,从用户日志观察,
    发现用户的行为中有80%的流量集中在高频音乐,设计一个数据结构,能缩短用户的访问响应时间。

面试记录7

  • batch大小问题
  • 阅读理解的数据集,分为那几种?
  • 平时怎么调参?
  • 两个有序数组怎么求中位数?
  • 一个串怎么求不重复最长子串?
  • attention有那些种类?
  • 10亿32bit整数数据,怎么求重复数字?
  • 给你一个多边形,怎么求一个点是不是在多边形里?
  • 给二叉树前序遍历和中序遍历,写后序?
  • 介绍你觉得做的不错的项目

面试记录8

  • 自我介绍
  • 二叉树按层遍历 包含建树和遍历
  • 字符串A-Z按顺序输出 代码
  • 数据库表两个表连接后搜索 代码
  • 给定京东商品属性,判断男女,如何选择特征
  • 介绍逻辑斯蒂回归
  • 问了参加的某个比赛
  • 介绍word2vec

面试记录9

  • 数据库mongo mysql redis区别
  • 说一下你觉得你最好的项目
  • 说一下word2vec
  • lstm特点
  • 如果让你设计一个项目,你会怎么设计
  • 模型设置了哪些参数,都有什么作用
  • 梯度下降方式,为什么要创建batch,batch大小如何确定

面试记录10

  • 介绍项目
  • 有一个字符串,除了一个字符以外,其他的字符串都是成对出现的,找到 这个单独的字符。
    比如AABCCDDEE->B
  • Python的线程和进程
  • 如何构建一个分布式系统 背景:用户给定给一个文章,在最初始我们有一个模型对其进行处理,后 面随着迭代,单一机器无法运行所有的模型了。(比如用10个领域的模 型,之前在一个机器上跑,现在跑不动了),设计一个更加可拔插式的系 统,让我们只需要简单的增加节点即可。
  • 归并排序然后通过数学公式计算其时间复杂度

面试记录11

  • 详细了解项目
  • 算法题。有多少种深度为k,节点数为n的二叉树?
  • 算法题。给一个n x k的矩形,里面包含多少个小矩形?不完全重合就不算重复。 [变形】:给一个n x k的矩形,里面包含多少个大小为K的小矩形?不完全重合就不算 重复。
  • 一个机器人,等概率往左走往右走,走N步能回到原点的概率。
  • 二分查找
  • 1.给一个巨大的文件,里面每一行是一个词,统计词频形成词表。变形:生成器,每次返回1中的一个词,概率跟其词频有关。

面试记录12

  • 算法题:写一个编辑距离算法的代码,或者树的编辑距离的算法
  • 手写二叉树遍历非递归
  • 手写快排
  • 给你一个数,判断二进制里面有多少个1?怎么打印0-N中有多少个1
  • 谈论项目里面的相关问题,细节
  • 手画gru

面试记录13

  • BERT的具体结构
  • 介绍项目
  • LayerNorm的意义
  • Tensorflow写一个题: 100m的矩阵和100n的矩阵,得到一个m*n的矩阵,矩阵里面是相应元素 的cosin

面试记录14

  • 详细介绍项目,RNN的细节,LSTM、GRU的结构和⻔
  • 求极限,洛必达法则。N个样本有放回取N次,一次都没被取到的样本 期望是多少?对[(n-1)/n]^n的极限
  • 求E(max(x,y)),x,y是[0,1]的均匀分布
  • 汉诺塔问题的算法题
  • 优化N个无序的数,找到最大值最小值在最坏情况下的时间复杂度。 O[(3/2)*N]
  • 假设你在进行一个游戏节目。现给三扇⻔供你选择:一扇⻔后面是 一辆轿⻋,另两扇⻔后面分别都是一头山羊。你的目的当然是要想得到 比较值钱的轿⻋,但你却并不能看到⻔后面的真实情况。主持人先让你 作第一次选择。在你选择了一扇⻔后, 知道其余两扇⻔后面是什么的 主持人,打开了另一扇⻔给你看,而且,当然,那里 有一头山羊。现 在主持人告诉你,你还有一次选择的机会。那么,请你考虑一下,你是 坚持第一次的选择不变,还是改变第一次的选择,更有可能得到轿⻋?
  • 0~n共有n+1个数,缺一个,有序无序两种情况,找出哪个?

面试记录15

  • 数理统计题:
    有10个人对应十个作为,10号先选择,然后1到9号选择,并且1到9号选择的时候如果是自己对应位置的编号空着就坐在对应编号上,如果被占领了就随便座,求最终5号坐在自己位置上的概率
  • 线性分类和逻辑斯蒂回归的区别,loss又有什么不同
  • 线性分类为什么不直接求解(线性方程组) 而是通过递归下降的方式: 矩阵不满秩
  • 算法题:
    (1)给一个排好序的列表,找出所有两个相加和为8的,组织成tuple之后放进列表,最终返回列表
    比如给你[1,1,2,3,4,5,7,8,11] 最终的结果是[(1,7),(3,5)]
  • 树的编辑距离

面试记录16

  • 算法题:给你有重复的有序数组,找出最小下标的某个数,没有返回-1
  • 写出逻辑回归的loss
  • 介绍word2vec并写出负采样的loss
  • 如何根据中心词预测上下文,优缺点是什么
  • 讲解s-net
  • word2vec中的窗口大小有什么影响

面试记录17

  • 简历提问细节问题
  • 算法题目:写一个c函数,实现如下功能:
    给一个单调递增没有重复数字的函数,找某个数a的下标,函数的参数有数组首地址指针p,数组的长度length,以及要找的数a。
  • 讲解之前实习的业务,都做了些啥
  • 最初encoder、decoder到最新模型的变化过程,每个阶段都有什么特点,都解决了什么问题(比如attention的作用)
  • seq2seq特点
  • 底层技术的实现原理,比如分词、命名实体识别、词性标注

面试记录18

  • 求最长公共子串
  • 求two sum问题
  • 求10亿数组中的计数的top K问题
  • 给后序遍历,判断是不是二叉树
  • 项目中的多卡训练问题
  • 搜狗业务介绍

面试记录19

  • 围绕简历提问细节问题
  • 某个场景下XGboost的特征有哪些呢?
  • 讲一讲你某个项目的工作是怎么进行的?
  • 你说你修改了**语义匹配的模型,你是怎么修改的呢?
  • 你项目中的某个工作主要是什么呢?你的模型的loss是什么?
  • 说一下项目中的某个模型是什么?
  • 给你一个只包含26个字母和.*的序列?

其他问题

  • attention一般怎么和下一层交互的?
  • lstm几个门
  • seq2seq特点,有哪些经典的模型?
  • 数据量不足采用什么样的分类模型? (决策树?)
  • 非监督的模型有哪些?
  • capsule结构特点,描述一下?
  • 搜狗的结果指标是怎么样的?

上面问题答案,大家自己验证测试一下,欢迎在评论区评论或者公众号留言或者提问。

大家面试中都遇到了哪些问题呢?贴出来分享吧~ 最后祝大家面试顺利~

以上是关于来自鹅厂的面试经验(干货)的主要内容,如果未能解决你的问题,请参考以下文章

腾讯前端面试总结+面试指导

腾讯前端面试总结+面试指导

程序员面试你需要知道的干货,如何写项目经验?

我,35岁大专,高龄入职鹅厂,试用期未过被劝退(分享java面试宝典)

我,35岁大专,高龄入职鹅厂,试用期未过被劝退(分享java面试宝典)

我,35岁大专,高龄入职鹅厂,试用期未过被劝退(分享java面试宝典)