亚麻OA求砸,面经神衣护体!


一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
天天打游戏、照样领工资、还办H1B
这份工作你要不要?
把贵司招聘信息放这里
查看: 1710|回复: 5
收起左侧

Square onsite面经

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

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

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

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

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

评分

2

查看全部评分

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

使用道具 举报

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

贴一下我的代码
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;
                        this.h = h;
                }
        }
        private TreeSet<Node> treeset;. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
        private float maxHeight;
       
. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴        public AddSquare() {
                treeset = new TreeSet<Node>(new Comparator<Node>() {
                        public int compare(Node x, Node y) {
                                float diff = x.a - y.a;
                                if (Math.abs(diff) < 1e-10) {
                                        return 0;
                                }. From 1point 3acres bbs
                                return x.a < y.a ? -1 : 1;
                        }
                });. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
                maxHeight = 0;
        }
       
        public void drop(float position, float size) {. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
                Node newnode = new Node(position, position + size, size);
                Node left = getLeftBound(newnode);
. 1point3acres.com/bbs                Node right = getRightBound(newnode);. from: 1point3acres.com/bbs
                if (left == null && right == null) {
                        treeset.add(newnode);
                        maxHeight = Math.max(maxHeight, size);
                        return;
                }
                float curMaxHeight = left.h;
                Node cur = left;
. from: 1point3acres.com/bbs                 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) {
                        treeset.add(new Node(left.a, newnode.a, left.h));
                }
                if (newnode.b < right.b) {
                        treeset.add(new Node(newnode.b, right.b, right.h));
                }
                treeset.add(new Node(newnode.a, newnode.b, size + curMaxHeight));
                maxHeight = Math.max(maxHeight, size + curMaxHeight);
        }
        . 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
        public float getHeight() {
                return maxHeight;
        }
        private Node getLeftBound(Node n) {
                Node smaller = treeset.lower(n);
                if (smaller != null && overlap(smaller, n)) {
                        return smaller;. more info on 1point3acres.com
                }
                Node larger = treeset.ceiling(n);
                if (larger != null && overlap(larger, n)) {
                        return larger;
                }. 1point3acres.com/bbs
                return null;
        }
       
        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;. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
                }
                return null;
        }
       
        private boolean overlap(Node x, Node y) {
                return !greater(x.a, y.b) && !less(x.b, y.a);
        }
        .鏈枃鍘熷垱鑷1point3acres璁哄潧
        private boolean greater(float x, float y) {
                return x - y > 1e-10;
        }. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
       
        private boolean less(float x, float y) {
                return x - y < -1e-10;
        }. 鍥磋鎴戜滑@1point 3 acres
        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());
                test.drop(-1,3);
                System.out.println(test.getHeight());
                test.drop(5.5f, 3);
                System.out.println(test.getHeight());
                test.drop(10, 5);. from: 1point3acres.com/bbs
                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直接联系我的
回复 支持 反对

使用道具 举报

han4011 发表于 2017-3-3 14:47:42 | 显示全部楼层
Guava Fluentiterable class 是啥意思?
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

custom counter

GMT+8, 2017-10-18 02:46

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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