新鲜wayfair实习oa + timeline,有新题,发出来攒人品

刚刚做了wayfair的oa,题目与之前地里的有一些出入,发个帖攒一波人品希望面试好~
timeline:
10.28 学校邀请参加wayfair面试,让29号去career fair

10.30 on-campus hr面试,当场表示给oa,让我收到后2天内完成
面试是同时跟一个HR和一个engineer聊天
HR是个黑人小哥,很友好,跟我说他负责new grad招生,还有一个女程序员
上来先聊了一下简历,让介绍一个做过的项目,问了具体的数据
然后就问了两道wayfair标准的题目: 1.Describe a time that you work with difficult people in a team 2. Describe a time that you work on sth you havre no prior knowledge to
问题同 https://www.1point3acres.com/bbs/forum.php?mod=viewthread&tid=447144&extra=&page=1 (感谢这个帖子的楼主!!大家可以去加[]哈哈)
我事先没看到这个帖子,时候才恍然大悟是原题,当场瞎编然后拿了oa

11.2 收到oa
11.3 完成oa
我做之前参考了 https://www.1point3acres.com/bbs/forum.php?mod=viewthread&tid=447144&extra=&page=1 发的OA,有一些出入:
第一题:同上贴,简单的sql,也是employee和department
第二题:不再是”一个array里面算两位数之和“了,换成了剪刀石头布,提前给你另外一个人出拳的顺序在一个string里,你从头到尾只能出一种手势,问你出哪个手势你最后分最高。也是一个弱智题
(ps:”一个array里面算两位数之和“的题出现在oa后的调察问卷里。。。。让我评价这道题怎么样,然而我根本没做到这道题哈哈, 估计题目换了但是调查问卷还没来得及换)
第三题: 和上贴相似的OOD,也是设计一个Leaderboard,但是function不一样了(名字相同要求不同)
要实现三个function:
1. add_score: input: player_id 和 score,要你update该玩家目前为止所有记录的平均分数 (比如之前记录过一次0分,又add_score了100分,这个时候要update成50分,在输入0分又变成33.333分
同时retrurn 平均分数
2. top:输入max,return 一个list,里面是排序好的前max名玩家的player_id (按照当前平均分数排)
3. reset:输入player_id,消除该玩家此前所有记录,重新开始计算平均分
要注意最后一个LeaderBoard是本地写好了复制上去,语言有限制, 只允许: C#, JAVA, JAVASCRIPT, PHP, Python, Ruby, 写C++的同学注意一下

等待预约电面中,攒一波人品!!希望后面顺利,到时再来更新

稳得很~!!

请问楼主,第三题设计leaderboard,reset这个函数你是怎么答的,面试官要求的时间复杂度是多少呢?感谢

没有时间复杂度要求,我就是直接把这个玩家在map里面的记录抹掉了

那top函数你是建一个PriorityQueue然后把hashmap的值一个个load进去,最后返回前K个吗?

是的,load进去然后返回前k个

问一下是什么岗位啊