一亩三分地论坛

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

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

Square onsite面经

[复制链接] |试试Instant~ |关注本帖
zhubobo 发表于 2016-7-26 05:20:49 | 显示全部楼层 |阅读模式

2016(4-6月) 码农类 硕士 全职@Square - 网上海投 - Onsite |Fail在职跳槽

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

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

x
地里Square的面经不多,来发一个1. Coding:他家高频的掉方块问题
2. Coding:实现Guava Fluentiterable class, lz跪在这轮了
3. Coding:设计一个credit card class, 实现一些功能,从简单到复杂,具体内容lz记不清了,但是不难,面试官会一步步引导
4. Design a flight booking website
5. Project

评分

1

查看全部评分

sisolcode 发表于 2016-7-26 11:26:24 | 显示全部楼层
請問第一題你能說說大致的思路嗎? 最近要電面,看到滿多人電話也接到這題
回复 支持 反对

使用道具 举报

 楼主| zhubobo 发表于 2016-7-27 12:30:10 | 显示全部楼层
sisolcode 发表于 2016-7-26 11:26
請問第一題你能說說大致的思路嗎? 最近要電面,看到滿多人電話也接到這題

贴一下我的代码
public class AddSquare {
        private static class Node {
                private float a;
                private float b;. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
                private float h;
                public Node(float a, float b, float h) {
                        this.a = a;
                        this.b = b;. from: 1point3acres.com/bbs
                        this.h = h;.鐣欏璁哄潧-涓浜-涓夊垎鍦
                }.1point3acres缃
        }
        private TreeSet<Node> treeset;
        private float maxHeight;
       
        public AddSquare() {
                treeset = new TreeSet<Node>(new Comparator<Node>() {
                        public int compare(Node x, Node y) {. 1point 3acres 璁哄潧
                                float diff = x.a - y.a;
                                if (Math.abs(diff) < 1e-10) {
                                        return 0;
                                }
                                return x.a < y.a ? -1 : 1;. 1point 3acres 璁哄潧
                        }
                });
                maxHeight = 0;
        }
       
        public void drop(float position, float size) {
                Node newnode = new Node(position, position + size, size);. visit 1point3acres.com for more.
                Node left = getLeftBound(newnode);
                Node right = getRightBound(newnode);
                if (left == null && right == null) {
                        treeset.add(newnode);
                        maxHeight = Math.max(maxHeight, size);
                        return;
                }
                float curMaxHeight = left.h;
                Node cur = left;. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
                while (cur != right) {
                        Node tmp = treeset.higher(cur);
                        curMaxHeight = Math.max(curMaxHeight, cur.h);
                        treeset.remove(cur);. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
                        cur = tmp;
                }
                curMaxHeight = Math.max(curMaxHeight, right.h);
                treeset.remove(right);
                if (left.a < newnode.a) {.鏈枃鍘熷垱鑷1point3acres璁哄潧
                        treeset.add(new Node(left.a, newnode.a, left.h));
                }
                if (newnode.b < right.b) {. 1point 3acres 璁哄潧
                        treeset.add(new Node(newnode.b, right.b, right.h));
                }. 鍥磋鎴戜滑@1point 3 acres
                treeset.add(new Node(newnode.a, newnode.b, size + curMaxHeight));-google 1point3acres
                maxHeight = Math.max(maxHeight, size + curMaxHeight);
        }
       
        public float getHeight() {
                return maxHeight;
        }
        private Node getLeftBound(Node n) {
                Node smaller = treeset.lower(n);. Waral 鍗氬鏈夋洿澶氭枃绔,
                if (smaller != null && overlap(smaller, n)) {
                        return smaller; 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
                }
                Node larger = treeset.ceiling(n);
                if (larger != null && overlap(larger, n)) {
                        return larger;
                }. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
                return null;
        }. from: 1point3acres.com/bbs
       
        private Node getRightBound(Node n) {
                Node dummy = new Node(n.b, n.b, n.h);
                Node smaller = treeset.floor(dummy);
                if (smaller != null && overlap(smaller, n)) {
                        return smaller;-google 1point3acres
                }
                return null;
        }
       
        private boolean overlap(Node x, Node y) {. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
                return !greater(x.a, y.b) && !less(x.b, y.a);. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
        }
       
        private boolean greater(float x, float y) {.鏈枃鍘熷垱鑷1point3acres璁哄潧
                return x - y > 1e-10;
        }
        . 1point 3acres 璁哄潧
        private boolean less(float x, float y) {
                return x - y < -1e-10;
        }
        public static void main(String[] args) {
                // TODO Auto-generated method stub
                AddSquare test = new AddSquare();
                test.drop(1,4);
                System.out.println(test.getHeight());
                test.drop(3,3);
                System.out.println(test.getHeight());. 1point3acres.com/bbs
                test.drop(-1,3);
                System.out.println(test.getHeight());
                test.drop(5.5f, 3);
                System.out.println(test.getHeight());
                test.drop(10, 5);
                System.out.println(test.getHeight());. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
                test.drop(-1, 6.5f);
                System.out.println(test.getHeight());
        }

}

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

mdzzxswl 发表于 2016-8-3 11:42:27 | 显示全部楼层
是最近网投的吗~我上周网申了intern然后今天邮件说拒了面试都没给。。。是他们家bar不低还是自己太弱 泪目
回复 支持 反对

使用道具 举报

 楼主| zhubobo 发表于 2016-8-4 13:05:27 | 显示全部楼层
mdzzxswl 发表于 2016-8-3 11:42
是最近网投的吗~我上周网申了intern然后今天邮件说拒了面试都没给。。。是他们家bar不低还是自己太弱 泪目

. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴不是网投的,是recruiter直接联系我的
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2016-12-3 23:58

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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