传说中的谷歌招聘委员会成员之一,从幕后走出来,教你学系统设计!


一亩三分地论坛

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

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

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

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

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

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

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). visit 1point3acres.com for more.
  5. {
  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
  13. else
  14. // failure-google 1point3acres
  15. }
复制代码
  1. /*. visit 1point3acres.com for more.
  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;. 1point 3acres 璁哄潧
  11.         int start = 0; // first number

  12. -google 1point3acres
  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璁哄潧
  22.         // check if valid
    . visit 1point3acres.com for more.
  23.         if (start == len || (str.charAt(start) == '0' && start != len - 1)) {
  24.             throw new Exception("Invalid number.");-google 1point3acres
  25.         }

  26.         for (int i = start; i < len; i++) {
  27.             char c = str.charAt(i);
  28.             if (c >= '0' && c <= '9') {.鏈枃鍘熷垱鑷1point3acres璁哄潧
  29.                 if (result > Long.MAX_VALUE / 10) {
  30.                     throw new Exception("Number overflow.");
  31.                 }. 1point 3acres 璁哄潧
  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.");. Waral 鍗氬鏈夋洿澶氭枃绔,
  37.                     } else if (!isPositive && c == '8') {
  38.                         return Long.MIN_VALUE;
  39.                     }
  40.                 }
  41.                 result = result * 10;
  42.                 result += (long) (c - '0');
  43.             } else {.鏈枃鍘熷垱鑷1point3acres璁哄潧
  44.                 throw new Exception("Invalid number.");
  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.. 1point 3acres 璁哄潧
  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. /     /. from: 1point3acres.com/bbs
  11. 2   7
  12. |. 1point 3acres 璁哄潧
  13. 2
复制代码
  1. /* PLEASE DO NOT UNCOMMENT THIS BLOCK

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

  7. // The following definitions of Tree and Node are provided.
    .鏈枃鍘熷垱鑷1point3acres璁哄潧
  8. // insert and delete will be methods of class Tree.

  9. public class Tree {
  10.     private class Node {. 鍥磋鎴戜滑@1point 3 acres
  11.         private int val;
  12.         private Node left = null;-google 1point3acres
  13.         private Node right = null;. Waral 鍗氬鏈夋洿澶氭枃绔,
  14.         private Node mid = null;
  15. . Waral 鍗氬鏈夋洿澶氭枃绔,
  16.         public Node(int val) {
  17.             this.val = val;
  18.         }
  19.     } 鏉ユ簮涓浜.涓夊垎鍦拌鍧.

  20.     private Node root;
  21. */
  22. . 1point 3acres 璁哄潧
  23.     /*
  24.      * Please complete this method.
  25.      * Inserts val into the tree.
  26.      */
  27.     public void insert(int val) {
  28.         if (root == null) {
  29.             root = new Node(val);
  30.             return;
  31.         }.1point3acres缃

  32.         insert(root, val);. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  33.     }

  34.     private void insert(Node root, int val) {. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  35.         if (root == null) {
  36.             return;
  37.         } else if (root.val == val) {.1point3acres缃
  38.             Node curr = root;. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
  39.             while (curr.mid != null) {
  40.                 curr = curr.mid;
  41.             }
  42.             curr.mid = new Node(val);
  43.         } else if (root.val > val) {. 1point 3acres 璁哄潧
  44.             if (root.left != null) {
  45.                 insert(root.left, val);.1point3acres缃
  46.             } else {
  47.                 root.left = new Node(val);.鏈枃鍘熷垱鑷1point3acres璁哄潧
  48.             }
  49.         } else if (root.val < val) {
  50.             if (root.right != null) {
  51.                 insert(root.right, val); 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  52.             } else {
  53.                 root.right = new Node(val);
  54.             }
  55.         }
  56.     }

  57.     /*
  58.      * Please complete this method.
  59.      * Deletes only one instance of val from the tree..鐣欏璁哄潧-涓浜-涓夊垎鍦
  60.      * If val does not exist in the tree, do nothing.
  61.      */
  62.     public void delete(int val) {
  63.         root = delete(root, val);
  64.     }

  65.     private Node delete(Node root, int val) {. visit 1point3acres.com for more.
  66.         if (root == null) {
  67.             return root;
  68.         }
  69.         if (root.val == val) {
  70.             // delete mid
  71.             if (root.mid != null) {
  72.                 root.mid = delete(root.mid, val);
  73.             } else if (root.right != null) {
  74.                 // get most left-bottom one from right subtree
  75.                 Node curr = root.right;
  76.                 while (curr.left != null) {
  77.                     curr = curr.left;
  78.                 }. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
  79.                 int smallest = curr.val;
  80.                 root.val = smallest;
  81.                 root.right = delete(root.right, smallest);
  82.             } else { // replace root with it's left
  83.                 root = root.left;
  84.             }
  85.         } else if (root.val > val) {
  86.             root.left = delete(root.left, val);
  87.         } else if (root.val < val) {
  88.             root.right = delete(root.right, val);
  89.         }.1point3acres缃
  90. . 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  91.         return root;
  92.     }
复制代码
电面 . 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
第一题是把一个string变成float,string表示形式为 . 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
"-5"    => -5.0
. more info on 1point3acres.com "3/4"  => 0.75
"1 3/4"  => 1.75  

第二题是一个机器人,在一个matrix里面从左上角到右下角(只能向右或者向下),每个格子有硬币,求最后能拿到的最大硬币值
鏉ユ簮涓浜.涓夊垎鍦拌鍧.
. 鍥磋鎴戜滑@1point 3 acres

评分

2

查看全部评分

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

使用道具 举报

 楼主| 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的分类是空的。。

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-google 1point3acres
谢谢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,但是没有用起来呢
鏉ユ簮涓浜.涓夊垎鍦拌鍧.
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是只有那三种形式的吗?谢谢!

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

使用道具 举报

本版积分规则

关闭

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

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

custom counter

GMT+8, 2017-9-26 06:38

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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