NewBeeNLP原创出品
作者 | 叶先生
面试锦囊之面经分享系列,持续更新中
欢迎后台回复"面试"加入讨论组交流噢
写在前面
首先说一下本人背景:算法岗,科班,本硕都是某 985。有一段两个半月的大厂非核心部门实习经历,一篇冷门方向的 SCI 一区期刊论文,一个小比赛的 TOP5。(实习比赛论文都有,但每样都一般般,所以秋招也是十分艰难)
秋招结果:投递了大大小小 30 多家公司,目前是拿到一份意向书。
意向书:字节(经历了一次笔试挂,一次三面挂,再被捞三面后上岸的)
泡池子:京东物流,华为,360,OPPO(其中 360 和 OPPO 已经开过部分奖了,我应该排序比较靠后或者挂了)
终面挂或者排序挂:网易互联网,百度提前批,拼多多拼越计划
二面挂:阿里(二面完后很久状态都没改变),百度正式批,腾讯 PCG
一面挂:美团,快手
进行中:腾讯音乐,网易互娱
还有一些投了之后没消息或者笔试完后没消息,这里就不列出来了。
项目相关提问
项目相关提问我只列举一下可能对大家有借鉴意义的问题。
有没有观察单个特征和标签之间的联系
每次加入一个特征,如果效果没有提升则不使用该特征。那怎么处理特征组合的问题。(组合后可能变好或者差)
ID embedding 怎么做
项目中 Embedding 学习到的是什么,特征交叉的作用是什么
为什么使用 DeepFM 来进行特征交叉
DeepFM 和 Deep&Wide 区别,写一下 FM 公式,DeepFM 优点
DeepFM 只是简单的交叉,其他复杂点的对特征进行交叉的网络了解吗
你说你发现了训练集和测试集分布不一致的问题。你是怎么发现这个问题的,怎么诊断定位,除了可视化还有没有其他直观的指标
对于一个算法课题,你觉得最重要的几个环节有哪些。
项目遇到了什么困难,如何解决?
项目取得了啥效果,项目的核心提升是哪些操作
项目中使用了哪些特征?如果要继续改进的话,还可以使用哪些特征?
有没有使用其他更好的算法来解决问题
你觉得你实习做的项目还有哪些地方可以做优化
项目遇到瓶颈,反映在业务上是怎么样的,你要怎么去解决这个问题
有没有调研过业界的做法
你的比赛任务,四分类,评估指标用 auc 合理吗
比赛的 LSTM 和 CNN 是怎么用的,为什么可以用。讲一下 RNN 和 CNN 的区别,为啥在你这个比赛中 LSTM 比 CNN 效果好
机器学习基础相关提问
特征相关
讲一下特征工程
类别特征编码方式有哪些?如何解决 target encoding 的 target leakage?count encoding 有个缺点:测试集和训练集分布不同,导致特征频率不一样。怎么解决?
如何进行特征选择
项目中如何做交叉特征,为什么这样交叉,基于业务意义?
为什么需要计算特征重要性,计算特征重要性的方法有哪些
连续特征怎么分箱,如何判断分箱的结果是好是坏
特征平滑方法有哪些
怎么处理长尾问题,从样本,模型的角度来看,从优化器的角度来看
什么样的 ID 经过 Embedding 后可能有效,如何筛选有效的 ID。有些 ID 数量级很大,怎么处理
神经网络相关
神经网络如何跳出局部最优
神经网络如何缓解过拟合, 讲一下 dropout,dropout 训练和预测的时候有什么不同, dropout 操作类似于机器学习中的什么操作
batch normalization 和 layer normalization 区别,写一下 bn 公式
优化器了解哪些,adam 相对 sgd 的改进
**函数的作用,各个**函数的优缺点
tf 处理特征的类有没有了解( tf.feature_column)
讲一下 word2vec,有哪两种形式,词的数量比较多,分类时怎么优化, word2vec 怎么做负采样
item2vec 有没有了解
多分类如果有 10000 类别,怎么优化
graph embedding 了解吗,神经网络做 graph embedding 了解吗
讲一下图神经网络
tf embedding_lookup 原理
文本分类有了解吗,说一下 textcnn
如何缓解 RNN 的梯度消失
讲一下 LSTM。LSTM 为啥能缓解梯度爆炸和梯度消失?LSTM **函数可以使用 relu 吗
排序算法了解吗?说了快排,归并,冒泡等(后面发现好像问的是 ctr 中的排序算法)
了解哪些推荐算法,nlp 的预训练模型了解吗,attention, transformer,bert 了解吗
CNN 和 RNN 在实际使用中有哪些优缺点?NLP 中,什么情况下使用 CNN,什么情况下使用 RNN?
神经网络权重全 0 初始化会有什么问题?应该怎样初始化?讲讲 Xavier 初始化
树模型相关
树模型怎么处理连续特征
随机森林的随机性体现在哪里?boosting 和 bagging 区别。随机森林是不是树越多越好。随机森林采样是有放回采样还是无放回采样
c4.5 用来解决 ID3 什么问题,gbdt 和 rf 分别是集成的什么思想,解决什么误差
GBDT 怎么生成一个新的树,怎么确定叶子节点的权重
随机森林和 xgboost 那个树的深度更深
XGBoost 和 GBDT 的不同,为啥 XGBoost 选择决策树作为基分类器?
XGBoost 和 GBDT 分裂叶子节点的不同之处,写一下 XGBoost 计算节点分裂收益的公式
XGBoost 如果损失函数没有二阶导,该怎么办
GBDT 和 XGBoost 用什么基分类器,如何分裂叶子节点,处理分类问题和回归问题有啥不同
Lightgbm 相比于 XGBoost 的改进,LightGBM 为什么比 GBDT 快。LightGBM 怎么做并行
看过 XGBoost, Lightgbm 等的源码没?(没有。。)
讲一下 bagging,boosting,stacking
stacking 和 nn 的区别?(nn 也可以搭积木,拼接)
其他相关
哪些算法需要对特征先进行归一化,这类算法有什么特点,不进行归一化的缺点是?
如何解决过拟合,讲一下 L1 和 L2,L1 为啥能得到稀疏解
如何处理样本不平衡
分类和回归任务有哪些评估指标
写 huber loss 公式
auc 是啥,怎么解释。如果线下 auc 好,线上 auc 变差,有什么可能的原因
auc 针对的是单个值的排序,那么怎么对 list 进行排序(ndcg ?)
多分类 auc 怎么算
交叉熵公式
LR 的损失函数是啥,怎么来的,手推 LR
LR 如何优化目标函数
SVM 和 LR 区别
为什么 LR 使用交叉熵而不是 MSE
讲一下先验,后验,最大似然估计,最大后验估计
抛一次硬币,正面为上,是啥分布。抛 n 次硬币,正面为上的数目是啥分布
广义线性回归了解么
排序,操作系统,数据结构,计网
这方面问得比较少
快排时间复杂度
排序算法了解哪些,讲一下快排和堆排,堆排适用于哪些场景
讲一下哈希表,哈希表用什么数据结构实现,怎么解决哈希冲突,哈希表数组空间大小怎么确定
线程,进程是啥,进程间通信方式,如何保证线程安全
多进程和多线程区别,各自的适用场景,线程安全怎么解决,有哪些锁,乐观锁悲观锁了解吗,自旋锁适用于什么场景
TCP 协议了解吗
编程语言,大数据相关
Hive 相关
了解 Spark,Hadoop,Hive,Scala 吗?(我基本不会,实习时写过一些简单的 Hive SQL)
Hive SQL 大表 join 小表,可以怎么优化
Hive sql union 和 union all 区别,行转列和列转行了解吗
Hive 读取 json 某个 key 对应的值
Hive 数据倾斜怎么处理
Python 相关
说一下 Python 中的 lambda
Python copy 和 deepcopy 区别, if a 和 if a is not None 区别
Python is 和 == 区别,两者分别在比较什么?Python 没有 switch... case.. ,如何优雅地实现
Python 有哪些对象类型,哪些是可变对象,哪些是不可变对象
Python 中,li = [0,1,2] ,那么 li[3] 和 li[:3] 分别返回什么
Python 写过多线程吗
字典有 key, value,按照 value 进行排序
手撕
链表相关
链表翻转
合并两个有序链表
判断链表是否有环,返回环的入口
树相关
无序数组转二叉搜索树
两个树节点的最近公共祖先
二叉树先序遍历展开成链表 in-place
无序数组转平衡二叉搜索树(不能先对数组进行排序)
给你两颗二叉树 a,b(只有数的结构而没有 value),判断a 是否 b 的子树(只需要 b 的某个子树结构跟 a 一样就行),能否继续优化?
DFS,BFS
打印字符串所有子序列
字符串全排列(字符串可能有重复元素)
迷宫问题,迷宫里有多个人处于不同位置,每个人逃出迷宫有最短路径值,求这些最短路径值的最大值
划分为 k 个相等的子集:给定一个整数数组 nums 和一个正整数 k,找出是否有可能把这个数组分成 k 个非空子集,其总和都相等
排序,大小
子数组最大和
子矩阵和的最大值
两个有序数组的中位数
求数组的第 k 大数,时间复杂度是多少?
读取文本,统计,然后排序(有多个排序因素)
一个数组只包含0,1,2三个数,对这个数组进行排序
最大数组合:给定一个非负整数数组,求一个拼接出来的最大数。比如 [2, 32] => 322
DP
股票最大利润(只能交易一次)
走楼梯方法数,一次可以走一个台阶或者两个台阶,总共有 n 个台阶
01数组,长度为 n,1代表可达,0 代表不可到达,一次可以跳 3 到 5 步。求跨越该数组的最小步数(起点可以看成 index 为 -1,终点可以看成 index 为 n)
其他
顺时针打印二维矩阵
升序数组,求不同绝对值个数
二维平面判断一个点是否在三角形以内
给定数组,计算有多少个子数组和为 target
怎么编程求几何平均值,需要考虑什么情况,怎么解决
提供东西视图和南北视图,求城市体积最大值,最小值,leetcode 807 变种
正整数数组满足 2 * a[i] < a[i+1],给定数字 K,数组中是否存在两个数 x + y = K
协同过滤中,需要计算用户相似度矩阵。给定用户 ID,每个用户的听歌列表(music id 列表)。计算用户相似度矩阵
给一个数据表,有两个字段(user, login_time),用 SQL 求连续两天登录的用户占比
场景题,开放题
在搜索框输入文字的时候,会出现搜索提示,比如输入‘腾讯’可能会提示 ‘腾讯视频’。你觉得搜索提示是用什么数据结构来实现的
学校门口的十字路口车流量预测,怎么建模?(已有历史车流量数据)
年龄预测(范围 10 到 50),目标是最大化准确率,怎么设计损失函数?如果要求预测结果在正负 3 以内就行,怎么设计损失函数,如何优化?
有个商品库,商品库记录的车的型号,最低价格,最高价格(没有精准价格)。当前用户在浏览某个商品,要求推荐同个档次的商品,如何建模?假如商品库很大,要推荐相似度最大的 3 个商品,如何解决?
定义兄弟字符串如下:若两个字符串存在一样的字符,每个字符次数都一样,但是顺序有可能不同。比如 abbc 和 acbb 是兄弟字符串,abbc 和 acb 不是。现有一个很大的日志文件,每一行是一个单词。问题:给定一个单词,查询日志文件中该单词兄弟字符串有多少个。有多次查询操作。
怎么给 50 w 高考考生成绩排序,要求时间空间复杂度尽可能低
一副扑克牌,取出一张,剩下的 53 张给你看,如何判断抽出的是哪一张(要求时间,空间复杂度最优)
一个超级大文件,每一行有一个 ip 地址,内存有限,如何找出其中重复次数最多的 ip 地址
有一款新游戏,怎么识别出土豪(可能在新游里充大量钱的用户)
提供一个包含所有英文单词的字典,为手机的T9输入法设计一个索引,例如输入4能够提示出g、h、i开头的英文单词(greate、hello、……),输入43能够提示出ge、he、id、if (hello……) 等词开通的英文单词,
一起交流
重磅推荐!NewBeeNLP目前已经建立了多个不同方向交流群(机器学习 / 深度学习 / 自然语言处理 / 面试交流 / 大厂内推 等),赶紧添加下方微信加入一起讨论学习吧!
- END -
预训练模型超全知识点梳理与面试必备高频FAQ 2020-10-10
百度 | 一份迟来的提前批机器学习面经 2020-09-25
记得把NewBeeNLP设为星标哦
等你在看