聊聊跟三哥三姐面试和共事的经历

一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
E轮2.5亿美元融资
K12教育独角兽一起作业
北京-诚聘人工智能/教育/大数据岗
坐标湾区
Games Startup
招聘游戏开发工程师
游戏初创公司招聘工程师、UIUX Designer和游戏策划
码农求职神器Triplebyte:
不用海投
内推多家公司面试
把贵司招聘信息放这里
查看: 5154|回复: 44
收起左侧

亚麻OA2 11/30/2016 全方面谈谈我感受

[复制链接] |试试Instant~ |关注本帖
xuanyuanyi12 发表于 2016-12-1 08:31:51 | 显示全部楼层 |阅读模式

2016(10-12月) 码农类General 硕士 全职@Amazon - 内推 - 在线笔试  | Other | fresh grad应届毕业生

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

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

x
历经两周的复习,我终于在今天完成了亚麻所有的OA,这里谈谈我个人对OA2的感受希望对大家有用,也算回馈大家了,毕竟我真的得到了很多人的帮助。不管结果如何,我也算尽力了,就算被拒,也没有什么遗憾。。。。。。
WS部分
其实WS部分的面经已经比较全了,我也得益于这两位作者,在此表示感激!
https://segmentfault.com/a/1190000007519772
http://www.1point3acres.com/bbs/thread-212944-1-1.html
但是,每个人和每个人真的很不同,怎么选还是得看自己,我在这里讲一讲我的解题方法。当然也许我是错的,我只是发表看法。
3个大前提
1. Communication
遇见需要了解情况才能做出判断的题一定要了解清楚情况再给出自己的建议。比如API那个题,不要武断做出决定。
2. Ownership
找上门的事情一定要管,遇到问题一定要承担,再不济号召大家一起解决问题。.本文原创自1point3acres论坛
3. 看清那5个级别到底代表什么,instruction里都有说明,我看了后没觉得一味打极端好。人家明明告诉你啥是啥了,不要自己乱带入。
requirement > deadline > more features 这个我就不多说了
具体解题的时候,我都会自动把选项group成几堆,给个好坏再细分。
其实我也做的蛮尴尬的,那3个service的题并不是出现在那个视频题里的。.1point3acres网
Code部分
我抽到的是k closest points (9 cases), window sum (5 cases) 和 order dependency (4 cases). test全过,不过我看好多过的人也挂了。看天吧,看老天让不让我和我家大德牧一起上班了ToT.
这里我讲下我准备中感想,马拉车,想写就写,只要能通过lc,亚麻那个没问题应该。还有全局变量,讲真从我开始学java, 课上的project从来不提倡乱用全局变量,这样写可能会产生问题,而且也很不好看,所以我一直坚持professor教我的,没必要就不要用。Company tree 那道题可以用非递归来写,当然递归用数组带进去也可以但是input的意思就不明显了,写类有点为了解决问题而写,所以我一直准备的是非递归写法,只是没用上。其他题注意corner case吧。对于马拉车和非递归如果同学有兴趣我可以分享自己的代码。
.留学论坛-一亩-三分地
暂时讲到这里吧。。。。。。后面有时间把每道题的注意点补上。。。。。。. 1point 3acres 论坛
希望能带我的大德牧北上工作呀!-google 1point3acres
bless!
. 围观我们@1point 3 acres
. from: 1point3acres



补充内容 (2016-12-1 08:34):
我指的全局变量不是成员变量哈,就是不是成员变量也不是常数的其他为了方便的。。。你们懂的。。。

补充内容 (2016-12-1 11:01):
大家有啥要问的在这里问哈~我没私信权限~

补充内容 (2016-12-1 11:06):
马拉车和非递归贴下面了哈~~~其他的我觉得网上都很全~~~大家要用的话还是要改成自己的风格哈~~~

补充内容 (2016-12-1 13:57):
我补充下corner case哈~rectangle那个,你就是把矩形4条边的坐标找出来就是预处理了,边点重合不算重合。
k closest那个list为null或空我返回list,k<=0返回空list,k > list.size就输出sort过后的list

补充内容 (2016-12-1 14:01):. 一亩-三分-地,独家发布
其他的我都是如果输入是list,如果是空或null返回输入list. 如果无解返回空list。Company tree看输入是null或者他的children是不是空,空即是无解返回null. 其他真没啥了,除了po那两道题,其他和网上差不多
.本文原创自1point3acres论坛
补充内容 (2016-12-1 14:01):
其他的我都是如果输入是list,如果是空或null返回输入list. 如果无解返回空list。Company tree看输入是null或者他的children是不是空,空即是无解返回null. 其他真没啥了,除了po那两道题,其他和网上差不多

评分

6

查看全部评分

 楼主| xuanyuanyi12 发表于 2016-12-1 09:32:28 | 显示全部楼层
hurricane_e 发表于 2016-12-1 09:29.1point3acres网
求问lz马拉车是虾米题?

longest palindrome那道题~~~~
回复 支持 1 反对 0

使用道具 举报

coldrainy 发表于 2016-12-1 09:13:34 | 显示全部楼层
大哥,我也刚做,但是我的k closest point 是6 个case,而且 Comparator不能用,double array 得写成 Double[] 而不是 double[] 才可以,不然报错。。。。有点坑啊
回复 支持 反对

使用道具 举报

 楼主| xuanyuanyi12 发表于 2016-12-1 09:17:23 | 显示全部楼层
coldrainy 发表于 2016-12-1 09:13
大哥,我也刚做,但是我的k closest point 是6 个case,而且 Comparator不能用,double array 得写成 Doubl ...
. 围观我们@1point 3 acres
我的真的是9个~~~而且不用double[]呀,他那个是CPoint的类呀~~~~看来亚麻真是有一个pool, 从里面随机取case, 看来code并不是不重要的. From 1point 3acres bbs

. visit 1point3acres for more.补充内容 (2016-12-1 09:19):
而且真的可以用Comparator,你记得import
回复 支持 反对

使用道具 举报

hurricane_e 发表于 2016-12-1 09:29:12 | 显示全部楼层
求问lz马拉车是虾米题?
回复 支持 反对

使用道具 举报

qiweiren 发表于 2016-12-1 10:57:54 | 显示全部楼层
楼主,可以把你的code分享一下吗?xiaotang.hello@gmail.com
多谢!. 牛人云集,一亩三分地
祝早日拿到offer!
回复 支持 反对

使用道具 举报

 楼主| xuanyuanyi12 发表于 2016-12-1 11:03:49 | 显示全部楼层
import java.util.Stack;
import java.util.ArrayList;

/*
* Solution implements getHighAve which return the node with highest average.
*/
public class Solution {
        /*
         * Finds the node with highest average.. 牛人云集,一亩三分地
         * @param root The root of the company tree
         * @return The node with highest average
         */
           public static Node getHighAve(Node root) {
                // Checks the validity of the input.
                if (root == null || root.children.size() == 0) {
                    return null;. 留学申请论坛-一亩三分地
                }
                
                // Finds the node with highest average.
                double maxAverage = Double.MIN_VALUE;
                Node maxNode = null;. Waral 博客有更多文章,
                Node head = root;
                int sum = 0;
                int count = 0;
                Stack<Node> stack = new Stack<Node>();. visit 1point3acres for more.
                stack.push(root);
                while(!stack.isEmpty()) {.留学论坛-一亩-三分地
                    Node top = stack.peek();
                    ArrayList<Node> children = top.children;
                    int size = children.size();. more info on 1point3acres
                    if(size == 0 || children.get(0) == head) {
                        count++;
                        head = stack.pop();
                        sum += head.val;
                        if(size != 0 && sum /count > maxAverage) {
                            maxAverage = sum / count;
                            maxNode = head;
                        }
                    }
                    else {
                        for(Node child : children) {
                            if(child != null) {
                                stack.push(child);.1point3acres网
                            }
                        }
                    }. 一亩-三分-地,独家发布
                }
                . 1point 3acres 论坛
                return maxNode;
            }
}
回复 支持 反对

使用道具 举报

 楼主| xuanyuanyi12 发表于 2016-12-1 11:04:41 | 显示全部楼层
import java.lang.StringBuilder;. visit 1point3acres for more.
import java.lang.Math;

/*
* Implements longestPalindromicSubstring method which returns longest panlindromic substring of the input.
*/
public class Solution {
        /*
         * Finds longest panlindromic substring of the input.
. 一亩-三分-地,独家发布         * @param s The input string.
         * @return longest panlindromic substring of the input
         */
        public static String longestPalindromicSubstring(String s) {
            // Checks the validity of the input.
                if (s == null || s.length() == 0) {
                        return s;
                }
                       
                // Processes the input string. After processing, aba would be #a#b#a#.
                StringBuilder t = new StringBuilder("#");
                for (int i = 0; i < s.length(); i++) { 来源一亩.三分地论坛.
                        t.append(s.charAt(i));
                        t.append("#");. Waral 博客有更多文章,
                }. 1point3acres
                        . 1point3acres
                // Finds center and radius of the longest panlindromic substring of t.. Waral 博客有更多文章,
                int middle = 0;
                int right = 0;
                int center = 0;
                int radius = 0;
                int[] half = new int[t.length()]; // The half-length of the longest palindrome centered with jth character.
                for (int j = 0; j < t.length(); j++) {
                        if(right > j) {
                                half[j] = Math.min(right - j, half[2 * middle - j]);
                        }
                        else {
                                half[j] = 1;. more info on 1point3acres
                        }
                        while (j - half[j] >= 0 && half[j] + j < t.length() && t.charAt(j - half[j]) == t.charAt(half[j] + j)) {
                                half[j]++;
                        }
                        if (half[j] + j > right) {
                                middle = j;
                                right = half[j] + j;
                        }
                        if (half[j] > radius) {
                                radius = half[j];
                                center = j;. visit 1point3acres for more.
                        }
                }
                       
                return s.substring((center - radius + 1) / 2, (center + radius) / 2);
        }. more info on 1point3acres
}
Mobile Apps Category (English)728x90
回复 支持 反对

使用道具 举报

faster5354 发表于 2016-12-1 11:08:08 | 显示全部楼层
楼主能分享下你k closest points的Comparator怎么写的吗? 谢谢!
  1.        final Point start = origin;. 围观我们@1point 3 acres
  2.                 PriorityQueue<Point> pq = new PriorityQueue<Point>(new Comparator<Point>() {
  3.                         public int compare(Point p1, Point p2) {
  4.                                 double d1 = Math.hypot(start.x - p1.x, start.y - p1.y);
  5.                                 double d2 = Math.hypot(start.x - p2.x, start.y - p2.y);
  6.                                 if(d2 > d1)
  7.                                         return 1;
  8.                                 else if(d2 == d1)
  9.                                         return 0;
  10.                                 else
  11.                                         return -1;
  12.                         }
  13.                 });
复制代码

不知道我这样写行不行?
回复 支持 反对

使用道具 举报

 楼主| xuanyuanyi12 发表于 2016-12-1 11:09:22 | 显示全部楼层
faster5354 发表于 2016-12-1 11:08
楼主能分享下你k closest points的Comparator怎么写的吗? 谢谢!

不知道我这样写行不行?

pq里面记得加size
回复 支持 反对

使用道具 举报

头像被屏蔽
在浙里 发表于 2016-12-1 11:13:36 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

oliverhao 发表于 2016-12-1 11:26:27 | 显示全部楼层
xuanyuanyi12 发表于 2016-12-1 11:04. visit 1point3acres for more.
import java.lang.StringBuilder;. 1point3acres
import java.lang.Math;

为什么要Processes the input string?. 围观我们@1point 3 acres
(After processing, aba would be #a#b#a#.)
回复 支持 反对

使用道具 举报

 楼主| xuanyuanyi12 发表于 2016-12-1 11:31:09 | 显示全部楼层
oliverhao 发表于 2016-12-1 11:26
为什么要Processes the input string?
(After processing, aba would be #a#b#a#.)
.1point3acres网
这样就不用分奇偶了都是奇数长度的~~~
回复 支持 反对

使用道具 举报

 楼主| xuanyuanyi12 发表于 2016-12-1 11:31:46 | 显示全部楼层
在浙里 发表于 2016-12-1 11:13
感觉楼主是拿offer的节奏,求加米。

谢谢~~~
bless~~~
回复 支持 反对

使用道具 举报

Kevinbtc 发表于 2016-12-1 11:41:38 | 显示全部楼层
faster5354 发表于 2016-12-1 11:08
楼主能分享下你k closest points的Comparator怎么写的吗? 谢谢!

不知道我这样写行不行?

看到有同学return的时候直接写 return Double.compare(d2, d1); 感觉更简洁一点
回复 支持 反对

使用道具 举报

 楼主| xuanyuanyi12 发表于 2016-12-1 11:45:30 | 显示全部楼层
Kevinbtc 发表于 2016-12-1 11:41
看到有同学return的时候直接写 return Double.compare(d2, d1); 感觉更简洁一点

Override的compare函数return的是int~. from: 1point3acres

补充内容 (2016-12-1 11:48):
这样是比较简洁~
回复 支持 反对

使用道具 举报

沐阳Amigo 发表于 2016-12-1 11:46:30 | 显示全部楼层
我也是今天做的oa2 第三题是DeepCopy, 超坑的是居然给定class类里的变量名错了?!死活compile不过最后看test case才发现两边打的变量名不一样...不知道有没有人遇到
回复 支持 反对

使用道具 举报

 楼主| xuanyuanyi12 发表于 2016-12-1 11:49:40 | 显示全部楼层
沐阳Amigo 发表于 2016-12-1 11:46
我也是今天做的oa2 第三题是DeepCopy, 超坑的是居然给定class类里的变量名错了?!死活compile不过最后看t ...
. 围观我们@1point 3 acres
那个arbitrary是吧~~~我以前看见有人提过~
回复 支持 反对

使用道具 举报

youknow 发表于 2016-12-1 12:14:27 | 显示全部楼层
恭喜楼主,抽到不错的题目,我也是今天oa2,结果三大水题,longest palindromic substring, overlap rectangle 和 high five scores。
回复 支持 反对

使用道具 举报

 楼主| xuanyuanyi12 发表于 2016-12-1 12:18:47 | 显示全部楼层
youknow 发表于 2016-12-1 12:14
恭喜楼主,抽到不错的题目,我也是今天oa2,结果三大水题,longest palindromic substring, overlap recta ...

我那个算不错的题目吗?我一直以为没区别哒~总之希望我们都有好消息~
回复 支持 反对

使用道具 举报

本版积分规则

提醒:发帖可以选择内容隐藏,部分板块支持匿名发帖。请认真读完以下全部说明:

■隐藏内容方法: [hide=200]你想要隐藏的内容比如面经[/hide]
■意思是:用户积分低于200则看不到被隐藏的内容
■可以自行设置积分值,不建议太高(200以上太多人看不到),也不建议太低(那就没必要隐藏了)
■建议只隐藏关键内容,比如具体的面试题目、涉及隐私的信息,大部分内容没必要隐藏。
■微信/QQ/电子邮件等,为防止将来被骚扰甚至人肉,以论坛私信方式发给对方最安全。
■匿名发帖的板块和方法:http://www.1point3acres.com/bbs/thread-405991-1-1.html

关闭

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

手机版|小黑屋|一亩三分地论坛声明

custom counter

GMT+8, 2018-5-23 00:20

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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