一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 3559|回复: 32
收起左侧

发一发WayFair的面经

[复制链接] |试试Instant~ |关注本帖
yuanshaochen 发表于 2015-12-17 03:43:42 | 显示全部楼层 |阅读模式

2015(10-12月) 码农类 硕士 全职@Wayfair - 网上海投 - 技术电面 |Passfresh grad应届毕业生

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

您需要 登录 才可以下载或查看,没有帐号?获取更多干货,去instant注册!

x
周一时候同一天拿到Amazon跟Wayfair Lab的offer,估计最后会从了Amazon,也算是对这将近半年的辛苦搬家找工作的回报吧。看地里Wayfair Lab的面经不多,就大概说一下我的经历吧。
先是timeline: 11/19 接HR Meghan电话,问了下情况算是一面吧 —— 11/23 发code sample —— 11/30 完成OA —— 12/8 电面 —— 12/14 拿到offer
OA的题跟地里大多人的一样combination, 用dfs做掉就好,有一天的时间随便登陆CoderPad,所以时间还是非常充裕的,我反正就登了一次花了不到半小时就写完了。. visit 1point3acres.com for more.
然后是一个小时的电面, 面试官是老印,上来先问了下简历让我讲一遍OA的题,然后是那道给一个数组把小于0的数放到前面,大于0得数移到后面的题,写题过程中我说0我会稍后处理的时候他说把0看做正数就好.1point3acres缃
Example:.鏈枃鍘熷垱鑷1point3acres璁哄潧


Input: [-6, 2, 1, 2, -10, -4, 8]
Output: [-6, -10, -4, 2, 1, 2, 8]
一共实现了了3种方法,一种O(N)space & O(n)time的, 一种O(1)space & O(n^2)time的,还有一个tricky但有limit的方法实现了O(1)space & O(n)time。写完这三个就剩10分钟不到了,他就贴了一段PHP卖鞋的代码上来让我找bug,当时太久不看PHP一时蒙圈没答上来,但后来一想其实还是很明显的。主要就是size为空时显示的问题,但似乎并不影响最后的面试结果,一周后顺利拿offer。要面他家的小伙伴加油啊,总体题都不难,还是很好拿offer的~

评分

3

查看全部评分

eamon_felix4213 发表于 2015-12-17 03:53:43 | 显示全部楼层
感谢楼主面经 所以wayfair OA以后只有一轮电面是吗
回复 支持 反对

使用道具 举报

 楼主| yuanshaochen 发表于 2015-12-17 03:56:28 | 显示全部楼层
eamon_felix4213 发表于 2015-12-16 11:53
感谢楼主面经 所以wayfair OA以后只有一轮电面是吗

是的,我在HR给我打电话的时候就问他了,她说的整个流程就跟timeline上的一样,没有onsite,估计是因为是lab的缘故?
回复 支持 反对

使用道具 举报

xzhangjohn 发表于 2015-12-17 04:18:44 | 显示全部楼层
楼主能透露下wayfair package大概多少吗
回复 支持 反对

使用道具 举报

 楼主| yuanshaochen 发表于 2015-12-17 04:24:51 | 显示全部楼层
xzhangjohn 发表于 2015-12-16 12:18
楼主能透露下wayfair package大概多少吗

其实我也不知道,HR最后给我打电话的时候因为我说我还在面试其他公司,她就说不想给我时间上的压力,等你面试完了告诉我,然后我再给你发正式offer和具体package,然后你再有一周的时间考虑,感觉这点还是挺好的。根据其他人的情况的话大概是85k的base加一些sign on和股票吧
回复 支持 反对

使用道具 举报

ningchris 发表于 2015-12-17 04:40:28 | 显示全部楼层
yuanshaochen 发表于 2015-12-17 04:24
其实我也不知道,HR最后给我打电话的时候因为我说我还在面试其他公司,她就说不想给我时间上的压 ...
. 1point3acres.com/bbs
楼主 我跟你情况一模一样 我最近也拿到马鬃和wayfair的offer -.- 因为wayfair offer 比马鬃早几个星期 我已经答应wayfair了 看来要毁约了 ......... 1point3acres.com/bbs

回复 支持 反对

使用道具 举报

xzhangjohn 发表于 2015-12-17 04:53:57 | 显示全部楼层
yuanshaochen 发表于 2015-12-17 04:24
其实我也不知道,HR最后给我打电话的时候因为我说我还在面试其他公司,她就说不想给我时间上的压 ...

我知道有11W的
回复 支持 反对

使用道具 举报

yjtwm 发表于 2015-12-17 05:07:28 | 显示全部楼层
楼主,现在combination那道题已经不让用recursion了。。。
回复 支持 反对

使用道具 举报

wade123 发表于 2015-12-17 10:53:11 | 显示全部楼层

11w是Wayfair labs还是Wayfair?
回复 支持 反对

使用道具 举报

zhuwei0529 发表于 2015-12-17 10:58:47 | 显示全部楼层
请问楼主如果不用recursion的话应该怎么做呢?
回复 支持 反对

使用道具 举报

oneshot 发表于 2015-12-17 11:54:55 | 显示全部楼层
ningchris 发表于 2015-12-17 04:40
楼主 我跟你情况一模一样 我最近也拿到马鬃和wayfair的offer -.- 因为wayfair offer 比马鬃早几个星期 我 ...

请问可以透露一下Wayfair的package是多少吗?
回复 支持 反对

使用道具 举报

 楼主| yuanshaochen 发表于 2015-12-17 18:00:54 | 显示全部楼层
zhuwei0529 发表于 2015-12-16 18:58.1point3acres缃
请问楼主如果不用recursion的话应该怎么做呢?
  1. public ArrayList<ArrayList<String>> combination(ArrayList<ArrayList<String>> dict){
  2.     ArrayList<ArrayList<String>> rst = new ArrayList<ArrayList<String>>();
  3.     ArrayList<String> tmp = new ArrayList<String>();. visit 1point3acres.com for more.
  4.     Stack<Integer> s = new Stack<Integer>();
  5.     s.push(0);
  6. 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  7.     while(!s.isEmpty()){
  8.       while(s.size() < dict.size()){
  9.         if(dict.get(s.size() - 1).size() == 0){. more info on 1point3acres.com
  10.           tmp.add("");
  11.         }else{
    . From 1point 3acres bbs
  12.           tmp.add(dict.get(s.size() - 1).get(s.peek()));
  13.         }. 1point 3acres 璁哄潧
  14.         s.push(0);
  15.       }

  16.       if(s.size() == dict.size()){
  17.                 if(dict.get(s.size() - 1).size() == 0){
  18.           tmp.add("");
  19.         }else{
  20.           tmp.add(dict.get(s.size() - 1).get(s.peek()));
  21.         }
  22.         rst.add(new ArrayList<String>(tmp));
  23.         s.push(0);.鐣欏璁哄潧-涓浜-涓夊垎鍦
  24.       }

  25.       while(s.size() > dict.size() || s.peek() >= dict.get(s.size() - 1).size()){
  26.         s.pop();
  27.         if(s.isEmpty()){
  28.           return rst;
  29.         }
  30.         tmp.remove(tmp.size() - 1);
  31.         s.push(s.pop() + 1);
  32.       }
  33.     }
  34.     return rst;
  35.   }
复制代码
我自己刚写不用recursion的方法,应该可以跑过,大概思路就是用个stack来存每一层的String用到了第几个,然后不停地更新stack就好了
. Waral 鍗氬鏈夋洿澶氭枃绔,
补充内容 (2015-12-17 02:07): 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
写的比较快没有仔细改,有些地方有点啰嗦,中间那段的if没用,而且还可以跟上一段合并一些东西,求大神轻喷...-google 1point3acres

补充内容 (2015-12-17 02:23):
不行,处女座忍不了了...又重新改了下,还是看13楼的代码吧
回复 支持 反对

使用道具 举报

 楼主| yuanshaochen 发表于 2015-12-17 18:22:33 | 显示全部楼层
zhuwei0529 发表于 2015-12-16 18:58
请问楼主如果不用recursion的话应该怎么做呢?
  1.   public ArrayList<ArrayList<String>> combination(ArrayList<ArrayList<String>> dict){
  2.     ArrayList<ArrayList<String>> rst = new ArrayList<ArrayList<String>>();. Waral 鍗氬鏈夋洿澶氭枃绔,
  3.     ArrayList<String> tmp = new ArrayList<String>();
  4.     Stack<Integer> s = new Stack<Integer>();
  5.     s.push(0);

  6.     while(!s.isEmpty()){ 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  7.       while(s.size() <= dict.size()){
  8.         if(dict.get(s.size() - 1).size() == 0){. 1point 3acres 璁哄潧
  9.           tmp.add("");
  10.         }else{
  11.           tmp.add(dict.get(s.size() - 1).get(s.peek()));
  12.         }
  13.         if(s.size() == dict.size()){
  14.           rst.add(new ArrayList<String>(tmp));
    .鏈枃鍘熷垱鑷1point3acres璁哄潧
  15.         }
  16.         s.push(0);. more info on 1point3acres.com
  17.       }

  18.       while(s.size() > dict.size() || s.peek() >= dict.get(s.size() - 1).size()){
  19.         s.pop();
  20.         if(s.isEmpty()){
  21.           return rst;
  22.         }. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  23.         tmp.remove(tmp.size() - 1);
  24.         s.push(s.pop() + 1);
  25.       }
  26.     }
  27.     return rst;
  28.   }
  29. }
复制代码
回复 支持 反对

使用道具 举报

ningchris 发表于 2015-12-17 22:02:21 | 显示全部楼层
oneshot 发表于 2015-12-17 11:54
请问可以透露一下Wayfair的package是多少吗?

85k base 3k sign on bonus 600rsu
回复 支持 反对

使用道具 举报

eamon_felix4213 发表于 2015-12-17 23:43:17 | 显示全部楼层
楼主好人 一定会有offer的 想请问一下楼主还记得当时问的 php 具体那个语句吗 感谢
回复 支持 反对

使用道具 举报

yjtwm 发表于 2015-12-18 02:53:09 | 显示全部楼层
感谢楼主分享~~还想请教“还有一个tricky但有limit的方法实现了O(1)space & O(n)time”这个能不能详细说下?还有那个PHP code是不是就是有一个变量的size在一直变,并且这个size会影响输出内容?
回复 支持 反对

使用道具 举报

gx08274006 发表于 2015-12-18 03:21:47 | 显示全部楼层
谢谢楼主分享,也是请教一下,这个“还有一个tricky但有limit的方法实现了O(1)space & O(n)time”这个是怎么做的?
回复 支持 反对

使用道具 举报

 楼主| yuanshaochen 发表于 2015-12-18 03:41:18 | 显示全部楼层
yjtwm 发表于 2015-12-17 10:53
感谢楼主分享~~还想请教“还有一个tricky但有limit的方法实现了O(1)space & O(n)time”这个能不能详 ...

PHP的那题就是给鞋子那个类赋值的时候有的鞋子是没有size的,而输出print的时候没有考虑到这种情况而已。
至于那个tricky的方法说起来有点复杂,大概思路就是先用所有值减去最小值,把所有数变成正数,算出新的最大值M,扫一边把原来小于0的数找出来,乘以M依次加到排序后应该在的位置的值上,所以这样一个位置就存了两个值,每个space的值mod M就是未排序前的值,除M就是排序后的值,大于0的同理。最后除M还原数组就行了,所以limit就是数组中的数不能太大,要不该超int最大限制了

补充内容 (2015-12-17 12:01):
说白了就是用一个space存两个值,至于怎么存其实还是有很多方法的,比如int前16位存新值,后16位存原值之类的,总之用这样的方法限制就是数不能太大
回复 支持 反对

使用道具 举报

 楼主| yuanshaochen 发表于 2015-12-18 03:43:30 | 显示全部楼层
gx08274006 发表于 2015-12-17 11:21
谢谢楼主分享,也是请教一下,这个“还有一个tricky但有limit的方法实现了O(1)space & O(n)time”这个 ...
. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
见18楼回复
回复 支持 反对

使用道具 举报

 楼主| yuanshaochen 发表于 2015-12-18 03:44:37 | 显示全部楼层
eamon_felix4213 发表于 2015-12-17 07:43. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
楼主好人 一定会有offer的 想请问一下楼主还记得当时问的 php 具体那个语句吗 感谢

同见18楼
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-8 01:22

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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