怎么定义high quality, what metrics would you look at,这里把high level,driver和guardrail都说了。\n接下来就进入研发新的notification:‘你的朋友在参加local event would you like to join them’。在研发这个功能之前,我们需要通过各种方法来estimate会有多少人使用这个功能,我说的就是去看过去的event page,看看所有sign up的人里面,百分之多少的人是跟至少一个朋友来的,把这些所有event的百分比再给平均一下,就能得到一个metrics。有朋友说用ML去预测用户会不会喜欢,我说你又没ground truth你咋知道你预测的准不准。\n发现这个百分比不高怎么办,比如只有5% of the users go to events with their friends。我说或许有了之后我们就会提高这个,进而实现我们的mission statement of connecting people both online and offline。\n这个面试官就喜欢问这种问题,在各种adverse signal的情况下,你怎么做决定。我的思路都是说好话,不然我决定不launch了,这面试也没法继续了。大家可以在练习的时候多问自己这种问题,各种跟自己对着干(面试官很友好,是intellectually的challenge)。反正我是没想到还能这样的,根本不是一帆风顺就launch了。还有就是opportunity sizing,怎么样去证明我们要做的事情是值得expense的。\n我们还需要去估计launch之后对我们的success metrics有什么影响。面试官着重跟我讨论CTR,因为我们作为notification部门,不能把我们部门的success都寄托在影响公司的大metric上面,CTR是我们能直接影响的。问我你怎么找证据,证明加了这个新的event notification之后,我们的CTR会有增加?我说可以去user survey看看大家对这个的看法如何,还可以去看类似的notification的表现去compare to benchmarks。只要能高于average,就能提高overall CTR。\n我们最终决定投入engineering effort去把这个造出来了,问你怎么test。我就说可以AB testing,然后考虑一下network effect,两个组的区别就是一个有新的notification一个没有,别的所有正常的notification都相同。去比较overall CTR有没有区别。 我现在回想,由于我的metric不是选的overall success metric such as time spend on site,我们可能不用担心network effect,也不用去cluster by geographic location。\n两个对照组,发现我们这个新notification,把time spend on site给增加了,但是CTR却降低了,问怎么办。我说可以去看公司所有的efforts,发现能影响time spend on site的efforts极其罕见。相反的我们去看CTR的历史数据,fluctuations很大,新增加或者减少notifications都会导致变化,相对更好manipulate,所以我们依然应该launch。\n还有一个hypothetical的,就是发现event notification的CTR比overall的CTR高了10倍,但是overall CTR基本没变。我说是因为base不一样,假设10000个notification里就10个是event,就算这10个都被click了,对于overall也只是个rounding error,所以我们还是应该launch。\n最后sql题,最开始我也是naive地写了过去30天内register的就是new,别的就是old users。但是这个问题就是,老用户也有还是新用户的时候,所以我就改成了图片这个,不用在意语法。他还challenge了一下我问我这样的话每个用户都有两个不同的labels,我说这是对的因为这reflect用户journey的感受变化。