字节跳动头条广告系统算法实习生一二面面经


一月一日收到字节跳动算法实习生的面试通知,约到一月三日下午四点十五分。特意把三号下午空出来,看看了前辈们的面经。下午面试开始,两个面试老师都非常好,非常赞。一面聊了十几分钟项目,然后两个手撕算法,一个贪心,一个是普通的算法题,随后等了三四分钟,二面就开始了,二面也是先聊了一会项目,然后是两个算法,一个是动态规划,一个是搜二叉搜索树,接着问了一些机器学习基础。

一面流程

自我介绍

先做了个简单的自我介绍,有简单的准备,所以比较流畅,轻松。

项目经验

问了一些项目的问题,已经参加过得比赛,已经比赛的任务,流程,分工,合作。还有大创项目相关的问题。

手撕算法

第一道
 输入一个大于0的Arr列表,一个大于0的target,求X,X的要求为:min{x.size() | sum(x) = target && x为arr元素的子集}
   
例如:arr = [1, 2, 2, 4, 6, 7, 8], target = 13 解为:1 + 4 + 8 = 13,6 + 7 = 13,return 2

我的思路:

  • 类似与贪心算法,先从小到大排序。
  • 从后开始往前遍历,arr[-1] 开始。
  • 若 arr[-1] > target,则移动直 arr[-2],一直类推;
  • 若 arr[-1] = target ,则 return 1;
  • 若 arr[-1] < target,则观察 arr[-1] + arr[-2] < target,成立,继续加前面的,若不成立,则 arr[-1] + arr[-3] < target,以此类推到 arr[0] ,记累加的个数,换 arr[-2]。
  • 若前一个累加值比目前的小,则更新。

第一道
 输入一个Arr列表,求比Arr大的最小的Arr_new自然数组合

我的思路(不一定对):

  • 刚拿到这道题有点蒙,但是在面试官的引导下,还是理解了题的大意,并且指出例子中的输出是错误的。
  • 这个题也有点贪心的思想在。
  • 首先,我们可以理解Arr_new[0]一定和Arr[0]一样,来保证其是大于Arr的最小。
  • 第二步,Arr_new[1]一定是大于等于Arr[1],才能保证其可能大于Arr[1],但是我们尽可能找 Arr_new[1] > Arr[1] 同时 Arr_new[1] - Arr[1] 最小
  • 以此类推

结束后,面试官说让我准备一下十分钟后二面。我当时都震惊了。

        ~~~~~~~

        ~~~~~~~

        ~~~~~~~

二面流程

自我介绍

和一面一样

项目经验

侧重问方法

数学问题

工厂流水线的每天生产手机需要被检验是否合格,做一个方案使得概率相等
我的思路:

  1. random一下就行,面试官说假如多少个手机不知道怎么random
  2. 瞬间懵。一秒。两秒。三秒。
  3. 后面想到做一个容器,流水线判断进入容量为n的容器,容器满则随机抽走1/n
  4. 面试官让我求概率
  5. 最后得出的结论是:(1/n)*(n/N) = 1/N

手撕算法

第一道
 在二叉搜索树找一个离值X最近的一个值

我的思路:
坑居多,但是老师很耐心,一步步引导

第二道(动态规划)
最小编辑距离(字符串A到字符串B变化最少要多少步)  
设A 和B 是2 个字符串。要用最少的字符操作将字符串A 转换为字符串B。
这里所说的字符操作包括
(1)删除一个字符;
(2)插入一个字符;
(3)将一个字符改为另一个字符。
将字符串A变换为字符串B 所用的最少字符操作次数也称为字符串A到B 的编辑距离,记为 d(A,B)。
试设计一个有效算法,对任给的2 个字符串A和B,计算出它们的编辑距离d(A,B)。

我的思路:
这里给出最优子结构,自己体会,博主已奔溃

  D[i][j]=min(min(D[i-1][j]+1,D[i][j-1]+1),(A[j-1]==B[i-1]?D[i-1][j-1]:D[i-1][j-1]+1));

基础知识

  1. 交叉熵是什么,默写公式
  2. 机器学习中的损失函数有哪些,损失函数的作用
  3. 类别不平衡解决方案,默写Focal Loss公式,和原理
  4. L1,L2正则化区别,有什么作用,公式简述
  5. 稀疏矩阵是什么
  6. SVM优化方法

面试总结

  • 人生的第一次面试献给了字节跳动
  • 面试的老师真的好,很耐心,不会的时候等你,敲不出来代码也不催你,让你慢慢打;不会的问题会一步步地引导你。
  • 感觉投错了岗,想投cv的岗结果跑到机器学习那边去。机器学习会的不多,虽然都答上来了,还是对自己机器学习的基础不满意
  • 手撕代码真地菜,两个题写了半个小时。
  • 算法基础很重要
发布了28 篇原创文章 · 获赞 7 · 访问量 8774

猜你喜欢

转载自blog.csdn.net/weixin_42994580/article/details/103825673