字节跳动算法实习面试
两面字节跳动+openday面试经
达达
面试邀约
二面题目(部门技术面):
1、你知道这边是什么情况?之前面试官有跟你提起?
我们这边是做整个字节跳动的XXX业务及其涉及的一些推荐和推荐相关的算法。你来之前,我们还是希望你能在推荐算法等上面做一些比较好的工作。
我问:推荐一般是文本数据还是用户、项目的一些属性数据呢?
面试官答:各式各样的都有,都已经组装成格式化的数据了。
2、你个人的意见,对推荐算法/这份工作的意向是什么?
3、就你的简历,你做一下简单的自我介绍?
4、你在推荐这块,问了一下项目,模型的输入,输出。
5、特征这块,我们说特征的交叉比较重要,交叉特征,你能介绍一下我们如何做特征的交叉会比较有效呢?
6、我人工构造一下特征,然后用LR不是很好的?为啥一定要用FM呢?
7、FM,它是怎么做到自动找到这些有效特征的呢?
8、你知道哪些推荐相关的主流模型?你能简单介绍1,2种?
9、在深度学习模型时代,模型参数非常庞大,我们有时会希望增加模型参数稀疏性,我们通常有哪些手段呢?
10、我们在做模型优化时,往往会加一些loss 函数放在方程里,例如L1正则和L2正则,他们分别指的是什么、作用?他们有什么区别呢?它反映在模型中背后的原理是什么?为什么他们就能做到优化呢?
11、模型训练完了之后,往往会有时候遇到一些过拟合或欠拟合现象,你如何通过模型的表现判断模型是欠拟合还是过拟合呢? 给一千万的数据量,你怎么判断模型训练完后是欠拟合还是过拟合?
loss曲线
12、逻辑回归做二分类问题时,我们通常会在最后用到sigmod函数得到一个0-1之间的值,作为他的一个概率值,那么我们为什么要用sigmod这个函数呢?而不用别的这么一个函数,把他归一化到0-1的数值之间呢?为什么非得要选sigmod函数呢?
13、你是什么时候毕业?实习的话你的实习时间一般怎样安排?
14、你的课题题目是什么?做的什么?
一面(基础技术面)
1、如何查看linux进程?
2、如何删掉一个进程?为什么是-9
3、如何查看一个端口被占用?
4、一个端口经常被占用,你怎么看他被卡住呢?来一个进程,可能某个进程被卡住,你怎么判断他被卡住了?
5、多进程服务,一个进程太卡,或卡住了,你是怎么查出来的。
6、你理解python的内存管理?
7、xrange和range的区别?
python2中的xrange是生成器,range是直接开辟数组,到了python3就把xrange改成range了,原来的range就弃用了
8、python的时候,你经常安装一些包,请问包和模块之间有什么区别。我们经常会引入一个模块或引入一个包。
9、深拷贝和浅拷贝,区别和举例
10、Python如何定义静态变量,具体语法敲出来。const和stastic区别
11、对象A和对象B,对象B如何继承对象A。敲出来
问了简历、论文、项目,NLP。
12、SVM的损失函数;
13、SVM怎么实现的;
13、讲一下逻辑回归,他怎么实现的,损失函数,你的理解。它能做回归任务?
14、RNN和LSTM区别;
15、算法题:一个长数组,求中位数。要求时间复杂度小于O(nlog(n))
解法:快拍+提前终止
16、你有什么想问的?
openday面试:
1、简历中的项目,简单说明一下?怎么做的?
2、缺重点,简历要把技术点等一些写出来。不然,面试官不知道怎么问。
3、项目中为什么做这件事情(背景),有什么意义?
4、Bert,focal loss,算法比赛与第一名的差别,性能。为什么没拿到第一?
5、多找找面试的感觉,经验越多越好(多跟同学之间进行模拟面试)。
6、代码,技术,能力要做好。背景、现状,现阶段最大问题,为什么这个方法能解决这个问题,以及能达到什么效果?
7、要求对机器学习和内容理解又广又深。