b站 哔哩哔哩 数据分析一面面经

岗位:数据分析师-人工智能技术部-业务调研组
笔试 9.13 单选题(统计等)+ 4道业务问答题
一面 9.27(9.18号电话约的)
面试官是个小姐姐,中间视频互相掉线改电话面了。

面试流程:
1. 自我介绍 + 一个项目深挖(如何拆解目标、主要负责什么工作、算法细节、项目应用等等)
2. 如果b站整天9月DAU下降,如何分析?
3. 目前b站男性用户对于女性,如何从宏观和数据角度吸引更多女性用户?如何评估效果?
(面试官会根据回答细节追问)
4. sql三个排序函数的区别
5. 反问
#哔哩哔哩秋招##哔哩哔哩##面试题目#
全部评论
楼主收到二面了吗
点赞 回复 分享
发布于 2021-09-29 16:54

相关推荐

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道真题和解析
点赞 评论 收藏
分享
04-29 14:41
已编辑
深圳大学 Java
这段时间忙着毕设一点准备没有,本身学的也是java(技术水),发现投的java全部石沉大海,反倒是投的cocos相关和游戏开发的回复率较高,做了两场笔,进了2次面(有一家没笔试)3.30 网申先插播一条逸闻,去boss上搜到这家的游测助理岗,hr秒批说让进官网网申,然后进去一看有游戏开发岗,果断转投这个,次日boss上hr回我为什么没投,我说我投客户端开发了(笑)3.31次日通过,当天完成各位都完成过的各类评测4.3上午收到观点题通知,要求24小时完成,但我那天要忙着回家,到家已是半夜2点。在网吧没开视频满脸困意与疑惑下写完了小作文。4.8假期后返校某天突然收到笔试通知,4.9指定时间内完成,具体内容不太记得,大致范围包含基本八股,数据结构各种树和图,数据库相关,经典死锁等。但我感觉是很难的,最后给一道游戏有关暴击率期望计算题(思想正确,结果错误❌)4.14又是突然之间,收到技术面通知安排在4.18下午此时才注意起来这家已经进到正式流程问了两个c++八股,接着跳转到项目,进行针对性深挖,后续几乎一直在看项目(大约3个项目,有一个没写在简历上),聊了1h15min左右。期间穿插一些c++的问题,智能指针,指针函数之类的。手搓单例模式。4.21通知4.24上午hr面试。hr面很平淡,先问常规问题,聊了吸烟问题,实习问题,家庭情况等,不过家庭情况聊的比较细致。接着问期望薪资,加班接受情况。然后问了两个观点题(应该是当时没答好的两个,当时答的时候我自认答得三观很正,但后来才了解到这家并非要三观正(笑))个人感觉答的良好。结束说五个工作日内给消息。结束之后两小时显示审核中。4.29审核的第5个工作日,下午2点显示未录用。没有原因。全程也没有对接人。估计是要多了。结论:过完五一接着找吧(昨天才拒了另一家搞机器学习的,这下自己搞到0offer了)
点赞 评论 收藏
分享
评论
3
41
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务