Wayfair DS 面经

拿到找工季的第一个offer,写第一篇面经。感谢工作从地里获取的信息的和帮助。
2月初校招投的wayfair DS的职位,大概到2月底第一轮电面了。电面分成两部分,第一部分着重讨论了简历上的一个experience,问得比较细,会问到你为什么要用model,为什么用这个model,用什么metric来evaluate,以及这个project还有什么limitation等等,基本上从头到尾被非常细致的问了一遍,所以准备好简历上的内容非常重要。第二部分是一个case study,内容就是如何做cross devices user identification,地里已经有人非常详细po过了,我就大概说一下了。先会问你有这个情况,用户从不同的device登入浏览网站,你如何match不同device的用户是同一个。之后会问你怎么建这个model,需要用到什么feature。最后有一个关于data imbalance的问题,但是具体问题我实在想不起来。

过了第一轮面试,大概10天之后,recruiter联系我,让我交一个code sample,100行以上,object-oriented。我当时不确定交什么,交了一个课上写的java小游戏和一个paper python implementation。

一天之后,recuriter就联系说code过了,要move到onsite了。DS onsite当天full time和intern是一起面的,一共三轮,一轮case,一轮behavior,以及一轮technical case。第一轮的case基本上就是一个完整的model development过程,给你一个scenario,我的情况是wayfair要和其他公司竞争第三方网站ad的auction,wayfair想衡量对于每一个用户,是否bid以及多少钱bid这个ad最合理。然后就会从需要哪些festures开始让你brainstorm,中间可以跟recruiter及时沟通,通过recruiter的反应来判断是否回答在正确的track上。收完features之后,大概就是问你要怎么建model,怎么evaluation等等具体的操作了。每一步都问得挺细的,但是多不难,细心仔细一点都可以想明白。第二轮behavior,之前以为会着重问简历上的内容,结果recruiter上来就说不谈简历上内容lol,谈一个你在做的,你觉得有意思但是没有写在简历的project或者experience。 这题完全没有事先准备到,但是recruiter人非常好,不用紧张,好好说,说清楚说明白,她也没有刁难我,大部分的时候其实都是在闲聊。然后又问了一个问题是你有没有之前做过一个fail了的或者不满意的project,基本上这一轮问的问题我都没有准备到,全靠当场闲聊过去的。另外就没有什么具体的问题了,都是在聊天中岔开来的一些问题recruiter会接下去问,所以我觉得这一轮基本没法准备,全靠现场发挥了。最后一轮是technical case,分成两部分,前20分钟会和你谈一个你做过的project,之后20分钟会让你白板写一个python的code,code不难,仔细一点都可以写出来。我的题目是给你一个dictionary fruit = {“apple” : 3, “banana”: 5, “kiwi”: 7}, 让你写一个function,如果你call这个function很多次,return的水果名的distribution要符合他们对应的value。写完之后会问你run time和space分别占多少,然后让你在这个情况下,让你做优化。最后留五分钟给你,让你问问题。

面完三轮之后,recruiter会带你出去,然后这个时候你就可以和HR再闲聊一会,一会她就会带你出去啦~

面完大概一周不到就会有回馈啦~

好了,写完第一个面经,希望找工作的大家都能顺利找到自己的心仪和想去公司!

想请问一下最后那个python code的最优解是什么样子的?

我先写了一个for loop的code,然后他让我分别优化时间和space,我就按着说了一下,但是最后他问我如何同时优化时间和space,我其实没有回答出来,不过那个是最后一分钟的事了,他就直接告诉我说了,说要用到binary search什么的,我其实没有很懂他最后的意思。

请问能否私信一下微信 想请教一下

你好,能加下微信吗? 我的微信在我UIUC那个帖子的最后一个回复里。。貌似没分发私信了。

想请问一下楼主 如何做cross devices user identification这个部分能稍微提供一些思路吗 非常感谢!