开发岗面试必问:3个超难的案例分析回答汇总!

开发 前端
案例分析已经成为数据科学和产品开发岗面试中不可或缺的一部分,是决定候选人够不够格的关键点。这些面试的目的是模拟公司现有的产品,测试候选人的反应能力、解决问题的能力、有效处理障碍的能力。

本文转载自公众号“读芯术”(ID:AI_Discovery)。

我头次遇见案例研究问题是同德勤的一位经理模拟面谈时。面试官问我如何判断instagram上各种故事的成功与否。我回答A/B测试会很有效,但面试官告知公司并没有这个能力,要再想想别的办法。我呆住了,因为没别的法子。

[[357536]]

案例分析已经成为数据科学和产品开发岗面试中不可或缺的一部分,是决定候选人够不够格的关键点。这些面试的目的是模拟公司现有的产品,测试候选人的反应能力、解决问题的能力、有效处理障碍的能力。一般来说,有三种类型的案例研究问题:

  • 产品相关型
  • 模型相关型
  • 商业相关型

让我们先从一些问题开始。注意,这些问题没有确切的正确答案,更多是为评估是否可以做出现实的假设,并在这些假设下提出解决方案。不会特别详细,本文的主要目的是提供一个大纲或要点来回答这些类型的问题。

问题1

试想你在运营一家电子商业网站,有数以百万计的产品列表,并且希望消除可能列在不同类别下重复的产品名称。举个例子,有两种不同的产品名,iPhoneX 和AppleiPhone 10(它们指的是一个东西,但为什么需要两个名字?)。

再如,亚马逊在用不同的名字销售同样的N-95口罩,例如:

  • 新冠口罩
  • N-95口罩

你的任务是将所有重复的名称改为一个公共名称。但首先,需要找出那些名称重复的产品。你将如何处理这个问题?

我的解决方案是:可以用两种方法解决这个问题。利用给定的所有产品的图像提取粒度特征,并对这些特征进行聚类。粒度这个词很重要,因为必须对特定项目的不同版本进行分类,而它们之间会有细微的差异。因此,提取底层特征是很重要的。

例如,假设只从每张图像中提取高级特征并进行聚类。算法会将所有iPhone手机聚到一个集群中,将所有三星手机聚到一个集群中,诸如此类。但是我们希望所有的iPhoneX在一个集群,其他型号一个集群。但iPhoneX和iPhone11的图像差异极小,因此必须提取颗粒特征,才能提高聚类算法的性能。

但假如面试官反驳:假如有些产品根本没有图像,那该怎么办呢?可以对每个产品的描述进行聚类,并对它们进行分类。首先对描述执行数据清理,然后使用TF-IDF或NLP中任何其他类似方法,再执行集群。

[[357537]]

图源:unsplash

问题2

假设还是为一家网站工作,给了一个大型数据库,其中每一行代表一个页面视图。网站不止一页。该如何区分机器账号和真实用户?

我的解决方案是:基本上,机器账号是为从网站中提取数据,肯定会有很多的页面视图,并且每次页面视图的持续时间会很短,因为它可以非常快速地提取信息。

另一方面,真实用户访问的页面相对较少,在每个页面上花费的时间更多。除了上述两个假设之外,我们可以做的另一个假设是通过IP地址或其他设备签名来跟踪每个唯一的访问者。

使用SQL或任何其他查询语言找到每个访问者访问的页面总数、总页面查看时间,和平均页面查看时间。然后,可以使用基于上述指标的聚类算法将机器账号和真实用户分成两个聚类。

问题3

[[357538]]

图源:unsplash

假设你是领英项目小组中的数据分析师。假设你有一个新闻推送排名算法(我们都知道,当每个用户登录时,他们会看到一个新闻推送,里面有各种各样的文章,这些文章是用排名算法排序的)。如何衡量新闻推送算法的成功?

我的解决方案是:第一步是提出评估算法有效性的指标。基准指标可以是点击率。然而,更好的指标例如分享和评论,可以评估内容的吸引力。

面试官可能会问以下问题测试思考深度:如果上面提到的某些指标上升而另一些下降了呢?你会怎么做呢?你认为哪个指标更重要?

笔者强烈认为Linkedin的视角在这里非常重要。如果他们试图从业务的角度评估算法,点击率将是一个更重要的指标,但如果评价是纯粹从用户体验的角度来看,评论将是一个重要的指标。现在,再对模拟面试中遇到的问题做出回答。

如何判断instagram上的故事是否成功?我们都知道ins故事能让用户24小时内与他人分享照片和视频。用户的朋友可以看到这些故事,回复和分享这些故事。笔者认为这个特性试图实现两个目标。

  • 用户留存——确保用户再次回到平台。
  • 参与度——确保用户更多地使用这个功能。

Saiteja Kura想提出这样的指标:

  • 每个用户发布的平均故事
  • 每个用户平均观看的故事

除了上述两个度量标准,另一个对评估故事成功性至关重要的度量标准,是发布多个故事的用户的百分比。

回答案例分析问题不仅需要技术知识,还需要对业务需求的深刻理解。创造高效又适合企业的产品一直是市场的主导。我坚信发展商业视角来解决现实问题是非常重要的。

 

责任编辑:赵宁宁 来源: 读芯术
相关推荐

2021-12-27 08:22:18

Kafka消费模型

2020-07-28 08:59:22

JavahreadLocal面试

2023-06-07 08:08:43

JVM内存模型

2021-12-09 12:22:28

MyBatis流程面试

2016-03-02 15:13:54

面试开发者问题

2021-12-06 11:03:57

JVM性能调优

2023-02-03 07:24:49

双亲委派模型

2019-03-15 19:41:39

MySQL面试数据库

2020-11-05 13:12:47

红黑树

2024-01-05 14:20:55

MySQL索引优化器

2023-02-06 07:01:51

2021-12-13 11:12:41

Spring事务失效

2021-03-24 10:25:24

优化VUE性能

2023-02-17 08:02:45

@Autowired@Resource

2023-02-01 07:15:16

2020-09-29 15:24:07

面试数据结构Hashmap

2020-02-18 14:25:51

Java线程池拒绝策略

2021-04-26 17:23:21

JavaCAS原理

2020-10-12 18:00:39

JavaAQS代码

2022-03-28 08:20:49

线程编程语言线程操作系统
点赞
收藏

51CTO技术栈公众号