查看: 6388|回复: 30
收起左侧

[经验总结][6千字长文干货] 资深面试官眼中的数据科学案例分析面试

    |只看干货 |工作信息, 求职, 攻略

分享帖子到朋友圈
本楼: 👍   100% (20)
 
 
0% (0)   👎
全局: 👍   100% (164)
 
 
0% (0)    👎

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?注册账号

x
我自己原创纯手打的6千字经验分享长文, 贡献到地里, 期待和大家一起交流进步!

数据科学岗位的面试会涉及到编程算法, SQL, 案例分析(case study) 等不同内容, 其中大家普遍反映最难准备的就是案例分析这类面试题目. 这类问题涵盖的知识范围很广, 而且根据公司和具体应聘岗位(Data Analyst, Data Scientist, machine Learning Engineer)的不同, 案例分析面试的考察点又有很大区别, 这导致很多求职者在有限的备考时间内很难抓住重点.

我博士毕业后在业界工作了近十年, 在硅谷一线大厂做过Data scientist和Machine Learning Engineer, 以面试官和hiring manager的身份参加过近百场数据科学岗位面试, 最近几年我也帮忙辅导过很多朋友跳槽或转行进入数据科学领域. 我把这些经验总结成了这篇6千字长文分享给地里的各位朋友, 希望能对正在求职的朋友们有所帮助.

在这篇文章中, 我首先会从面试官角度解析数据科学案例分析面试的考点, 然后通过一道我自己编的包含11个followups的面试题给大家展示不同职位面试考察形式, 最后会给大家提一些备考建议.
1. 案例分析面试考什么?
数据科学案例分析面试在不同公司的不同岗位招聘中考点区别很大, 有时候甚至面试名称都不一样:
  • 在Data Analyst or Business Analyst岗位面试中, 它通常被叫做case study interview, 涉及的内容包括统计理论, A/B testing实验设计, SQL, product sense等.
  • 在Data Scientist or Machine Learning Engineer面试中, 它会被叫做machine learning applications interview, machine learning theory interview等等, 涉及的内容包括机器学习模型知识, machine learning workflow design等, 有时也会包括一些类似于软件工程师面试中distributed system design的内容.

在面试过程中, 面试官会首先结合具体的产品应用场景提出一个问题, 比如

[Data Analyst] How to evaluate the business impact of a new feature in Instagram Stories?
[Data Scientist] How to design a user targeting system to improve email click rate?

随后求职者需要在30-40mins的时间内, 通过与面试官的沟通, 给出一套完整的解决方案. 在这个过程中, 面试官主要考察以下3点:
  • 分析问题的能力 - systematic thinking. 在case study面试中, 我们第一步要做的事情就是transfer the abstract business question to a verifiable problem with quantitative approaches. 求职者需要通过与面试官的沟通来clarify questions and define metrics. 很可惜的是, 很多junior求职者会忽视这一点, 经常在面试前5分钟问题还没定义清楚的情况下就开始在白板上写公式, 这种行为大部分情况下都是red flag.
  • 对基础知识点的深刻理解. Case study面试在很多情况下也包含理论知识考察的部分. 现在极少有公司会利用填空选择题来考察机器学习理论问题, 但是面试官会在case study问题讨论中, 结合你选取的分析方法来针对一两个知识点做deep dive. 这里考察的知识点一般都是经典的机器学习基础知识, 不会涉及到很复杂的概念或者最近几个月新发布的研究成果.
  • 数据系统设计能力. 优秀的case study solution一定是建立在一套完整的分析框架基础上, 它保证了我们在分析问题的时候不漏掉任何一个关键环节, 这在实际工作中也是非常重要的. 对于data analysis problem, 这个框架可能是A/B testing experimental design framework. 对于machine learning modeling problem, 这个框架可能是model training workflow. 建议求职者在备考时把常见的解决问题框架总结好 (在后文的具体案例中我给出了2个例子), 面试时甚至可以把这个框架直接画在白板上, 然后有侧重点地进行讨论. 很多朋友反映在case study面试时"无话可说", 出现这种问题的主要原因是面试时脑中没有一个预先总结好的框架.


以上讲的内容比较抽象, 下面我结合一道经典的recommendation system case study面试题来做举例说明.. check 1point3acres for more.

2. 一道实战面试题 - 广告推荐系统设计

Interview Question: How to design a recommendation system to optimize ads efficiency on Facebook Platform?
推荐系统问题是case study面试的常见内容. 类似的大部分问题主要是关注在推荐系统content relevance & personalization的方向. 而这道题中又引入了在线广告这个场景, 因此考察角度会更加多样化. 这道题目中包含的11个followups来自于我在工作和面试中的经验总结, 基本包含了数据科学不同岗位(Data Analyst, Data Scientist, Machine Learning Sngineer)面试中的常见考点, 希望能给大家在面试备考方向上提供一些参考.

Q1: How to define "ads efficiency"?

这一步就是我在前面提到的"clarify questions and define metrics". 它在任何数据科学岗位的case study面试中都是重要环节. 在很多情况下, 面试官甚至会故意在介绍面试题的时候不给出清晰的metric definition, 而是希望求职者主动与面试官沟通来clarifiy这些细节.

回到这个问题, 对于efficiency的定义, 首先可以从每个广告推荐商品对应的engagement metrics入手, 包括: impressions, clicks, conversions, conversions without cancellation等等.

进一步地, 我们可以把广告相关的cost引入到efficiency的定义, 包括: Cost per Click (CPC), Cost per Acquisition (CPA), Return on Investment (ROI) 等.
此外, 如果求职者在广告行业有一些domain knowledge的话, 还可以讨论一些advanced metrics, 比如ads incremental value, 即对比没有广告情况下organic traffic带来的revenue与有广告情况下整体revenue的增量差值. 其他可以提到的影响ads efficiency定义的因素还包括, ads attribution logic, user life time value (LTV) 等.

对这个问题的讨论可以算是Data Analyst面试最关键的环节, 它会与后续的实验设计等步骤相关联, 因此讨论得会比较细致. 而对于Machine Learning Engineer岗位的面试, 我们一般不会在这一步停留过长时间.

Q2: What data do you need?

这一步包括feature definition和table schema design. 在实际工作中, 很多情况下我们做数据分析或者建模工作所需要的数据并不是现成的. 我们需要自己定义table schema甚至自己在产品中添加log来收集数据. 这也是实际工作与kaggle competitions或course projects的区别之一.
Table schema design并不难, 我们需要注意结合数据内容的安全级别和数据量大小把信息分类存放,比如: User profile table, Product feature table, User-item activities table, Ads table. 更细致的table schema设计细节图表可以参考我的这篇文章.

对于Data Scientist和ML engineer岗位的case study, 这一步也会涉及到label definition的讨论. 举一个简单的例子: 对于某一个用户, 如果我们optimize for ads click的话, 我们可以把candidate products中用户点击过的广告商品定义为positive label (1). 那么如何定义negative label (0)? 是不是要把其他全部商品定义为negative label? 一个值得讨论的处理方法是: 结合impression data, 只把viewed but not clicked商品定义为negative label.

Q3: How to design a rule-based recommendation system?

在case study面试中, 我们不一定非要给出model-based solution. 结合具体的应用场景和产品要求, rule-based solution在很多情况下效果并不差, 比如在计算实时性要求较高, 或者推荐系统中用户行为数据较少(比如cold-start problem)的情况下, 我们更倾向于先给出non personalized solution作为baseline.
在这一步中, 我们可以把商品推荐方法设定成: Always recommend the top 5 popular handbags among female users in the age range between 20 and 30 in United States. 很显然, 要想得到这个信息, 我们可以利用在Q2中设计的tables做SQL query. 这也就是case study面试中比较常见的SQL考法: 求职者根据优化目标, 自己设计table, 自己设计问题, 然后自己写出query来解决它.

Q4: How to design a personalized recommendation system?

以rule-based方法为baseline, 我们可以进一步利用supervised learning model来优化推荐系统的content relevance. 在这里需要注意的是, 不要直接进入model loss function细节的讨论, 而是最好先把整个machine learning workflow快速介绍一下. 由于我的大米不够, 这里没办法上传图片. 具体的machine learning workflow图表可以看这篇图文文章. 整体的流程是: raw data -> data cleaning -> feature transformation -> model selection -> offline evaluation -> online evaluation -> business value.

这就是我前面提到的解决问题框架之一, 看上去确实非常简单, 但里面每一个环节都可以进一步深挖. 比如:
Q4.1: How to deal with categorical features at feature transformation stage?

这里涉及到feature encoding的方法, 比如one-hot encoding, label encoding, target encoding等. 如果选择用one-hot encoding这种sparse representation方法的话, 后续也要考虑模型对sparse feature的处理能力, 很多情况下我们需要做降维处理. 除了Principal Component Analysis (PCA)方法外, Neural Network Embedding是很好用的降维方法. 而如果选用embedding方法的话, 又涉及到这个Neural Network训练使用的label与原推荐系统模型使用的label是否一致的问题.

Q4.2: When and why do we need to do feature normalization?

Feature transformation这一步涉及到很多内容, 前面的Q4.1算是feature representation的处理, 其他的操作还有feature normalization, missing value handling等等. 其中feature normalization就是scale all the numeric feature values, 它可以在机器学习模型参数求解的过程中可以帮助数值优化算法更快收敛到最优解. 但这个操作并不是必须的, 需要考虑feature的物理意义.

由于面试时间的限制, 肯定不可能对每一个环节都做面面俱到的讨论. 因此在这一步面试官会选择1-2个方向做deep dive.

Q5: How to design & optimize your recommendation model?

对于一部分data scientist岗位和大部分machine learning engineer岗位, model theory的考察是必不可少的. 就像我在上文提到的, 在这里面试官要考察的是对基础知识点的深刻理解. 两个关键词: "基础"和"深刻". 比如, 设计推荐系统模型时我们可以直接把它建模成一个logistic regression分类问题, 那么面试官可能会针对logisitic regression提出这样一个问题:
Q5.1. What’s the difference and correlation between ordinary linear regression and logistic regression?

这个问题回答的角度有很多, 算是一个开放式问题. 但是, 如果我们只回答"两者的Model assumption不同"或者"两种model对应的label type不同(continuous vs. categorical)", 那么一般很难令面试官满意. 我建议的回答角度是, 在Generalized Linear Model (GLM)的框架下对两个model的assumption进行比较. 当然完全没必要当场把GLM的复杂定义全写出来, 只要展示出两个这Model是在 g(E(Y|X)) = X*beta的框架下, 根据不同的assumption选用了对应的link function g(). 就可以了.

可能很多朋友对GLM很不屑, 觉得它很土. 那咱们还是回来讨论推荐系统模型: How to design your recommendation model?

首先, 推荐系统至少包括两部分: candidates generation 和 fine-tune scoring. 前面提到的logistic regression模型是在fine-tune scoring阶段的一种基本方法, 我们回过头来讨论candidates generation这一步. 我们从简单到复杂有多种不同的模型选择:
  • K-nearest neighbor: 也就是collaborative filtering最简单的实现方法, 直接基于item-based or user-based方法找出用户可能喜欢的一组商品. 模型比较简单, 更新速度快.
  • Matrix Factorization: 综合item & user全部信息进行推荐, 精度较高. 但每次计算比较耗时, 不便于实时更新.
  • Neural Network: 可以整合更多user profile信息进入模型, 是比Matrix Factorization更加通用的方法, 计算精度更高. 但是模型更加复杂, 做实时预测时会有一些延时或者需要较多computation resource.

对模型理论知识点的准备, 不需要过分追求很新很难很高级的模型. 首先要把最基础的机器学习模型知识点掌握清楚, 其次要注意多对不同模型的特点做横向比较. 面试官希望你清楚为什么选用了这个模型, 它背后的intuition是什么? 你权衡了哪些不同的tradeoffs, e.g. accuracy, latency performance, etc?

Q6: How to evaluate your recommendation model?

在这一步我们主要讨论的是利用validation data set做offline evaluation的问题. 除了cross-validation的具体操作方法之外, 需要了解常见的evaluation metrics:
Regression problem: Mean Squared Error (MSE), Mean Absolute Error (MAE)
Classification problem: Accuracy, Precision, Recall, F1, AUC. 1point3acres
其中classification problem的metrics相关问题是最常见的, 比如:

Q6.1. How to prioritize precision and recall metrics in different use cases?
Q6.2. How to explain AUC from a probability perspective?


这部分内容难度不大, 要求大家在面试时对相关知识点要足够熟悉.

Q7: How to evaluate business impact of this project?

这里主要涉及到的是online evaluation, 即A/B testing. 这是Data Analyst面试的绝对重点, 在一部分Data Scientist面试中也会考到. 要把相关问题答好, 首先要熟悉experimental design的基本框架, 这也是我前面提到的第二个需要总结的解决问题框架. 整个A/B testing experiment pipeline至少要包含以下5部分:
  • Treatment definition (i.e. objective definition)
  • Metrics definition and selection
  • Set up experiment, including sample size, randomization
  • Conduct hypothesis
  • Interpret experiment result

这里针对任何一个步骤, 面试官都可以展开一些针对基础知识点的深刻理解的考察. 比如: What is p-value? How to determine sample size?
最后, 在实际应用场景下的A/B testing问题处理也是常见考点, 比如以下几个问题:

Q7.1: What if your experiment p-value is 0.051? How would you explain this result to your product manager?
Q7.2: Given the sample size request, how do you choose between running your experiment for 1 week with 20% traffic and running your experiment for 2 weeks with 10% traffic?
Q7.3: Although your experiment needs 2 weeks to collect the long term effect, you are only allowed to run your experiment for 3 days. What can you do for that?


注意, Q7.3 并不是一道Behavior Question题...而是广告领域非常常见的实验分析问题.

Q8: How to implement the basic k-nearest-neighbor algorithm?

模型实现问题在case study面试中出现的频率不高. 相关问题一般都是经典题目. 比如这道题, 理解KNN的实现方法后, 其实要解决的就是Find the top K smallest elements in an unsorted array (类似LC215). 数据科学岗位面试中的编程题备考是一个很大的topic, 在这篇文章中就不展开讲了. 唯一一点想提醒大家的是, 一定要注意对算法时间空间复杂度的讨论. 以这道题为例: 假设一共有n个数据点, 我们要找到top k smallest elements, 一共有4种实现算法:
  • Sort the whole array: Time complexity is O(nlogn)
  • MinHeap: Time complexity is O(n+klogn)
  • MaxHeap: Time complexity is O(k+(n-k)logk)
  • QuickSelect: Time complexity worst case O(n^2), on average O(n)


Q9: How to optimize your algorithm for real-time recommendation?

从上面Q8的讨论中我们可以看到, 我们在recommendation system candidate generation阶段, 即使是使用最简单的KNN算法, 我们也至少需要支持O(n)的时间复杂度. 在用户量非常庞大, 且产品实时性要求很高的广告推荐场景下, 这个算法可能无法满足我们的要求. 因此我们需要从算法或者系统的角度来进行优化.
这类面试题难度比较大, 一般只会出现在Machine Learning Engineer面试中. Q9的问题主要是关注在算法层面的优化, 我们可以考虑使用Approximate Nearest Neighbors Algorithms, 通过locality-sensitive hashing (LSH)来对部分信息进行预处理和缓存, 在有限地牺牲模型精度的情况下大幅优化运算效率.

Q10: How to optimize your system for a large-scale recommendation use case?

承接前面Q9的问题, 如果面试官要求我们从系统层面优化推荐系统的实时计算效率, 那么我们需要从distributed system design的角度进行讨论, 比如:
在数据预处理(data cleaning, feature transformation)阶段, 会涉及到海量数据场景下的data engineering工作. 对于类似TeraSort等数据处理任务, 可以使用MapReduce运算范式.

在large-scale推荐系统设计中, 为了权衡实时运算效率和推荐准确性, 我们大多把系统设计成candidates generation和fine-tune scoring两个步骤. 在Candidates generation阶段, 我们使用一部分features构造轻量级模型, 选出一组候选商品. 随后在scoring阶段引入更多的user & product features, 构造复杂的ranking model来对candidates做实时排序.
-baidu 1point3acres
这类题目与软件工程师面试中 system design interview的内容有些重叠, 在数据科学方向只会出现在Machine Learning Engineer面试中.

Q11: Except content relevance, are there any other factors we can optimize to improve the ads efficiency?

前面的10个问题都是专注在content relevance的角度来讨论如何优化广告推荐系统的efficiency. 在Data Analyst or Business Analyst的面试中, 经常会出现product sense类型题目, 用来考察求职者structural thinking能力和知识广度. 以这道题目为例, 最高效的ads delivery应该是做到: Send the right ads content to the right person at the right time with the right channel. 除了content relevance, 其他的讨论角度还包括audience targeting/segmentation, ads send time optimization等等.-baidu 1point3acres
以上我结合广告推荐系统设计这个例题和11个followups (加上分支题目一共19个问题)给大家介绍了数据科学不同岗位的面试特点. 由于面试时间的限制和各岗位能力要求的不同侧重, 不可能有一个面试会cover全部这些问题, 针对Data Analyst, Data Scientist, Machine Learning Engineer的面试要求, 这里简单归类一下:
  • Data Analyst - 注重统计, 实验设计能力, product sense考察: Q1, 2, 3, 7, 11
  • Data Scientist - 注重实验设计能力, 模型知识考察: Q1, 4, 5, 6, 7
  • Machine Learning Engineer - 注重模型知识, 系统设计, 产品开发能力考察. Q1, 4, 5, 6, 8, 9, 10


3. 案例分析面试的备考建议
大家从上面的讨论中可以发现, 数据科学岗位的案例分析面试涉及的知识内容很多很杂, 网上相关的学习资源也非常多, 这也是为什么我在这篇文章中几乎没有给大家推荐任何参考资料. 我觉得大家手中都有足够量的参考资料, 关键问题是很多朋友不了解如何能够在非常有限的时间内有针对性地备考. 我在这里给大家总结3点建议:
  • 专注于基础知识点的深刻理解. 这是我在这篇文章中第4次提到这个事情, 真的非常重要. 上文中我举了几个具体例子, 随后我计划写几篇关于数据科学基础知识点总结的文章, 希望能给帮大家更好地梳理知识结构. 大家如果有任何感兴趣的topic, 也欢迎在讨论区给我留言.
  • 仔细研究job description, 明确面试要求. 数据科学岗位面试的一大特点就是: 不同岗位之间面试要求区别很大. 由于绝大多数公司在一段时间内只会给申请者一次面试机会, 因此大家已经要分清自己即将参加的面试的考察方向, 必要时可以请教一下朋友或者前辈. 注意: 很多情况下job title并不能说明问题. 我见过一些朋友本身是很优秀的Data Engineer, 目标是换到硅谷一线大厂的Data Scientist, 但是拿到的面试是偏analysis方向的DS职位, 面试时被问到很多统计和product sense的问题, 由于事先没有准备这方面内容, 错失了这个公司的全部申请机会.
  • 通过模拟面试锻炼综合应用能力. 很多求职者在备考时有一个困惑: 虽然对大部分知识点都非常熟悉, 但是在面试时就是想不起来. 这个问题的核心原因是没有建立知识体系. 通过模拟面试可以很好地帮自己查漏补缺.
. From 1point 3acres bbs

希望这篇文章能给大家带来一些启发. 纯手打原创, 希望大家能给点大米支持一下 :) 另外小伙伴们如果对文章内容有任何问题或者建议的话, 欢迎在下方留言. 期待和大家一起交流学习! 祝大家都能顺利通过面试, 实现职场进阶.





补充内容 (2020-12-20 06:00):
抱歉文章的两个配图没能传上来, 这篇总结的图文版链接在这里: https://acecodeinterview.com/data-interview-intro/ 大家有任何其他感兴趣的面试topic也可以给我留言, 大家一起讨论!

评分

参与人数 81大米 +175 收起 理由
desert_penguin + 1 赞一个
hya + 1 给你点个赞!
charlesorion + 2 很有用的信息!
mangopassion + 1 给你点个赞!
LLLJob + 1 很有用的信息!
chestnnut + 1 赞一个
eleven666 + 1 给你点个赞!
女施主 + 1 给你点个赞!

查看全部评分


上一篇:感恩地里帮助!2020数科anlytics面试准备总结回馈
下一篇:bioinformatics即将毕业求指路

本帖被以下淘专辑推荐:

Awe129kkk 2021-1-8 15:31:16 | 显示全部楼层
本楼: 👍   100% (5)
 
 
0% (0)   👎
全局: 👍   98% (1120)
 
 
1% (18)    👎
interviewML20 发表于 2020-12-21 13:32
非常感谢支持!恩, 我在写一些数据科学岗位面试(DA, DS, MLE)常见基础知识点的总结, 之后分享给大家 ...

really exciting to see this post, wanna build something extra on your answer(随便写写,别当真了)

这个朋友的问题是:如果abtesting p value稍微大于0.05或者正好等于0.05, 怎么抉择怎么解释。 这种题怎么答?

应该从1)数据模型本身,2)商业business application and decision,两个方面来回答,您刚刚说的是1)数据层面的trade-off,我加一点商业的理解

这个最重要的context就是这个是一个什么样的business model,2b, 2c, social, saas, or e-commerce? ab测试最终的目标是为商业模式做决策和服务

假设p-value是擦边球0.05,这个时候要看数据波动性,standard deviation,把user的各种metrics给plot出来,看distribution的峰值,为什么这么说呢,因为数据波动大的,说明这个版本的customer体验是不均衡的的,波动小的,说明几乎所有人的体验都差不多,换句话说,波动和峰值小,对于一个business来说,你的risk是更小的,这样对于后续的personalization, precise targeting和customer segmentation都会有作用得多,所以说clarify context很重要,因为对于不同的business model,risk tolerance是不一样的

所以说,第一个要明确的是,如果这类情况发生,结合其他用户数据来选波动小的那个版本

我认为比较好的回答顺序和样本应该是,欢迎指正
1 clarify business context,赚钱公式是什么
2 在customer journey,或者是funnel的哪一环做的测试
3 基于什么样的assumption做的假设(用户价值)
4 除了看testing metrics的p-value,还要看其他metrics,例如invariant(neutral的不应该变的),guardrail(反指标)
5 继续看following后续的conversion(一般来说,ab测试测不出中长期最后的purchasing conversion,可以基于历史数据用一些estimation和proxy)
6 有条件看看之前历史上有没有基于此assumption做过类似的ab测试,结果是什么(注意customer base在公司成长过程中的变化)
7 最后decision launch or not launch,并且说明launch的potential benefit和risk,不launch的gains和损失

我认为只有这么做才是榨干一个测试的价值

另外在工作中,很多情况下,p-value<0.05,我们也没有上线过,p-value>0.05的时候也上线过产品

ps:我之前也写过很长的面经,欢迎点评交流一下
https://www.1point3acres.com/bbs/thread-587908-1-1.html

补充内容 (2021-1-24 05:46):
我刚刚发现这个楼主是个求职培训卖课的,我的文字你看到有用我很高兴,想申明一下我在我一亩三分地的热帖里面无意看到这个帖子,我从来不认识这个楼主,没有任何利益联系,我的评论也不是给这个楼主站台或者是写软文

补充内容 (2021-03-21 06:02 +8:00):
我就说谁会跟我一样那么蠢无聊时免费在一亩三分地上面给别人答数科的题,结果果然是个卖课的,笑笑就好

评分

参与人数 2大米 +4 收起 理由
不要拧巴 + 2 给你点个赞!
mcran + 2 很有用的信息!

查看全部评分

回复

使用道具 举报

 楼主| interviewML20 2020-12-21 13:32:58 | 显示全部楼层
本楼: 👍   100% (5)
 
 
0% (0)   👎
全局: 👍   100% (164)
 
 
0% (0)    👎
albert_chen_xyz 发表于 2020-12-21 05:49
第一次见到把几个职位的面经揉在一起的总结, 感谢楼主大神的分享!顺便问一下,我在也遇到过面试官问如果a ...

非常感谢支持!恩, 我在写一些数据科学岗位面试(DA, DS, MLE)常见基础知识点的总结, 之后分享给大家!关于 “p value接近0.05如何解释“这个问题,我认为关键在于讨论hypothesis testing中的type I error rate和type II error rate的关系。 我们把significance level设置成0.05, 是为了控制type I error rate。但是在控制type I error rate的时候, 我们是容忍了type II error rate。在sample size不变的情况下,type I error rate 和 type II error rate是此消彼长的关系。 因此我认为, 对于这个问题我们需要和面试官讨论:这个use case中我们对于type I error和type II error的容忍度。 如果这个use case中type I error并不是很严重, 相反type II error也是我们需要极力避免的问题,那么我们在p value稍微大于0.05的时候也可以reject null hypothesis.
回复

使用道具 举报

 楼主| interviewML20 2021-1-10 05:25:41 | 显示全部楼层
本楼: 👍   100% (3)
 
 
0% (0)   👎
全局: 👍   100% (164)
 
 
0% (0)    👎
Awe129kkk 发表于 2021-1-8 15:31
really exciting to see this post, wanna build something extra on your answer(随便写写,别当真了)
...

谢谢你的comments!恩我完全同意你的观点,非常感谢你的补充和这包含7条细节的具体流程!从实际工作中具体操作的角度,在这种p-value在boardline的情况下,一般的处理方法是看其他的相关metrics,同时要检查guardrail metric,来综合评价。此外还要看这个产品的维护复杂度,如果p-value略大于0.05, 但是其他的重要metrics有明显positive趋势,没有guardrail fail, 且产品维护复杂度不高,或者未来anyway要在这个版本上继续迭代,那么我们就会launch这个实验。就像你说的,最后还是一个权衡tradeoffs的过程。
回复

使用道具 举报

albert_chen_xyz 2020-12-21 05:49:04 | 显示全部楼层
本楼: 👍   100% (1)
 
 
0% (0)   👎
全局: 👍   100% (3)
 
 
0% (0)    👎
第一次见到把几个职位的面经揉在一起的总结, 感谢楼主大神的分享!顺便问一下,我在也遇到过面试官问如果abtesting p value稍微大于0.05或者正好等于0.05, 怎么抉择怎么解释。 这种题怎么答? 另外期待楼主的知识点总结, 最好把每道题的答案都写一写, 哈哈
回复

使用道具 举报

Sophia_Song 2020-12-21 06:49:07 来自APP | 显示全部楼层
本楼: 👍   100% (2)
 
 
0% (0)   👎
全局: 👍   98% (60)
 
 
1% (1)    👎
感谢楼主的总结和分享!正在准备这几个岗位的面试,很有用的信息!之后楼主还发知识总结的话还会继续关注~
回复

使用道具 举报

goodgoodluck888 2020-12-22 20:40:40 | 显示全部楼层
本楼: 👍   100% (3)
 
 
0% (0)   👎
全局: 👍   84% (45)
 
 
15% (8)    👎
感谢楼主 !十分详细,想请问一些问题:
1.Q7.3 应该怎么回答呢,“Although your experiment needs 2 weeks to collect the long term effect, you are only allowed to run your experiment for 3 days. What can you do for that?”我的想法是在这3天的数据里做一下match,用quasi experiment 来看(但是这样可能还是达不到足够的sample size)求楼主指正!
2. 关于实验设计楼主有推荐的资源吗
感谢楼主!!!
回复

使用道具 举报

马马Mia 2020-12-23 04:16:10 来自APP | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   97% (35)
 
 
2% (1)    👎
感谢详细分享 mark
回复

使用道具 举报

EcholynYe 2020-12-23 04:57:51 来自APP | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   100% (161)
 
 
0% (0)    👎
感谢分享!
回复

使用道具 举报

 楼主| interviewML20 2020-12-26 05:57:30 | 显示全部楼层
本楼: 👍   100% (2)
 
 
0% (0)   👎
全局: 👍   100% (164)
 
 
0% (0)    👎
liuxiaoxuan 发表于 2020-12-22 20:40
感谢楼主 !十分详细,想请问一些问题:
1.Q7.3 应该怎么回答呢,“Although your experiment needs 2 wee ...

谢谢支持!这个问题我建议的回答思路是, 利用历史信息,通过model-based method来建立“前3天的数据信息(X_i)与最终要观测的信息(Y)”之间的关系,这样就可以粗略根据早期信号来推断long term effect了。很多广告算法相关的实验都会使用类似方法在早期估计effect.当然这个方法没办法得到精确的testing result, 但是可以帮助剔除一些明显negative的treatment, 减小公司的损失。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

隐私提醒:
■拉群请前往同学同事飞友|拉群结伴版块,其他版块拉群,帖子会被自动删除
■论坛不能删帖,为防止被骚扰甚至人肉,不要公开留微信等联系方式,请以论坛私信方式发送。
■特定版块可以超级匿名:https://tools.1point3acres.com/thread
■其他版块匿名方法:http://www.1point3acres.com/bbs/thread-405991-1-1.html

>
快速回复 返回顶部 返回列表