一亩三分地论坛

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

一亩三分地官方iOS手机应用下载
查看: 4938|回复: 28
收起左侧

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. {
  6.      /* code goes here to convert a string to a long */
  7. }
  8. void test(). 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  9. {. Waral 鍗氬鏈夋洿澶氭枃绔,
  10. long i = stringToLong("123");. From 1point 3acres bbs
  11. if (i == 123)
  12. // success
  13. else
  14. // failure
  15. }
复制代码
  1. /*. Waral 鍗氬鏈夋洿澶氭枃绔,
  2.      * Complete the function below.. 1point3acres.com/bbs
  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;. visit 1point3acres.com for more.
  11.         int start = 0; // first number. From 1point 3acres bbs
  12. 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  13.         // check sign
  14.         if (str.charAt(start) == '+') {
  15.             isPositive = true;
  16.             start++;
  17.         } else if (str.charAt(start) == '-') {
  18.             isPositive = false;. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
  19.             start++;
  20.         }
  21. . 1point3acres.com/bbs
  22.         // check if valid
  23.         if (start == len || (str.charAt(start) == '0' && start != len - 1)) {. from: 1point3acres.com/bbs
  24.             throw new Exception("Invalid number.");
  25.         }

  26.         for (int i = start; i < len; i++) {. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
  27.             char c = str.charAt(i);
  28.             if (c >= '0' && c <= '9') {
  29.                 if (result > Long.MAX_VALUE / 10) {
  30.                     throw new Exception("Number overflow.");
  31.                 }
  32.                 if (result == Long.MAX_VALUE / 10 && i == len - 1) {
  33.                     if (isPositive && c > '7') {
  34.                         throw new Exception("Number overflow.");
  35.                     } else if (!isPositive && c > '8') {
  36.                         throw new Exception("Number Overflow.");
  37.                     } else if (!isPositive && c == '8') {
  38.                         return Long.MIN_VALUE;
  39.                     }
  40.                 }. 1point 3acres 璁哄潧
  41.                 result = result * 10;. visit 1point3acres.com for more.
  42.                 result += (long) (c - '0');. 1point3acres.com/bbs
  43.             } else {
  44.                 throw new Exception("Invalid number.");. 鍥磋鎴戜滑@1point 3 acres
  45.             }
  46.         }. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷

  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..鐣欏璁哄潧-涓浜-涓夊垎鍦
  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-google 1point3acres
  10. /     /
  11. 2   7
  12. |. From 1point 3acres bbs
  13. 2
复制代码
  1. /* PLEASE DO NOT UNCOMMENT THIS BLOCK

  2. import java.io.IOException;
  3. import java.io.BufferedWriter;-google 1point3acres
  4. import java.io.FileWriter;
  5. import java.util.*;
  6. // No other imports are permitted

  7. // The following definitions of Tree and Node are provided.
  8. // insert and delete will be methods of class Tree.

  9. public class Tree {. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  10.     private class Node {. from: 1point3acres.com/bbs
  11.         private int val;
  12.         private Node left = null;
  13.         private Node right = null;
  14.         private Node mid = null;

  15.         public Node(int val) {
  16.             this.val = val;
  17.         }. 1point 3acres 璁哄潧
  18.     }

  19.     private Node root;.鏈枃鍘熷垱鑷1point3acres璁哄潧
  20. */

  21.     /*
  22.      * Please complete this method.
  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) {. from: 1point3acres.com/bbs
  34.             return;
  35.         } else if (root.val == val) {
  36.             Node curr = root;
  37.             while (curr.mid != null) {
  38.                 curr = curr.mid;
  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);. 1point3acres.com/bbs
  46.             }
  47.         } else if (root.val < val) {
  48.             if (root.right != null) {
  49.                 insert(root.right, val);
  50.             } else {. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  51.                 root.right = new Node(val);
  52.             }
  53.         }. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  54.     }
  55. . 1point 3acres 璁哄潧
  56.     /*
  57.      * Please complete this method.
  58.      * Deletes only one instance of val from the tree.
  59.      * If val does not exist in the tree, do nothing..鐣欏璁哄潧-涓浜-涓夊垎鍦
  60.      */
  61.     public void delete(int val) {
  62.         root = delete(root, val);
  63.     }

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

  89.         return root;. 1point 3acres 璁哄潧
  90.     }
复制代码
电面
第一题是把一个string变成float,string表示形式为
"-5"    => -5.0
"3/4"  => 0.75
"1 3/4"  => 1.75  
.鐣欏璁哄潧-涓浜-涓夊垎鍦
第二题是一个机器人,在一个matrix里面从左上角到右下角(只能向右或者向下),每个格子有硬币,求最后能拿到的最大硬币值
. 1point 3acres 璁哄潧
. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴

评分

2

查看全部评分

janice0613 发表于 2016-9-30 02:13:15 | 显示全部楼层
关注一亩三分地公众号:
Warald_一亩三分地
楼主,你的zillow内推了多收到的确认邮件呢?
回复 支持 反对

使用道具 举报

 楼主| bearcat001 发表于 2016-9-30 02:25:06 来自手机 | 显示全部楼层
关注一亩三分地微博:
Warald
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的分类是空的。。

Software Development Engineer New Grad
是内推人帮我选的~
回复 支持 反对

使用道具 举报

忆梦前尘 发表于 2016-9-30 04:46:43 | 显示全部楼层
bearcat001 发表于 2016-9-29 11:47
Software Development Engineer New Grad
是内推人帮我选的~
. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
完蛋了。。。。现在已经没有了。。。
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

我没找到太多面筋~ 我就在刷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
首先谢谢楼主分享,电面第二题,看上去这个最后的硬币数是定值?

嗯,固定的~ :D
回复 支持 反对

使用道具 举报

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

使用道具 举报

 楼主| bearcat001 发表于 2016-10-6 07:41:12 | 显示全部楼层
wantanintern 发表于 2016-10-1 04:11
可以再问一下是谁面的你吗?谢谢!

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

使用道具 举报

 楼主| bearcat001 发表于 2016-10-6 07:41:39 | 显示全部楼层
owensharon 发表于 2016-10-6 06:46
还有啊,楼主你的stringToLong的那个代码,似乎合法输出一直都是正数呀,虽然记录了sign,但是没有用起来呢
. From 1point 3acres bbs
0 - 0 你这么一说,好像是... 奇怪,我好像没有在最后处理
回复 支持 反对

使用道具 举报

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

使用道具 举报

 楼主| bearcat001 发表于 2016-10-7 01:32:14 | 显示全部楼层
weisooong 发表于 2016-10-6 13:11
楼主麻烦问一下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
求问lz,电面第一题string是只有那三种形式的吗?谢谢!
鏉ユ簮涓浜.涓夊垎鍦拌鍧.
是的~ 面试官说怎么简单怎么来
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2017-4-25 21:09

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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