中级农民
- 积分
- 147
- 大米
- 颗
- 鳄梨
- 个
- 水井
- 尺
- 蓝莓
- 颗
- 萝卜
- 根
- 小米
- 粒
- 学分
- 个
- 注册时间
- 2014-10-15
- 最后登录
- 1970-1-1
|
2017(1-3月)-CS硕士+短暂实习或全职不超过3个月 | 网上海投| 码农类General全职@amazon
注册一亩三分地论坛,查看更多干货!
您需要 登录 才可以下载或查看附件。没有帐号?注册账号 
x
回来好多天了,写一个亚马逊onsite的自己的一些看了地里面的帖子以及现场写完后的想法吧。就假设大家都已经知道题了,如果连题是什么样都不能在去面之前猜出来写出来的话(现在论坛里的信息已经很多了)那只能说准备不足应该被拒了。。。总的来讲感觉大家都差不多,每个人都应该知道大概的解法,但关键在于怎么能够让面试官记住自己,有一些新颖的点
1.第一轮群面,记得要和你的伙伴们,尤其是如果遇到了外国伙伴,一定要在面试开始之前告诉他们说这里面的解法是有可能有错误的,不要想当然看了两眼就瞎bb开始分析时间复杂度了。。。。我也是醉了,我们组那个印度人quick select那个明显的错误,他都没看出来,我质疑了他一下还是没看出来,组里的中国人也在帮他说他是对的,当时我也虚了怕自己没看准,也就忍了
1.关于论坛上传的很多的那种greedy的方法(sort order by quantity,fulfill the smaller quantity order first),只能说这是一个好的思路,正常人的思路也都是这样的,不过不知道有多少人知道这个sort其实在他们给的dataset上是没有效果的(至少milestone2我感觉没效果),你把整个order反着sort把quantity大的放在前面,milestone2得出来的结果还是87.5没有变化。。。。我现场打印了一下order以及能满足这个order的Inventory的数量,发现很多order都是一开始就没有任何inventory能够满足它的,也就是说不管正着发反着发倒立着发都是没法fulfill这个order的。。。greedy的方法能够在order是(1,1,1,1,1,1000,10000)这样形式的quantity时得到比较好的结果,但是对于那个数据集,大部分order都是个位数的quantity,大部分Inventory都是十几个二十几个库存,反正就我看来,这个greedy算法在这是没效果的,我和面试官提了并且讨论了一下,感觉这个还是挺能撑场的,第一轮大部分时间都在讲milestone2了
2.注意讨论一下corner case,具体是什么corner case在这就不说了,论坛上去火贴上搜一下吧
3.我最后一轮问的蛮开放的,要多想几种可能的思路,不一定要真正试,说思路就行,比如我想的一个是按照order能被满足的仓库数目排序,比如A order能够被三个仓库满足,B order能够被四个仓库满足,那么就先发A。。。当然这是扯淡了我也并没有试过。然后还可以说一下DFS啊什么的,但要适时的指出这玩意不可能时间复杂度太高等等。。。面试官跟我讲这题是有最优解的,但是我们肯定不可能想出来,所以面试的时候千万别说这是最优,就说是我的想法,这个可能能够满足更多的order就好了
4.我全程没用啥牛逼的数据结构,都是sort+comparator,一个原因是我觉得用那个priorityqueue似乎装的痕迹有些明显了。。。确实也没必要。而且整个算法里除了order的sort可能比较费时,在每个order内部进行sort或者priorityqueue的话元素应该不会很多(五个地区,五种运输方式,组合起来也就25),所以无所谓啦
5.milestone3的优化结果:一开始我用milestone2的方法在milestone3的数据集上跑,fulfill率是90%多,每单价格是50多块钱。然后优化了一下ShippingCost,每单价格变成28,再优化了一下从哪个仓库发货,每单价格变成25,on time率应该没啥变化。好像第三问是让你在第二问的基础上改,如果你的算法影响到on time率的话似乎不符合亚马逊的价值观了,具体是什么算法就不说了吧,对想出来的人不公平,我觉得我用的算法是能够满足尽量ontime并且价格最优的,但是这东西没有绝对。。。一切都要看给你的数据集长什么样子
6.面试时并没有装傻,我选的第三个slot,milestone1直接给的map的方法,给面试官看了一下之前写的两个for loop方法,说我看过了这俩的输出一模一样,面试官表示可以,然后大部分时间都是我在说milestone2。面完回来之后就不用搂着速度了直接开启狂敲模式,基本上写完milestone3还剩40分钟不到。如果你这题真的准备的很充分的话,不写注释其实一个小时就能把三问加测试看结果全解决。.google и
.1point3acres
|
上一篇:微软内推后邮件问题 下一篇:google可以象hr求个加面么
|