首页 > 笔经面经 > 算法岗秋招面经总结,回馈牛客

算法岗秋招面经总结,回馈牛客

头像
叶先生。
编辑于 2020-09-30 20:09:33 APP内打开
赞 37 | 收藏 137 | 回复11 | 浏览3692

本文目录

写在前面
面经总结:
  1. 项目相关提问
  2. 机器学习基础相关提问
  3. 排序,操作系统,数据结构,计网
  4. 编程语言,大数据相关
  5. 手撕
  6. 场景题,开放题

写在前面

本人秋招期间,看了许多牛客上的面经,收益匪浅。如今本人秋招已经接近尾声了,在此写一下秋招总结,回馈牛客。

首先说一下本人背景:算法岗,科班,本硕都是某 985。有一段两个半月的大厂非核心部门实习经历,一篇冷门方向的 SCI 一区期刊论文,一个小比赛的 TOP5。(实习比赛论文都有,但每样都一般般,所以秋招也是十分艰难)

秋招结果:投递了大大小小 30 多家公司,目前是拿到一份意向书。
意向书:字节(经历了一次笔试挂,一次三面挂,再被捞三面后上岸的)
泡池子:京东物流,华为,360,OPPO(其中 360 和 OPPO 已经开过部分奖了,我应该排序比较靠后或者挂了)
终面挂或者排序挂:网易互联网,百度提前批,拼多多拼越计划
二面挂:阿里(二面完后很久状态都没改变),百度正式批,腾讯 PCG
一面挂:美团快手
进行中:腾讯音乐,网易互娱

还有一些投了之后没消息或者笔试完后没消息,这里就不列出来了。


面经总结

1. 项目相关提问

项目相关提问我只列举一下可能对大家有借鉴意义的问题。
1. 有没有观察单个特征和标签之间的联系
2. 每次加入一个特征,如果效果没有提升则不使用该特征。那怎么处理特征组合的问题。(组合后可能变好或者差)
3. ID embedding 怎么做
4. 项目中 Embedding 学习到的是什么,特征交叉的作用是什么
5. 为什么使用 DeepFM 来进行特征交叉
6. DeepFM 和 Deep&Wide 区别,写一下 FM 公式,DeepFM 优点
7. DeepFM 只是简单的交叉,其他复杂点的对特征进行交叉的网络了解吗
8. 你说你发现了训练集和测试集分布不一致的问题。你是怎么发现这个问题的,怎么诊断定位,除了可视化还有没有其他直观的指标
1. 对于一个算法课题,你觉得最重要的几个环节有哪些。
2. 项目遇到了什么困难,如何解决?
3. 项目取得了啥效果,项目的核心提升是哪些操作
4. 项目中使用了哪些特征?如果要继续改进的话,还可以使用哪些特征?
5. 有没有使用其他更好的算法来解决问题
6. 你觉得你实习做的项目还有哪些地方可以做优化
7. 项目遇到瓶颈,反映在业务上是怎么样的,你要怎么去解决这个问题
8. 有没有调研过业界的做法
1. 你的比赛任务,四分类,评估指标用 auc 合理吗
2. 比赛的 LSTM 和 CNN 是怎么用的,为什么可以用。讲一下 RNN 和 CNN 的区别,为啥在你这个比赛中 LSTM 比 CNN 效果好

2. 机器学习基础相关提问

特征相关

1. 讲一下特征工程
2. 类别特征编码方式有哪些?如何解决 target encoding 的 target leakage?count encoding 有个缺点:测试集和训练集分布不同,导致特征频率不一样。怎么解决?
3. 如何进行特征选择
4. 项目中如何做交叉特征,为什么这样交叉,基于业务意义?
5. 为什么需要计算特征重要性,计算特征重要性的方法有哪些
6. 连续特征怎么分箱,如何判断分箱的结果是好是坏
7. 特征平滑方法有哪些
8. 怎么处理长尾问题,从样本,模型的角度来看,从优化器的角度来看
9. 什么样的 ID 经过 Embedding 后可能有效,如何筛选有效的 ID。有些 ID 数量级很大,怎么处理

神经网络相关

1. 神经网络如何跳出局部最优
2. 神经网络如何缓解过拟合, 讲一下 dropout,dropout 训练和预测的时候有什么不同, dropout 操作类似于机器学习中的什么操作
3. batch normalization 和 layer normalization 区别,写一下 bn 公式
4. 优化器了解哪些,adam 相对 sgd 的改进
5. 激活函数的作用,各个激活函数的优缺点
6. tf 处理特征的类有没有了解( tf.feature_column
7. 讲一下 word2vec,有哪两种形式,词的数量比较多,分类时怎么优化, word2vec 怎么做负采样
8. item2vec 有没有了解
9. 多分类如果有 10000 类别,怎么优化
10. graph embedding 了解吗,神经网络做 graph embedding 了解吗
11. 讲一下图神经网络
12. tf embedding_lookup 原理
13. 文本分类有了解吗,说一下 textcnn
14. 如何缓解 RNN 的梯度消失
15. 讲一下 LSTM。LSTM 为啥能缓解梯度爆炸和梯度消失?LSTM 激活函数可以使用 relu 吗
16. 排序算法了解吗?说了快排,归并,冒泡等(后面发现好像问的是 ctr 中的排序算法
17. 了解哪些推荐算法,nlp 的预训练模型了解吗,attention, transformer,bert 了解吗
18. CNN 和 RNN 在实际使用中有哪些优缺点?NLP 中,什么情况下使用 CNN,什么情况下使用 RNN?
19. 神经网络权重全 0 初始化会有什么问题?应该怎样初始化?讲讲 Xavier 初始化

树模型相关

1. 树模型怎么处理连续特征
2. 随机森林的随机性体现在哪里?boosting 和 bagging 区别。随机森林是不是树越多越好。随机森林采样是有放回采样还是无放回采样
3. c4.5 用来解决 ID3 什么问题,gbdt 和 rf 分别是集成的什么思想,解决什么误差
4. GBDT 怎么生成一个新的树,怎么确定叶子节点的权重
5. 随机森林和 xgboost 那个树的深度更深
6. XGBoost 和 GBDT 的不同,为啥 XGBoost 选择决策树作为基分类器?
7. XGBoost 和 GBDT 分裂叶子节点的不同之处,写一下 XGBoost 计算节点分裂收益的公式
8. XGBoost 如果损失函数没有二阶导,该怎么办
9. GBDT 和 XGBoost 用什么基分类器,如何分裂叶子节点,处理分类问题和回归问题有啥不同
10. Lightgbm 相比于 XGBoost 的改进,LightGBM 为什么比 GBDT 快。LightGBM 怎么做并行
11. 看过 XGBoost, Lightgbm 等的源码没?(没有。。)
12. 讲一下 bagging,boosting,stacking
13. stacking 和 nn 的区别?(nn 也可以搭积木,拼接)

其他

1. 哪些算法需要对特征先进行归一化,这类算法有什么特点,不进行归一化的缺点是?
2. 如何解决过拟合,讲一下 L1 和 L2,L1 为啥能得到稀疏解
3. 如何处理样本不平衡
4. 分类和回归任务有哪些评估指标
5. 写 huber loss 公式
6. auc 是啥,怎么解释。如果线下 auc 好,线上 auc 变差,有什么可能的原因
7. auc 针对的是单个值的排序,那么怎么对 list 进行排序(ndcg ?)
8. 多分类 auc 怎么算
9. 交叉熵公式

10. LR 的损失函数是啥,怎么来的,手推 LR
11. LR 如何优化目标函数
12. SVM 和 LR 区别
13. 为什么 LR 使用交叉熵而不是 MSE

14. 讲一下先验,后验,最大似然估计,最大后验估计
15. 抛一次硬币,正面为上,是啥分布。抛 n 次硬币,正面为上的数目是啥分布
16. 广义线性回归了解么

3. 排序,操作系统,数据结构,计网

这方面问得比较少
1. 快排时间复杂度
2. 排序算法了解哪些,讲一下快排和堆排,堆排适用于哪些场景
3. 讲一下哈希表哈希表用什么数据结构实现,怎么解决哈希冲突,哈希表数组空间大小怎么确定
4. 线程,进程是啥,进程间通信方式,如何保证线程安全
5. 多进程和多线程区别,各自的适用场景,线程安全怎么解决,有哪些锁,乐观锁悲观锁了解吗,自旋锁适用于什么场景
6. TCP 协议了解吗


4. 编程语言,大数据相关

Hive 相关
1. 了解 Spark,Hadoop,Hive,Scala 吗?(我基本不会,实习时写过一些简单的 Hive SQL)
2. Hive SQL 大表 join 小表,可以怎么优化
3. Hive sql union 和 union all 区别,行转列和列转行了解吗
4. Hive 读取 json 某个 key 对应的值
5. Hive 数据倾斜怎么处理
Python 相关
1. 说一下 Python 中的 lambda
2. Python copy 和 deepcopy 区别, if a 和 if a is not None 区别
3. Python is 和 == 区别,两者分别在比较什么?Python 没有 switch... case.. ,如何优雅地实现
4. Python 有哪些对象类型,哪些是可变对象,哪些是不可变对象
5. Python 中,li = [0,1,2] ,那么 li[3] 和 li[:3] 分别返回什么
6. Python 写过多线程吗
7. 字典有 key, value,按照 value 进行排序

5. 手撕

链表相关

1. 链表翻转
2. 合并两个有序链表
3. 判断链表是否有环,返回环的入口

树相关

1. 无序数组转二叉搜索树
2. 两个树节点的最近公共祖先
3. 二叉树先序遍历展开成链表 in-place
4. 无序数组转平衡二叉搜索树(不能先对数组进行排序
5. 给你两颗二叉树 a,b(只有数的结构而没有 value),判断a 是否 b 的子树(只需要 b 的某个子树结构跟 a 一样就行),能否继续优化?

DFS,BFS

1. 打印字符串所有子序列
2. 字符串全排列(字符串可能有重复元素)
3. 迷宫问题,迷宫里有多个人处于不同位置,每个人逃出迷宫有最短路径值,求这些最短路径值的最大值
4. 划分为 k 个相等的子集:给定一个整数数组 nums 和一个正整数 k,找出是否有可能把这个数组分成 k 个非空子集,其总和都相等

排序,大小

1. 子数组最大和
2. 子矩阵和的最大值
3. 两个有序数组的中位数
4. 求数组的第 k 大数,时间复杂度是多少?
5. 读取文本,统计,然后排序(有多个排序因素)
6. 一个数组只包含0,1,2三个数,对这个数组进行排序
7. 最大数组合:给定一个非负整数数组,求一个拼接出来的最大数。比如 [2, 32] => 322

DP

1. 股票最大利润(只能交易一次)
2. 走楼梯方法数,一次可以走一个台阶或者两个台阶,总共有 n 个台阶
3. 01数组,长度为 n,1代表可达,0 代表不可到达,一次可以跳 3 到 5 步。求跨越该数组的最小步数(起点可以看成 index 为 -1,终点可以看成 index 为 n)

其他

1. 顺时针打印二维矩阵
2. 升序数组,求不同绝对值个数
3. 二维平面判断一个点是否在三角形以内
4. 给定数组,计算有多少个子数组和为 target
5. 怎么编程求几何平均值,需要考虑什么情况,怎么解决
6. 提供东西视图和南北视图,求城市体积最大值,最小值,leetcode 807 变种
7. 正整数数组满足 2 * a[i] < a[i+1],给定数字 K,数组中是否存在两个数 x + y = K
8. 协同过滤中,需要计算用户相似度矩阵。给定用户 ID,每个用户的听歌列表(music id 列表)。计算用户相似度矩阵
9. 给一个数据表,有两个字段(user, login_time),用 SQL 求连续两天登录的用户占比

6. 场景题,开放题

1. 在搜索框输入文字的时候,会出现搜索提示,比如输入‘腾讯’可能会提示 ‘腾讯视频’。你觉得搜索提示是用什么数据结构来实现的
2. 学校门口的十字路口车流量预测,怎么建模?(已有历史车流量数据)
3. 年龄预测(范围 10 到 50),目标是最大化准确率,怎么设计损失函数?如果要求预测结果在正负 3 以内就行,怎么设计损失函数,如何优化?
4. 有个商品库,商品库记录的车的型号,最低价格,最高价格(没有精准价格)。当前用户在浏览某个商品,要求推荐同个档次的商品,如何建模?假如商品库很大,要推荐相似度最大的 3 个商品,如何解决?
5. 定义兄弟字符串如下:若两个字符串存在一样的字符,每个字符次数都一样,但是顺序有可能不同。比如 abbc 和 acbb 是兄弟字符串,abbc 和 acb 不是。现有一个很大的日志文件,每一行是一个单词。问题:给定一个单词,查询日志文件中该单词兄弟字符串有多少个。有多次查询操作。

6. 怎么给 50 w 高考考生成绩排序,要求时间空间复杂度尽可能低
7. 一副扑克牌,取出一张,剩下的 53 张给你看,如何判断抽出的是哪一张(要求时间,空间复杂度最优)
8. 一个超级大文件,每一行有一个 ip 地址,内存有限,如何找出其中重复次数最多的 ip 地址
9. 有一款新游戏,怎么识别出土豪(可能在新游里充大量钱的用户)
10. 提供一个包含所有英文单词的字典,为手机的T9输入法设计一个索引,例如输入4能够提示出g、h、i开头的英文单词(greate、hello、……),输入43能够提示出ge、he、id、if (hello……) 等词开通的英文单词,

最后,祝牛友们都能找到满意的工作!!!



更多模拟面试

11条回帖

回帖
加载中...
话题 回帖

相关热帖

笔经面经近期热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐