一亩三分地论坛

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

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

亚麻 130分钟OA面经加详细答案

[复制链接] |试试Instant~ |关注本帖
774913744 发表于 2016-8-17 09:52:15 | 显示全部楼层 |阅读模式

2016(7-9月) 码农类 硕士 全职@Amazon - 内推 - 在线笔试 |Passfresh grad应届毕业生

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

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

x
两题题目, 都有详细截图,见附件图片,不需要打字说明。
各位看官,我就不强要米了。但是是新来的,好缺米的,好多帖子都看不到,也不敢搜索,大家觉得还行的务请赏点大米
下面是两道题目的答案,已经拿到onsite了。友情提示,直接抄答案会fail。一定要看懂了自己改写。
请继续期待我下一次的面经。. 1point3acres.com/bbs
static LinkedListNode updateRoute(LinkedListNodeinitialRoute, String[] citiesToSkip) {
       Set<String> mustSkip = new HashSet<>();
        for (String s: citiesToSkip) {
           mustSkip.add(s);
        }
        LinkedListNodedummy = new LinkedListNode("0");
        dummy.next =initialRoute;
        LinkedListNodepointer = dummy;. more info on 1point3acres.com
        while(pointer.next != null) {
            StringcurCity = pointer.next.val;
            if(mustSkip.contains(curCity)) {
                pointer.next = pointer.next.next;
            }
            else {. 1point 3acres 璁哄潧
               pointer = pointer.next;
            }
        }. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
        returndummy.next;
}

static int[]determineRecommendation(String itemId, String[] purchases) {

        //Get the related items together

        Map<String, Set<String>>customerToItems = new HashMap<>();

        for (String  s : purchases) {

            int index =s.indexOf(":");

            String customer = s.substring(0,index);

            String item = s.substring(index+1);

            if(!customerToItems.containsKey(customer)) {

                customerToItems.put(customer,new HashSet<String>());

            }

           customerToItems.get(customer).add(item);

        }
        //Build items graph
. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷

        Map<String, Set<String>>itemRelations = new HashMap<>();

        for (String customer :customerToItems.keySet()) {

            List<String> itemsList = newArrayList<String>(customerToItems.get(customer));

            int size = itemsList.size();
            for (int i = 0; i < size; i++) {
                String key = itemsList.get(i);

                if(!itemRelations.containsKey(key)) {

                   itemRelations.put(key, newHashSet<String>());               

                }

                for (int j = i + 1; j <size; j++) {

                    String value =itemsList.get(j);

                    if(!itemRelations.containsKey(value)) {

                       itemRelations.put(value, new HashSet<String>());

                    }. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷

                   itemRelations.get(key).add(value);

                   itemRelations.get(value).add(key);

                }
            }

        }  

            int[] count = new int[2];

            // if no related items for thequeried item, just return;

            if(!itemRelations.containsKey(itemId)) {

                return count; 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
            }

                    Set<String> visited = newHashSet<>();  // this recordvisited nodes in graph and need to be controled;

            Set<String> countVisited =new HashSet<>(); // this set is used to count the num of related items,there should be other ways

                    dfs(itemRelations, visited,countVisited, itemId);

            count[0]  = itemRelations.get(itemId).size(); // Strongrelated items should be in the adj set of the queried item

                    count[1] = countVisited.size() -count[0] - 1; // need to subtract the queried item itself and strong relateditems

            return count;
                }

                static void dfs (Map<String,Set<String>> graph, Set<String> visited, Set<String>count, String start) {

                    if (graph.get(start) == null ||visited.contains(start)) {

                        return;.鐣欏璁哄潧-涓浜-涓夊垎鍦
                    }
                    visited.add(start);

           count.add(start);

                    List<String> adj = newArrayList<String>(graph.get(start)); {

                        for (String s : adj) {
                            dfs(graph, visited, count, s);
                        }
                    }
                    visited.remove(start);. more info on 1point3acres.com
                }



Q1-min.png
Q2-min.png

评分

20

查看全部评分

floyo 发表于 2016-9-14 15:02:17 | 显示全部楼层
感谢楼主,刚做完OA,两道原体啊OMG. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷

之前我做了一遍,感觉第二遍好多了。

求Onsite, 另外祝楼主早日拿到牛Offer, Bless 大家啦(当然也包括偶自己,嘿嘿);
回复 支持 1 反对 0

使用道具 举报

lymabcd 发表于 2016-8-30 23:57:44 | 显示全部楼层
我觉得你第二题写复杂了  楼主试试只要一个Hash<String,set<string>>
回复 支持 1 反对 0

使用道具 举报

texans 发表于 2016-8-17 10:38:09 | 显示全部楼层
请问楼主这个OA还是不可以用Python么, 如果只会Python的话可以如何和hr解释?
回复 支持 反对

使用道具 举报

354886 发表于 2016-8-17 10:53:35 | 显示全部楼层
总共俩小时两题?
回复 支持 反对

使用道具 举报

 楼主| 774913744 发表于 2016-8-17 10:56:49 | 显示全部楼层
是的130分钟两题,我此前都没看到过这两题,我当时花了五十分钟
回复 支持 反对

使用道具 举报

z165153 发表于 2016-8-17 13:38:43 | 显示全部楼层
lz, 你面哪个组呀。有没有Cpp的接口。
回复 支持 反对

使用道具 举报

dgswh 发表于 2016-8-17 14:05:30 | 显示全部楼层
LZ 啥时候内推的呀,只有一轮 OA吗?
回复 支持 反对

使用道具 举报

 楼主| 774913744 发表于 2016-8-17 22:30:45 | 显示全部楼层
接口是自己选的,CPP石门定有的,就一轮OA
回复 支持 反对

使用道具 举报

谎言之躯 发表于 2016-8-18 01:43:43 | 显示全部楼层
楼主,第二题为什么要有visited.remove(start)这句代码? 我觉得可以把这句去掉
回复 支持 反对

使用道具 举报

uuuu99199 发表于 2016-8-18 03:45:08 | 显示全部楼层
楼主onsite是四轮白板吗?
回复 支持 反对

使用道具 举报

 楼主| 774913744 发表于 2016-8-18 04:59:13 | 显示全部楼层
我那个图的DFS是写成回溯形式的,其实这里是不需要回溯的。我还没去onsite呢,只是通知过了OA,可以Onsite了。
回复 支持 反对

使用道具 举报

singku 发表于 2016-8-18 06:54:10 | 显示全部楼层
楼主能贴一下题目吗.鐣欏璁哄潧-涓浜-涓夊垎鍦
回复 支持 反对

使用道具 举报

 楼主| 774913744 发表于 2016-8-18 07:05:44 | 显示全部楼层
题目在附件的图片,大家注意下
回复 支持 反对

使用道具 举报

linrongdi 发表于 2016-8-18 13:42:16 | 显示全部楼层
楼主申请的是2017 new grad sde那个职位吗
回复 支持 反对

使用道具 举报

 楼主| 774913744 发表于 2016-8-19 06:13:55 | 显示全部楼层
我申请的是Alexa等组的职位
回复 支持 反对

使用道具 举报

friday410 发表于 2016-8-29 09:32:29 | 显示全部楼层
感谢楼主,现在Amazon全职的OA难道题目全部改掉了么,只有一个OA了么?那原来的题库还需要准备?
回复 支持 反对

使用道具 举报

floyo 发表于 2016-9-7 09:48:39 | 显示全部楼层
一亩三分地严打"顶""好贴""收藏了"之类的垃圾回复帖!被警告三次,系统会自动封杀ID!. From 1point 3acres bbs

想支持楼主,请点击帖子下方的"好苗""分享""收藏"键,酌情给楼主加大米(系统不扣你自己的分)。
积分不够看不了帖子,请参考论坛导航里的"帮助","新手提纲"里有攒积分指南
回复 支持 反对

使用道具 举报

floyo 发表于 2016-9-7 09:49:01 | 显示全部楼层
xie谢谢楼主啦!!!
回复 支持 反对

使用道具 举报

bbmbill 发表于 2016-9-7 23:08:25 | 显示全部楼层
774913744 发表于 2016-8-19 06:13
我申请的是Alexa等组的职位
.鐣欏璁哄潧-涓浜-涓夊垎鍦
楼主是直接两轮OA之后就通知onsite了?没有电面?
回复 支持 反对

使用道具 举报

hitman047 发表于 2016-9-8 08:34:14 | 显示全部楼层
OA1 或 OA2? SDE1 或 SDE2?
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2016-12-6 00:40

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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