近期论坛无法登录的解决方案


一亩三分地论坛

 找回密码
 获取更多干活,快来注册

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

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)
  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. 鍥磋鎴戜滑@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;. more info on 1point3acres.com
  15.             start++;
  16.         } else if (str.charAt(start) == '-') {
  17.             isPositive = false;
  18.             start++;.1point3acres缃
  19.         }
  20. . 鍥磋鎴戜滑@1point 3 acres
  21.         // check if valid
  22.         if (start == len || (str.charAt(start) == '0' && start != len - 1)) {
  23.             throw new Exception("Invalid number.");
  24.         }. more info on 1point3acres.com

  25.         for (int i = start; i < len; i++) {
  26.             char c = str.charAt(i);-google 1point3acres
  27.             if (c >= '0' && c <= '9') {. 1point 3acres 璁哄潧
  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.");. Waral 鍗氬鏈夋洿澶氭枃绔,
  34.                     } else if (!isPositive && c > '8') {
  35.                         throw new Exception("Number Overflow.");
  36.                     } else if (!isPositive && c == '8') {. 鍥磋鎴戜滑@1point 3 acres
  37.                         return Long.MIN_VALUE;
  38.                     }
  39.                 }
  40.                 result = result * 10;.鏈枃鍘熷垱鑷1point3acres璁哄潧
  41.                 result += (long) (c - '0');. From 1point 3acres bbs
  42.             } else {
  43.                 throw new Exception("Invalid number.");
  44.             }
  45.         }

  46.         return result;
  47.     }
复制代码
  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.   / | \. 鍥磋鎴戜滑@1point 3 acres
  9. 4  5  9
  10. /     /
  11. 2   7
  12. |
  13. 2
复制代码
  1. /* PLEASE DO NOT UNCOMMENT THIS BLOCK

  2. import java.io.IOException;
  3. import java.io.BufferedWriter;
  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 {
  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.         }. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
  18.     }

  19.     private Node root;
  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.     }-google 1point3acres

  32.     private void insert(Node root, int val) {
  33.         if (root == null) {
  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) {. 鍥磋鎴戜滑@1point 3 acres
  43.                 insert(root.left, val);. visit 1point3acres.com for more.
  44.             } else {
  45.                 root.left = new Node(val);
  46.             } 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  47.         } else if (root.val < val) {
  48.             if (root.right != null) {
  49.                 insert(root.right, val);
  50.             } else {. from: 1point3acres.com/bbs
  51.                 root.right = new Node(val);
    -google 1point3acres
  52.             }
  53.         }
  54.     }

  55.     /*.鐣欏璁哄潧-涓浜-涓夊垎鍦
  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.         }.1point3acres缃
  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) {. visit 1point3acres.com for more.
  72.                 // get most left-bottom one from right subtree
  73.                 Node curr = root.right;
  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);. From 1point 3acres bbs
  80.             } else { // replace root with it's left
  81.                 root = root.left;.鐣欏璁哄潧-涓浜-涓夊垎鍦
  82.             }
  83.         } else if (root.val > val) {. 鍥磋鎴戜滑@1point 3 acres
  84.             root.left = delete(root.left, val);
  85.         } else if (root.val < val) {
  86.             root.right = delete(root.right, val);-google 1point3acres
  87.         }

  88.         return root;. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  89.     }
复制代码
电面
第一题是把一个string变成float,string表示形式为
"-5"    => -5.0
"3/4"  => 0.75
"1 3/4"  => 1.75  .鐣欏璁哄潧-涓浜-涓夊垎鍦
. more info on 1point3acres.com
第二题是一个机器人,在一个matrix里面从左上角到右下角(只能向右或者向下),每个格子有硬币,求最后能拿到的最大硬币值. From 1point 3acres bbs



评分

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的分类是空的。。
.1point3acres缃
Software Development Engineer New Grad
.鏈枃鍘熷垱鑷1point3acres璁哄潧是内推人帮我选的~
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

 楼主| bearcat001 发表于 2016-10-1 02:28:56 | 显示全部楼层
wantanintern 发表于 2016-10-1 01:54
谢谢lz分享,我下下周也要店面了,求问lz有看地里面经吗?我搜到的都是去年前年的。。
. 1point3acres.com/bbs
我没找到太多面筋~ 我就在刷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.1point3acres缃
还有啊,楼主你的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-6-26 22:28

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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