作者:字节跳动内推熊
链接:https://zhuanlan.zhihu.com/p/263474711
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

项目相关:


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 效果好


特征相关 :

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. 广义线性回归了解么


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

这方面问得比较少

1. 快排时间复杂度

2. 排序算法了解哪些,讲一下快排和堆排,堆排适用于哪些场景

3. 讲一下哈希表,哈希表用什么数据结构实现,怎么解决哈希冲突,哈希表数组空间大小怎么确定

4. 线程,进程是啥,进程间通信方式,如何保证线程安全

5. 多进程和多线程区别,各自的适用场景,线程安全怎么解决,有哪些锁,乐观锁悲观锁了解吗,自旋锁适用于什么场景

6. TCP 协议了解吗


编程语言,大数据相关 :

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 进行排序


手撕 :

链表相关

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 求连续两天登录的用户占比


场景题,开放题 :

1. 在搜索框输入文字的时候,会出现搜索提示,比如输入‘腾讯’可能会提示 ‘腾讯视频’。你觉得搜索提示是用什么数据结构来实现的

2. 学校门口的十字路口车流量预测,怎么建模?(已有历史车流量数据)

3. 年龄预测(范围 10 到 50),目标是最大化准确率,怎么设计损失函数?如果要求预测结果在正负 3 以内就行,怎么设计损失函数,如何优化?

4. 有个商品库,商品库记录的车的型号,最低价格,最高价格(没有精准价格)。当前用户在浏览某个商品,要求推荐同个档次的商品,如何建模?假如商品库很大,要推荐相似度最大的 3 个商品,如何解决?

5. 定义兄弟字符串如下:若两个字符串存在一样的字符,每个字符次数都一样,但是顺序有可能不同。比如 abbc 和 acbb 是兄弟字符串,abbc 和 acb 不是。现有一个很大的日志文件,每一行是一个单词。问题:给定一个单词,查询日志文件中该单词兄弟字符串有多少个。有多次查询操作。

6. 怎么给 50 w 高考考生成绩排序,要求时间空间复杂度尽可能低

7. 一副扑克牌,取出一张,剩下的 53 张给你看,如何判断抽出的是哪一张(要求时间,空间复杂度最优)

8. 一个超级大文件,每一行有一个 ip 地址,内存有限,如何找出其中重复次数最多的 ip 地址

9. 有一款新游戏,怎么识别出土豪(可能在新游里充大量钱的用户)

互联网公司面试——字节跳动算法相关推荐

  1. 请画图说明tcp/ip协议栈_5年Android程序员面试字节跳动两轮后被完虐,请查收给你的面试指南 - Android木子李老师...

    大家应该看过很多分享面试成功的经验,但根据幸存者偏差的理论,也许多看看别人面试失败在哪里,对自己才更有帮助. 最近跟一个朋友聊天,他准备了几个月,刚刚参加完字节跳动面试,第二面结束后,嗯,挂了- 所以 ...

  2. java后端简历项目经历_为了面试字节跳动后端开发岗(Java)鬼知道我经历了什么.....

    字节跳动的招聘十分火热,基本上全年都是铺天盖地的宇宙条的招聘信息.但是其实录取率并不高. 无论是找后端方向还是其它方向,我相信整个面试的过程和时间节点都能对你有一定的帮助.字节跳动的面试流程基本上是我 ...

  3. 面试字节跳动,死在了最后一类问题上!

    背景 本人基本情况:本硕普通985学渣,现居深圳,Android研发,目前主语言Java,某小公司工作中.去年面试字节跳动,死在了最后一类问题上,补发面经,希望能对大家有所帮助. 由于面试时间已经较为 ...

  4. 面试字节跳动,被面试官的源码问题问到怀疑人生

    面试字节跳动,被面试官的源码问题问到怀疑人生 最近,我的一位朋友在找工作,已经拿到了美团.快手等公司的Offer,准备选择其中一家入职了. 后来他又接到了字节跳动的电话,通知他去参加三面.从二面到三面 ...

  5. 字节跳动 算法全四面 详细面经

    点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 作者 | JustinNie 编辑 | NewBeeNLP 整理|深度学习自然语言处理 ...

  6. 面试字节跳动,我被怼了……

    出处:https://www.zhihu.com/question/31225105/answer/582508111 人们都说,这个世界上有两种人注定单身,一种是太优秀的,另一种是太平凡的. 我一听 ...

  7. 面试字节跳动后的2点总结,建议收藏!

    首先我来辟个谣: 随便打开一个招聘网站,你会发现前端工程师的岗位需求依旧庞大,大厂人才奇缺,就业薪资起点高,无行业限制. (数据来源:职友集) 前端开发的行业大环境 行业升级,如果说以前只会HTML. ...

  8. 面试字节跳动之感谢篇

    1.最近忙着期末备考,很久没有更新博客了,趁着今晚考完概率论空闲,写篇文章记录一下自己的面试字节经历,为接下来找实习有个铺路吧. 2.当然这次面试的结果为笔试通过,一面挂,成功收到字节跳动的感谢信,加 ...

  9. 字节跳动 算法全四面 详细面经 已拿意向书

    历经一个月,四次面试,终于拿到了字节跳动的算法岗录取意向书,在这里记录一下面试经历. 个人情况 上海交通大学研究生,本科毕业于中国科学技术大学,目前专业是电子与通信工程,主要研究方向是文本匹配(NLP ...

最新文章

  1. EelemntUI中e-form表单校验的使用以及表单校验的规则
  2. 记一次热更新上传补丁包失败问题
  3. TCP文件上传Java_java 基于TCP协议的文件上传
  4. 巨蟒python全栈开发flask5
  5. 数学在计算机科学上的应用文献,数学计算机论文,关于计算机在数学教学中的应用相关参考文献资料-免费论文范文...
  6. DNS 教育訓練教程
  7. svg写入/识别html元素和css样式
  8. [转载] 如何使用 Python 生成酷炫的二维码?
  9. nginx模块开发 c语言,Nginx模块开发 – C++模块
  10. Atititi ui之道 attilax著 v3 s11.docx 1. 概览 2 1.1. 软件设计可分为两个部分:编码设计与UI设计 2 2. 用户界面设计的三大原则是:置界面于用户的控制之下;
  11. 固态硬盘分为哪几种_固态硬盘分类简介和选择
  12. 2020滑铁卢大学计算机科学学费,滑铁卢大学专业
  13. 获取select选中的值php,js如何获取select标签选中的值
  14. 怎样看服务器是虚拟还是物理,如何判断服务器为虚拟机还是物理真机?
  15. 《Java并发编程的艺术》作者方腾飞:感谢Java,带我一路前行!
  16. 水果店毛利点计算公式,水果店月度毛利怎么算
  17. idea运行springboot出现Process finished with exit code -1073741819 (0xC0000005)
  18. laravel8 改变分页样式
  19. 开发自己的编程语言(五)—— CIL中间代码的生成
  20. 怎么解除该游戏的地域限制问题

热门文章

  1. Unity性能优化技巧
  2. 求1+2+3+···
  3. 阿里巴巴2020年双11: Flink流批一体化真的来了 (Flink Forward 2020  PPT)
  4. 数学基础不好如何学习人工智能?
  5. 开春内卷加剧,厨房大家电品牌如何靠“智能”发力?
  6. AngularJs 上传文件到服务器
  7. 2022 牛客竞赛 月赛60 题解
  8. C语言中const用法解析
  9. 解读手机拍照的各个参数(VLOG)
  10. Eclipse单步调试技巧