字节视频算法岗日常实习面经

个人背景:之前的研究方向是基础的因果推断,毫无视频算法基础,只了解经典机器学习算法,这次实习是直系学姐内推的。自己也很想在算法上有所提升,所以斗胆试了试。

一面

流程总述
  • 先是让我讲讲因果这一块的发展
  • 然后问了我梯度下降的原理,并且简单实现了一下
  • 接着让我实现挑一个自己了解的机器学习算法实现一下
  • 最后,问我是否了解图像的平移、旋转、放缩,让我实现了一下图片放缩
  • 总的来说,就是考察了三道代码,接着分别阐述每一部分的细节
梯度下降

面试官问我梯度下降是怎么实现的,我就以感知机为力,推导了一下梯度下降的过程。然后,面试官说,让我代码实现一下,便给我出了道代码题:给定y=3x^4+x^2-5x,初始化x0=10,让我找到y的局部最小。

接着我就写了代码,但是,面试官发现我的学习率lr是个定值,然后就给我讲了一下实际上lr也是个需要调整的参数(调整的原理我没记住叫啥名儿),当时也发现了自己的代码里有个bug,所以没有专注地听讲,大概意思是,以指数倍缩放,找到能使得下降速度最快的学习率【后续补一补这方面原理】

补充:
经过学习发现,现在有很多自动调整学习率的方法,详细介绍可参看👉学习率(learning rate)的理解与分类

机器学习算法

我就挑了最简单的感知机去写的,写的过程中,发现和自己之前实现的那一版不太一样,原理细节还是有所遗忘,得再重温一下。

图像缩放

我对图像这块的知识并不了解,面试官就给我讲了一下图像缩放实现的两大方法,一个是双线行缩放,一个是【忘记了,后续补一下】,然后告诉了我双线行缩放是怎样进行的,然后让我实现。我最开始的实现方法和面试官讲的方法不一样,然后被指出来说按他的方法写,后来倒也写出来了。

二面

流程总述

二面主要考察知识广度,所以问的问题跨度比较大:

  • 开放性思维考察:给定场景,回答解决方式
  • 操作系统
  • 图像处理这块的QoS指标
  • python知识
  • 概率论
  • 两道代码题
开放性思维考察

前辈就我的以往背景(点播场景QoE提升)展开,问我“RTC场景下如何设计资源配置以达到QoE提升”,RTC=Real Time Communication,实时通信,例如,视频会议。

前辈提示了点播场景下的资源分配是对服务端而言,而RTC场景下需要考虑的是客户端。而我能想到的只有联邦学习能够比较好的处理这种分布式问题?再想了一阵也没想出什么结果来…菜🪝就是我

操作系统

问了下我聊不了解操作系统,然后问了我缺页中断。很显然,我没有回答上来orz【后续补充一下这方面知识】

图像处理QoS指标

面试官问我常用的QoS指标有哪些。我回答了首评、卡顿。后来面试官补充了MOS评分和【&*%】,后者是由分值信噪比转换而来【后续需要Google一下】

python

没有想到问到的是python高级用法:装饰器 和 全局解释器锁。

前者回答得不是很清晰,后者完全不了解…【要没了我】

补充:装饰器是一个参数为函数的函数,目的是拓展原函数的功能,可参考👉博客

概率论

概率论问了三个问题:

  • 先验概率和后验概率分别是指什么
  • 几句话概括一下贝叶斯公式的作用
  • 讲一下假设检验/检验统计的方法原理
两道代码题
  • 根号计算:给定n,求解sqrt(n),精确到小数点后两位。
  • 大数乘法:模拟两个大数(字符串)相乘。
总结

自我感觉不是很好,很多题都没答上来,知识广度这块太痛了,希望能逐渐积累吧。

能从面试官身上学到的优点:迅速捕获提炼关键信息的能力。面试官能够高度准确且精炼地提取并表达出关键信息,值得学习。

三面

流程总述
  • 自我介绍
  • 部门介绍,整个大部门就是RTC,所有组的目标都是提升RTC过程中的用户体验,服务于RTC
  • 询问项目,围绕因果推断,面试官聊了很多,似乎对因果产生了兴趣
  • 两道逻辑题
项目询问

面试官是RTC大部门的leader,对因果其实并不算了解,但是对我的项目里的因果蛮感兴趣,而我也说了一些我对因果的看法,引起了面试官的兴趣,聊得还蛮轻松

逻辑题
第一题

给定两个鸡蛋,这个鸡蛋的特性是,从第n楼掉下去会碎掉,但从低于第n楼的楼层掉落并不会碎,如果鸡蛋没有碎,则可以继续使用。假设给定100层楼,请问如何以最少的试验次数确定n的取值?注意,一共有两个鸡蛋可以使用。

答案:
第一颗鸡蛋用于限制起始范围,即,假设100层楼梯被均分为k段,第一颗鸡蛋每一段的端点掉落,判断会在哪一段破碎。例如,当楼层被分为4段时,先从25层往下扔鸡蛋,如果没碎,则从50层往下扔,如果碎了,则说明n属于(25, 50)这个区间,第二颗鸡蛋只需从第26层开始找;
而第二颗鸡蛋用于确定n的精确值,从第一颗鸡蛋确认的范围开始逐层向上尝试。
这个问题最终转换为:k+100/k的最小值,k表示第一颗鸡蛋所需尝试的最大次数,而100/k表示第二颗鸡蛋所需尝试的最大次数。

第二题

估计一下2的22次方的大小。最开始以为和第一题一样很难,但其实思路就是最直接的想法:2的10次方是1024,所以2的20次方大概是1e6,所以2
的22次方大概就是4e6。

HR面

常规询问,包括学习方法、目前已有的offer等

HR面一周多后收到了offer

总结

字节的整个流程和效率是很符合我的预期的——高效。所有面试官给我的感觉也都很好,技术能力很强、态度和蔼。希望以后正式工作之后也能遇到这样的团队。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值