amzn onsite sde iii 面经

非常非常非常多的behavior question!
round 1. 法国小哥,各种bq 项目管理经验 组员如果和你意见不同意怎么办之类的,最后一个system design 具体题目忘记了,非常简短的说了一下,主要focus 还是bq.
round 2. hiring manager, bq ~40min + system design ~20 min,主要是设计一下他们组做的系统,有不同的request 例如 产品买卖的请求/打折活动的请求 (start date, end date, budget, action: increase budget/decrease budget etc), 然后每天会定时生成邮件发给客户,例如说你们产品卖光了要补货, 你们折扣的预算快没了之类的,如何存数据等等的,然后问我生成email时有什么想法,是最后发送时生成还是怎么样,我回答可以提前用template generate好今天要发的email存起来,到时间就直接把所有今天要发的邮件发出去。
round 3. video conference call,西雅图的一个非常senior的印度manager,做阿丽克萨sdk的,不知道本来是不是要个我代码题的,bq聊了全程,因为背景不同,要跟他解释很多分布式架构的东西,问我做过什么有风险的决定,最后结果怎么样,好坏各举例子并说明我是怎么处理好坏结果的。还问了例如有没有跳出你自己的舒适区去主动解决系统里存在的问题等等之类的。基本每个问题都要花很长时间告诉他为什么这是个问题,然后又是如何解决的。
round 4. 如果有半小时的bq吧,如果终于有写代码了,说了一天的bq代码都快不会写了。。。利特口的二三九的变形吧,给你个data stream 问你过去120秒的最大最小值。
round 5. 貌似是一个ml牛人,同样的半小时bq,然后开始代码,一个超难的dp题,说总共有n个广告位,m个广告,每个广告都有个点击率,e.g.0.9, 0.1等等的,同时每个广告有多个tag,如果你选了一个广告,你就不能选相同tag的其他广告,例如苹果和三星都有tag手机,选了苹果就不能选三星,问你如何选出n个广告放到广告位里使得点击率总和最大。一开始试图直接上dp,结果处理那个tag关系的时候卡住了 解不出来,最后退了一步就最brutal force的recursion解出来了,大概说了下要注意的事项,例如要去重,确保不要重复的处理相同的input,时间复杂度o(n!).
例子:
广告1: 耐克, 0.9, (运动,鞋。圣诞折扣)
2. 阿迪达斯, 0.7,(运动,鞋)
3. 苹果, 0.5 (手机)
4. 三星, 0.8 (手机,圣诞折扣)

假设有两个广告位:
应该放阿迪达斯和三星,这样点击率总和位1.5. (因为放了耐克就不能放三星了,他们都属于圣诞折扣类的)。有谁知道dp解法的可以分享一下,我回来想了一下,还是没什么好的头绪。这两天给我结果。

update: 已挂,原因是写代码前没问太多问题,导致有一个代码题一开始写错了,非常基本的错误。。。给我feedback说我的bq和system design都挺好,冻6个月。