一亩三分地论坛

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

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

Zillow OA(附解答) 和 9月26第一轮电面

[复制链接] |试试Instant~ |关注本帖
bearcat001 发表于 2016-9-30 01:52:43 | 显示全部楼层 |阅读模式

2016(7-9月) 码农类 硕士 全职@Zillow - 内推 - 技术电面 |Passfresh grad应届毕业生

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

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

x
OA似乎是常见的两题
  1. Question 1) Given a string, write a routine that converts the string to a long, without using the
  2. built in functions that would do this. Describe what (if any) limitations the code has. For
  3. example:
  4. long stringToLong(String s). 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
  5. {. From 1point 3acres bbs
  6.      /* code goes here to convert a string to a long */
  7. }
  8. void test()
  9. {
  10. long i = stringToLong("123");. From 1point 3acres bbs
  11. if (i == 123)
  12. // success. 鍥磋鎴戜滑@1point 3 acres
  13. else 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  14. // failure
  15. }
复制代码
  1. /*
  2.      * Complete the function below.
  3.      */
  4.     static long parseLong(String str) throws Exception {
  5.         if (str == null || str.length() == 0) {
  6.             throw new Exception("Invalid number.");
  7.         }
  8.         long result = 0;
  9.         int len = str.length();
  10.         boolean isPositive = true;
  11.         int start = 0; // first number

  12.         // check sign
  13.         if (str.charAt(start) == '+') {
  14.             isPositive = true;
  15.             start++;
  16.         } else if (str.charAt(start) == '-') {
  17.             isPositive = false;. more info on 1point3acres.com
  18.             start++;
  19.         }
  20. 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  21.         // check if valid-google 1point3acres
  22.         if (start == len || (str.charAt(start) == '0' && start != len - 1)) {
  23.             throw new Exception("Invalid number.");. From 1point 3acres bbs
  24.         }

  25.         for (int i = start; i < len; i++) {
  26.             char c = str.charAt(i);.1point3acres缃
  27.             if (c >= '0' && c <= '9') {
  28.                 if (result > Long.MAX_VALUE / 10) {
  29.                     throw new Exception("Number overflow.");
  30.                 }
  31.                 if (result == Long.MAX_VALUE / 10 && i == len - 1) {
  32.                     if (isPositive && c > '7') {
  33.                         throw new Exception("Number overflow.");.鐣欏璁哄潧-涓浜-涓夊垎鍦
  34.                     } else if (!isPositive && c > '8') {
  35.                         throw new Exception("Number Overflow.");
  36.                     } else if (!isPositive && c == '8') {
  37.                         return Long.MIN_VALUE;
  38.                     }
  39.                 }. From 1point 3acres bbs
  40.                 result = result * 10;
  41.                 result += (long) (c - '0');
  42.             } else {.1point3acres缃
  43.                 throw new Exception("Invalid number.");.1point3acres缃
  44.             }
  45.         }
  46. . Waral 鍗氬鏈夋洿澶氭枃绔,
  47.         return result;
  48.     }
复制代码
  1. Question 2) Implement insert and delete in a tri-nary tree. A tri-nary tree is much like a binary 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  2. tree but with three child nodes for each parent instead of two -- with the left node being values 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  3. less than the parent, the right node values greater than the parent, and the middle nodes values
  4. equal to the parent.-google 1point3acres
  5. For example, suppose I added the following nodes to the tree in this order: 5, 4, 9, 5, 7, 2, 2.
  6. The resulting tree would look like this:
  7.     5
  8.   / | \
  9. 4  5  9
  10. /     /
  11. 2   7
  12. |
  13. 2
复制代码
  1. /* PLEASE DO NOT UNCOMMENT THIS BLOCK

  2. import java.io.IOException;. 鍥磋鎴戜滑@1point 3 acres
  3. import java.io.BufferedWriter;
  4. import java.io.FileWriter;
  5. import java.util.*;
  6. // No other imports are permitted.鏈枃鍘熷垱鑷1point3acres璁哄潧

  7. // The following definitions of Tree and Node are provided.. From 1point 3acres bbs
  8. // insert and delete will be methods of class Tree.

  9. public class Tree { 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  10.     private class Node {
  11.         private int val;.鐣欏璁哄潧-涓浜-涓夊垎鍦
  12.         private Node left = null;
  13.         private Node right = null;. 1point 3acres 璁哄潧
  14.         private Node mid = null;

  15.         public Node(int val) {
  16.             this.val = val;
  17.         }. visit 1point3acres.com for more.
  18.     }.鐣欏璁哄潧-涓浜-涓夊垎鍦

  19.     private Node root;
  20. */

  21.     /*
  22.      * Please complete this method.-google 1point3acres
  23.      * Inserts val into the tree.
  24.      */
  25.     public void insert(int val) {. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  26.         if (root == null) {. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
  27.             root = new Node(val);
  28.             return;. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  29.         }

  30.         insert(root, val);
  31.     }

  32.     private void insert(Node root, int val) {
  33.         if (root == null) {
  34.             return;
  35.         } else if (root.val == val) {. more info on 1point3acres.com
  36.             Node curr = root;. more info on 1point3acres.com
  37.             while (curr.mid != null) {
  38.                 curr = curr.mid;. 1point3acres.com/bbs
  39.             }
  40.             curr.mid = new Node(val);
  41.         } else if (root.val > val) {
  42.             if (root.left != null) {
  43.                 insert(root.left, val);
  44.             } else {
  45.                 root.left = new Node(val);
  46.             }. visit 1point3acres.com for more.
  47.         } else if (root.val < val) {. more info on 1point3acres.com
  48.             if (root.right != null) {
  49.                 insert(root.right, val);
  50.             } else {
  51.                 root.right = new Node(val);
  52.             }
  53.         }
  54.     }

  55.     /*.鏈枃鍘熷垱鑷1point3acres璁哄潧
  56.      * Please complete this method.
  57.      * Deletes only one instance of val from the tree.
  58.      * If val does not exist in the tree, do nothing.
  59.      */
  60.     public void delete(int val) {
  61.         root = delete(root, val);
  62.     }

  63.     private Node delete(Node root, int val) {
  64.         if (root == null) {
  65.             return root;
  66.         }
  67.         if (root.val == val) {
  68.             // delete mid
  69.             if (root.mid != null) {
  70.                 root.mid = delete(root.mid, val);
  71.             } else if (root.right != null) {. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  72.                 // get most left-bottom one from right subtree. more info on 1point3acres.com
  73.                 Node curr = root.right;. 鍥磋鎴戜滑@1point 3 acres
  74.                 while (curr.left != null) {
  75.                     curr = curr.left;
  76.                 }
  77.                 int smallest = curr.val;
  78.                 root.val = smallest;.鐣欏璁哄潧-涓浜-涓夊垎鍦
  79.                 root.right = delete(root.right, smallest);
  80.             } else { // replace root with it's left. From 1point 3acres bbs
  81.                 root = root.left;
  82.             }
  83.         } else if (root.val > val) {
  84.             root.left = delete(root.left, val);
  85.         } else if (root.val < val) {
  86.             root.right = delete(root.right, val);
  87.         }

  88.         return root;
  89.     }
复制代码
电面
第一题是把一个string变成float,string表示形式为
"-5"    => -5.0
"3/4"  => 0.75
"1 3/4"  => 1.75  

.1point3acres缃第二题是一个机器人,在一个matrix里面从左上角到右下角(只能向右或者向下),每个格子有硬币,求最后能拿到的最大硬币值



评分

1

查看全部评分

janice0613 发表于 2016-9-30 02:13:15 | 显示全部楼层
楼主,你的zillow内推了多收到的确认邮件呢?
回复 支持 反对

使用道具 举报

 楼主| bearcat001 发表于 2016-9-30 02:25:06 来自手机 | 显示全部楼层
janice0613 发表于 2016-9-30 02:13
楼主,你的zillow内推了多收到的确认邮件呢?

我记得没太久,应该一周?
回复 支持 反对

使用道具 举报

忆梦前尘 发表于 2016-9-30 03:41:41 | 显示全部楼层
求问LZ投的是zillow什么职位。。。。翻了一下官网university的分类是空的。。
回复 支持 反对

使用道具 举报

 楼主| bearcat001 发表于 2016-9-30 03:47:52 | 显示全部楼层
忆梦前尘 发表于 2016-9-30 03:41
求问LZ投的是zillow什么职位。。。。翻了一下官网university的分类是空的。。
-google 1point3acres
Software Development Engineer New Grad
是内推人帮我选的~
回复 支持 反对

使用道具 举报

忆梦前尘 发表于 2016-9-30 04:46:43 | 显示全部楼层
bearcat001 发表于 2016-9-29 11:47
Software Development Engineer New Grad
是内推人帮我选的~
.1point3acres缃
完蛋了。。。。现在已经没有了。。。
回复 支持 反对

使用道具 举报

wantanintern 发表于 2016-10-1 01:54:36 | 显示全部楼层
谢谢lz分享,我下下周也要店面了,求问lz有看地里面经吗?我搜到的都是去年前年的。。
回复 支持 反对

使用道具 举报

 楼主| bearcat001 发表于 2016-10-1 02:28:56 | 显示全部楼层
wantanintern 发表于 2016-10-1 01:54
谢谢lz分享,我下下周也要店面了,求问lz有看地里面经吗?我搜到的都是去年前年的。。
. more info on 1point3acres.com
我没找到太多面筋~ 我就在刷leetcode
回复 支持 反对

使用道具 举报

wantanintern 发表于 2016-10-1 04:11:19 | 显示全部楼层
可以再问一下是谁面的你吗?谢谢!
回复 支持 反对

使用道具 举报

liguanzhu92 发表于 2016-10-1 04:26:32 | 显示全部楼层
表示翻遍了zillow 真的没有看到Software Development Engineer New Grad 。。。
回复 支持 反对

使用道具 举报

owensharon 发表于 2016-10-4 02:14:00 | 显示全部楼层
首先谢谢楼主分享,电面第二题,看上去这个最后的硬币数是定值?
回复 支持 反对

使用道具 举报

 楼主| bearcat001 发表于 2016-10-4 03:21:43 | 显示全部楼层
owensharon 发表于 2016-10-4 02:14
首先谢谢楼主分享,电面第二题,看上去这个最后的硬币数是定值?
. From 1point 3acres bbs
嗯,固定的~ :D
回复 支持 反对

使用道具 举报

owensharon 发表于 2016-10-6 06:46:07 | 显示全部楼层
还有啊,楼主你的stringToLong的那个代码,似乎合法输出一直都是正数呀,虽然记录了sign,但是没有用起来呢
回复 支持 反对

使用道具 举报

 楼主| bearcat001 发表于 2016-10-6 07:41:12 | 显示全部楼层
wantanintern 发表于 2016-10-1 04:11. 鍥磋鎴戜滑@1point 3 acres
可以再问一下是谁面的你吗?谢谢!

这个我也不记得了 0 - 0
回复 支持 反对

使用道具 举报

 楼主| bearcat001 发表于 2016-10-6 07:41:39 | 显示全部楼层
owensharon 发表于 2016-10-6 06:46
还有啊,楼主你的stringToLong的那个代码,似乎合法输出一直都是正数呀,虽然记录了sign,但是没有用起来呢

0 - 0 你这么一说,好像是... 奇怪,我好像没有在最后处理
回复 支持 反对

使用道具 举报

weisooong 发表于 2016-10-6 13:11:54 | 显示全部楼层
楼主麻烦问一下oa做完多久收到电面邀请的?
回复 支持 反对

使用道具 举报

 楼主| bearcat001 发表于 2016-10-7 01:32:14 | 显示全部楼层
weisooong 发表于 2016-10-6 13:11. visit 1point3acres.com for more.
楼主麻烦问一下oa做完多久收到电面邀请的?

不是很久,应该一周内吧
回复 支持 反对

使用道具 举报

weisooong 发表于 2016-10-7 05:21:42 | 显示全部楼层
bearcat001 发表于 2016-10-7 01:32
不是很久,应该一周内吧

多谢! 字数字数
回复 支持 反对

使用道具 举报

wantanintern 发表于 2016-10-10 03:37:32 | 显示全部楼层
求问lz,电面第一题string是只有那三种形式的吗?谢谢!
回复 支持 反对

使用道具 举报

 楼主| bearcat001 发表于 2016-10-10 06:48:25 | 显示全部楼层
wantanintern 发表于 2016-10-10 03:37. 鍥磋鎴戜滑@1point 3 acres
求问lz,电面第一题string是只有那三种形式的吗?谢谢!

是的~ 面试官说怎么简单怎么来
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2016-12-4 03:48

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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