当前位置:   article > 正文

【面经系列】八位硕博大佬的字节之旅_字节硕士四年

字节硕士四年

作者:CHEONG
研究方向:机器学习和知识图谱
公众号:AI机器学习与知识图谱


前言:若需获取本文全部的手书版原稿资料,扫码关注公众号,回复: 字节面经 即可获取。

原创不易,转载请告知并注明出处!扫码关注公众号【AI机器学习与知识图谱】,定期发布知识图谱,自然语言处理、机器学习等知识,添加微信号【17865190919】进讨论群,加好友时备注来自CSDN。


本文分享八位硕博大佬秋招字节之旅,除了面经之外,也给出了许多中肯的建议,文末有非面经之谈,小道消息谨慎食用。


一、博士大佬W

1、 自我介绍

​ 主要包括:姓名年龄,本科,硕士,博士院校,保研考研,研究领域,paper和项目总体情况,预计毕业时间,是否达到毕业要求。

2、项目介绍

​ 介绍2-3个你认为重要的; 主要要点: 出发点,问题难点,contribution, 输入输出,模型重点, 自己工作占比,最终的结果。

注意事项: 一定要提前算好内容,要有逻辑条理,分点介绍。因为紧张,说不出来,或者拼命说很多细节导致超时,都是不可取的。

3、算法基础

​ 1)Word2vec Hierarchical Softmax原理

​ 2)BERT模型架构,怎么预训练,怎么feature based/fine-tune

​ 3)逻辑回归原理公式和损失函数,以及LR推导

4、代码面试

​ 1)计算两个字符串编辑距离(最长公共子串+递归)

​ 2)一个二叉树,转成单向链表,不能申请新变量

5、开放性问题:

​ 1)你最近有没有读论文,挑一篇你最喜欢的聊一聊

​ 2)针对你项目里面的“XXXX”方法,现在大家都有什么新的方法吗?(1,2问题,看你是否与时俱进,关注新成果)

​ 3)你做研究,你的idea都怎么想到的(看你的工作习惯,有没有团队合作经验)

​ 4)你觉得现在字节的头条,抖音,西瓜视频,哪里会用到搜索,还可以在哪里改进(看你有没有关注他们的产品)

6、提问环节

​ 1)你还有没有什么想问我的?(只要不犯傻去问工资,都问题不大)


二、硕士大佬A

1、自我介绍

2、 项目介绍

​ 1)介绍一个research项目,由于涉及到GNN,问了很多GNN的细节

​ ² 手写GCN

​ ² 手写GAT(实现一个GNN,需要哪些参数要学习?)

​ ² 如果图是动态变化的,怎么用GNN?

​ ² 在你的model中GNN的输出用来干嘛了?

​ 2) 介绍其中一个工程类项目

​ ² 任务是什么,整体的流程,特征的数量

​ ² 用的什么损失函数?交叉熵

​ ² 二分类可以用MSE损失吗?

​ ² 为什么不可以?梯度消失

​ ² 为什么会梯度消失?推导公式证明

​ ² 你这个公式,什么情况下会梯度消失?

​ ² 用的什么模型?XGB如何选择特征的?

​ ² xgb是用的CART吗?

​ ² 你做实验没有去看xgb的特征吗

​ ² 返回特征的函数源码你没有看吗,你应该看下他怎么实现的

3、算法基础

​ 1)RNN的缺点

​ 2)RNN和LSTM这类模型是怎么做BP的,和普通的dnn的区别是什么,推导一下

​ 3)偏差,方差和误差的区别和联系

​ 4)boosting和bagging的区别

​ 5)GBDT原理。追问:负梯度的概念是什么,为什么用负梯度

​ 6)GBDT 叶节点权重怎么算

​ 7)GBDT 单调性约束怎么实现的

4、代码考察

​ 1) 找一个排序数组中某个数第一次出现和最后一次出现的下标

​ 2) 去掉字符串中的多余空格

​ 3) 查找二叉树中两个节点的最近公共祖先

​ 4) 二叉树的中序遍历转为双向链表,空间复杂度要求O(1)

5、开放性问题

6、提问环节

​ 1)有没有什么建议

​ 2)你们组的技术栈

​ 3)你们组的业务


三、硕士大佬B

1、自我介绍

2、项目介绍

​ 1)介绍一个工程项目中用到的相关模型

​ ² 解释Bert, Bert好在哪里

​ ² 解释HAN模型,为什么在你这个项目上HAN模型好用

​ ² ELMO模型和Bert模型的比较,position embedding,sentence embedding, mask embedding如何拼接的,position embedding细节

​ 2)介绍另一个项目中用到的词向量预训练相关模型

​ ² Fasttext模型为什么比word2vec快,隐层怎么处理的

​ ² 介绍了词向量预训练模型 Word2vec\ Glove\ Fasttext\ Elmo\ Bert\ Flair,各自特点和区别

​ ² 在预料中有些词比较稀疏又想学好的情况下,使用word2vec时如何选用cbow/skipgram,hs,ns

​ ² Word2vec的负采样和分层softmax介绍,负采样的负样本是如何采样的,Hierarchical Softmax原理以及树的节点是什么

3、 算法基础

​ 1)优化函数有哪些,比较他们的优缺点
​ 2)Transformer中为什么要除以根号dk,为什么能加快收敛速度,为什么加了根号
​ 3)BN和LN的区别,以及BN一般怎么用,LSTM中有没有用BN
​ 4)CNN中给定输入数据维度[c,w,h],卷积核[k,k],则输出维度,如何padding=p,输出维度是什么

4、代码考察

​ 1)给定一个矩阵里面只包含0和1两种数字,给出每个单元距离最近的0的距离,上下左右都算作相邻,相邻的距离为1

​ 2)一个无序数组,数字代表挡板的高度,挡板没有厚度最多可以盛多少水,如[3, 1, 2] 输出:4

​ 3)S1, S2两个整数数组 已经从大到小排序。输出最大的K个数, 时间复杂度: 通过k/2的思想, 直到把k为到1为止

​ 4)S1, S2,…, Sx整数数组 已经从大到小排序。输出最大的K个数, 时间复杂度

​ 5)给定一个可包含重复数字的序列,返回所有不重复的全排列

​ 6)求二叉树的宽度

​ 7)“abcccbda”->“ada” 去除字符串的重复字符

5、开放性问题

​ 1)一个小木棒拆成三段,能组成三角形的概率

​ 2)你对字节和快手这两家公司怎么看,谈谈你的想法

6、提问环节

​ 1)对我这次面试有什么建议


四、硕士大佬C

1、自我介绍

2、项目介绍

​ 1)介绍一个比赛类项目

​ ² 模型怎么判断过拟合,过拟合了怎么办

​ ² 为什么召回的数量级小,排序模型的效果好

​ ² 在这个项目中遇到的最大的困难是什么,怎么解决的

3、算法基础

​ 1)介绍lr

​ 2)lr和svm的区别联系

​ 3)计算cnn的参数

​ 4)对BERT的理解

​ 5)对Attention的理解

​ 5)AUC,Recall等评价指标

4、代码考察

​ 1)第k大的数

​ 2)链表找环并证明

​ 3)全排列 -> 子集全排列

​ 4)用设计数据结构计算四则运算结果->二叉树

​ 5)给定两个unordered数组,数组中每个元素都包含一个int和一个bool,bool表示这个int数值是否应该被delete,每个元素的值可能会出现多次,和不同的状态,将两个数组合并成一个,要求:合并后返回一个数组,每个元素只能出现一次;不能包含曾经被delete过的元素。

5、开放性问题

​ 1)搜索框输入联想

​ 2)如何评判内容审核方案的有效性

​ 3)介绍一个自己觉得理解好的模型

6、提问环节


五、硕士大佬D

1、自我介绍

2、项目介绍

​ 1)介绍一个工程项目中的模型

​ ² 模型参数需要一个内存、反向传播需要一个内存,在使用adam优化器是,需要多大内存的空间

​ ² 为什么GPT-3 下游任务可以不做finetune, 其他模型能不能实现这样的效果

​ ² 分类模型,softmax输出的反向传播的公式

​ ² 针对项目一些相关的细节讨论

3、算法基础

​ 1)交叉熵、信息熵的公式

​ 2)EM算法

​ 3)解决过拟合的方法

​ 4)Batch Normalization 计算哪个维度的均值、方差

​ 5)FastText模型

​ 6)word2vec如何做的负采样

​ 7)决策树的信息增益公式

​ 8)传统的词向量、动态词向量都有哪些

4、代码考察

​ 1)有一串数字, 调整其中的两个数字,让结果尽可能大

​ 2)给一个概率分布,需要生成k个数,希望这k个数的任意连续子集都尽量接近这个分布

​ 3)二叉树两个节点间的距离(路径长度)

​ 4)算法题 接雨水

5、开放性问题

6、提问环节


六、硕士大佬E

1、自我介绍

2、项目介绍

​ 1)介绍一个工程项目中的模型

​ o BPE 分词怎么做的,对比 WordPiece 呢?

​ o 如何扩充样本?Sentence 如何变成向量;

​ o 预训练模型,新的模型例如 XLNet、RoBert 是否了解

3、算法基础

​ 1)Lightgbm,GBDT,Xgboost原理,XGB残差怎么用一次和二次梯度求,分裂点怎么求,思想原理是什么。XGB实际使用中重要的超参数,你们比赛中用的目标函数是什么,为什么lightgbm速度更快,其并行计算如何实现

​ 2)Bagging和Boosting的区别,谁是更关注方差 ,谁是更关注偏差

​ 3)如何防止过拟合

​ 4)1*1的卷积核 有什么用

​ 5)Max pooling 梯度传导

​ 6)如何防止梯度消失,为什么会有梯度消失

4、代码考察

​ 1)最大连续子数组和

​ 2)(0,0) 到 (m, n) 只能向上和向右,有多少种方案,带有障碍物呢?

5、开放性问题

6、提问环节


七、硕士大佬F

1、自我介绍

2、项目介绍

​ 1)对一个实习项目介绍

​ o 对一些技术细节提出疑问

​ o 知识图谱相关的理论

​ o DeepWalk 模型原理

3、算法基础

​ 1)RNN、Transformer、BERT 之间的改进;

​ 2)DNN 解决过拟合的方法;

​ 3)词向量技术进化路线;

​ 4)Word2vec实现原理:两种方法,两种负采样;

​ 5)决策树,熵的公式、如何分裂,如何剪枝,回归树、分类树的做法

4、代码考察

​ 1)rand()产生 0~1 之间的数,如何从 m 种取 n 个数

​ 2)一个数组,存在一个数只出现一次,其他数出现 k 次,找到只出现一次的数

​ 3)二叉树的最大路径和

5、开放性问题

​ 1)给出 6* n 的方块,用 1 * 2 或者 2 * 1 的方块覆盖它。不要求求出具体的个数,证明该方法是多项式级数还是指数级数

​ 2)平时实习和mentor 怎么沟通的,频率多少

6、提问环节

​ 1)贵公司的该岗位主要做什么业务

八、小道消息,尽情食用

  1. 关于面试结果: 字节会在每一轮面试对面试者打分,最后package会根据每一轮的打分来定。分值设定如下:

    ​ 2分: 不通过

    ​ 2.5分: 不通过,但有机会,看后面成绩,以及可以校招再试试

    ​ 3分: 基本通过,HR再看看

    ​ 3+分:通过,HR可以争取

    ​ 3.5分:通过,优秀,HR极力争取

    ​ 4分:行业内顶级,一定要招来

    ​ 一般3+会拿到普通offer

  2. 关于面试流程:一般分为四面,一面二面主要问你的项目,和代码能力,三面是leader面你的综合能力,开放性问题,四面是HR面。如果会增加五面的话,是决定是不是sp或者ssp

    ​ 面试主要比重: (博士)项目描述70%, 代码能力20%, 10%开放性问题回答

    ​ 面试主要时间: 项目描述:20分钟(建议自己准备15分钟,因为面试官会打断,提问题)

    ​ 代码: 25分钟一题(变态面试官会弄两题)

  3. 代码写不出来怎么办:

    ​ 1)完全写出来,运行出来最好

    ​ 2)两道题,时间不够,在保证会的那道题完整写完的基础上,另一题给出思路,给到啥程度看时间而定

    ​ 3)如果写不出来,注意一下加分项:

    ​ 1)你的思路是否对了(决定性的)

    ​ 2)没写出来的部分给出伪代码或者思路

    ​ 3)时间允许情况下,有注释

    ​ 4)代码风格

    ​ 5)是否有完整的输入输出, 完备的特殊情况考虑

    ​ 6)实在写不出来,可以申请换题

4.准备工作:

1)与所投部门相关的前沿工作和实际应用工作

2)头条,抖音,习惯等字节产品,你所投部门在其中的应有,以及你的思考

3)算法code,常见的数据结构(业务部门喜欢考)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/629664
推荐阅读
相关标签
  

闽ICP备14008679号