字节数据分析工程师一+二+三+四轮面经(四轮挂)

4.2得知还是挂了.......感觉有点惨
大厂确实是有些难了



视频架构团队的数据分析师,感觉比较考验代码能力,数据处理能力,数学和统计基础概念等

3.15 一面 60min


1. 问项目
2. 问技术背景
3. 一些常用的机器学习算法,应用场景,有哪些评价指标
4. 特征维度爆炸怎么办
5. PCA的原理
6. 如果给你两家公司过去几年的月收入,你会投资哪家公司
因为是偏技术团队的数分,我作为学统计的,跟cs背景的面试官互相交流彼此的学术背景,全程聊天状态

3.18 二面 90min


1. 问项目,问到有点自闭,但面试官确实提供了一个新的思考角度,很受启发
2. SVM的原理
3. 如何理解梯度下降,如何避免局部最优
4. 基尼指数的理解
5. 如何评估和判断数据质量和来源,从哪些方面考虑
6. 归因分析 - 给一些数据如何找到DAU下降的原因
7. python题 - 给你一个数组里面包含两个单调的数组,如何原地查找
8. python题 - 字符串去重排序输出
还有一些围绕数据和特征的开放性问题想不起来了

3.25 三面 90min


1. python - 花式输出一个矩阵,和transpose矩阵
2. 概率题 一条线段分三段,问能形成三角形的概率
3. 全中国有多少人看短视频 (没想到会被问到费米问题 答得不好 只给了大概思路)
4. 如何通过数据建立一个衡量视频卡顿的指标,用哪些统计值来描述这个指标
- 讲了思路以后,跟面试官聊了很多正态分布 时序数据 如何检测异常值的一些问题

3.26 四面 50min (加试 给跪了)


1.问项目
2.指标如何置信,如何确定样本量
3.均值、百分数、分位数如何用假设检验置信
4.SQL题 - 开窗函数,输出不同组播放量top10
5.决策树 信息增益的概念 ID3 C4.5 CART分别用的什么
6.AB test 的结果是实验组没有上升反而下降 都有什么原因导致
7.视频卡顿指标突然下降该如何分析
8.数据埋点质量不好作为数据分析师该如何提升数据质量

哭了一问业务问题就答的不好,感觉面试官小姐姐不太满意,因为没有互联网实习经历,需要多了解一下~

听说牛客网很灵的 许愿通过啊求求了
大家春招都加油!!!!
#面经##数据分析工程师##字节跳动#
全部评论
字节不同数分的岗位要求差距真的好大
3 回复 分享
发布于 2021-03-31 11:36
想问一下楼主是21届的吗
1 回复 分享
发布于 2021-03-30 20:55
楼主是春招还是实习?
2 回复 分享
发布于 2021-03-25 19:02
楼主您好,请问python 题是说思路还是要当场写代码呀?
点赞 回复 分享
发布于 2021-11-11 18:39
楼主你好,请问你是实习、校招还是社招?
点赞 回复 分享
发布于 2021-04-04 19:20
我还存在背8股文中
点赞 回复 分享
发布于 2021-04-01 15:24
实习的问题都这么硬核吗
点赞 回复 分享
发布于 2021-03-25 22:15

相关推荐

04-27 16:50
已编辑
门头沟学院 Java
1. mysql删除表语句是什么?drop和truncate区别?2. 删除一行数据的sql3. 查询一张表所有的数据的sql4. 查询一张表有多少条数据sql。  count(1)和count(*)区别5. i++和++i区别6. 介绍下重载和重写。  构造方法可以重写重载吗?7. arraylist和linkedlist的区别8.解释一下深拷贝和浅拷贝9. 如果有三个线程,我如何能保证顺序执行.方法1: 使用join()join() 方法可以确保一个线程在另一个线程执行完毕后才开始执行。通过合理地调用 join(),可以实现线程的顺序执行。方法2:使用countdownlatch/semaphore方法3: 使用锁和原子类,wait() + notifyAll()方法4: 使用completablefuture10. 如果有一个 T1 线程,想把 T2 线程加到 T1 里面,怎么实现?方法1. 使用join()Thread t2 = new Thread(() -> {    // T2 线程的执行逻辑    System.out.println("T2 线程正在执行");});Thread t1 = new Thread(() -> {    try {        System.out.println("T1 线程开始执行");                // T1 线程在此处等待 T2 线程执行完成        t2.start();  // 启动 T2 线程        t2.join();    // T1 等待 T2 完成                System.out.println("T2 线程已完成,T1 继续执行");    } catch (InterruptedException e) {        e.printStackTrace();    }});t1.start();方法2. 使用future.get()ExecutorService executor = Executors.newSingleThreadExecutor();Future future = executor.submit(() -> {    // T2 线程的执行逻辑    System.out.println("T2 线程正在执行");});Thread t1 = new Thread(() -> {    try {        System.out.println("T1 线程开始执行");                // T1 线程在此处等待 T2 线程执行完成        future.get();  // 阻塞直到 T2 完成                System.out.println("T2 线程已完成,T1 继续执行");    } catch (InterruptedException | ExecutionException e) {        e.printStackTrace();    } finally {        executor.shutdown();    }});t1.start();方法3. 使用countdownlatchCountDownLatch latch = new CountDownLatch(1);Thread t2 = new Thread(() -> {    try {        System.out.println("T2 线程正在执行");    } finally {        latch.countDown();  // 完成时减少计数    }});Thread t1 = new Thread(() -> {    try {        System.out.println("T1 线程开始执行");                t2.start();  // 启动 T2 线程        latch.await();  // 等待 T2 完成                System.out.println("T2 线程已完成,T1 继续执行");    } catch (InterruptedException e) {        e.printStackTrace();    }});t1.start();11. a=a+b 和 a+=b的区别a = a + b,如果 a 和 b 的类型不同(如 a 是 int,b 是 double),需要显式强制类型转换,否则会编译报错。即:double a= 1;int b = 2;a = (double) (a+b); a += b,会自动执行隐式类型转换,将结果转换为 a 的类型。13. 数据库的三大范式如答案有错误欢迎指正
查看24道真题和解析
点赞 评论 收藏
分享
评论
9
84
分享

创作者周榜

更多
牛客网
牛客企业服务