《数据科学面试40+真题讲解》,K神本年度最后一次开课


一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
码农求职神器Triplebyte:
不用海投,内推你去多家公司面试
Airbnb 数据科学职位
in analytics and inference
天天打游戏、照样领工资,
你要不要来?
把贵司招聘信息放这里
查看: 6486|回复: 29
收起左侧

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

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

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

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

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

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
  13. else
  14. // failure
  15. }
复制代码
  1. /*
  2.      * Complete the function below.. 鍥磋鎴戜滑@1point 3 acres
  3.      */
  4.     static long parseLong(String str) throws Exception {
    . 鍥磋鎴戜滑@1point 3 acres
  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;
  18.             start++;
  19.         }

  20.         // check if valid
  21.         if (start == len || (str.charAt(start) == '0' && start != len - 1)) {. more info on 1point3acres.com
  22.             throw new Exception("Invalid number.");
  23.         }

  24.         for (int i = start; i < len; i++) {. 1point 3acres 璁哄潧
  25.             char c = str.charAt(i);
  26.             if (c >= '0' && c <= '9') {
  27.                 if (result > Long.MAX_VALUE / 10) {-google 1point3acres
  28.                     throw new Exception("Number overflow.");
    . visit 1point3acres.com for more.
  29.                 }
  30.                 if (result == Long.MAX_VALUE / 10 && i == len - 1) {
  31.                     if (isPositive && c > '7') {. more info on 1point3acres.com
  32.                         throw new Exception("Number overflow.");
  33.                     } else if (!isPositive && c > '8') {
  34.                         throw new Exception("Number Overflow.");
  35.                     } else if (!isPositive && c == '8') {
  36.                         return Long.MIN_VALUE;
  37.                     }
  38.                 }
  39.                 result = result * 10;
  40.                 result += (long) (c - '0');.鐣欏璁哄潧-涓浜-涓夊垎鍦
  41.             } else {
  42.                 throw new Exception("Invalid number.");
  43.             } 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  44.         }. From 1point 3acres bbs

  45.         return result;
  46.     }
复制代码
  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.. visit 1point3acres.com for more.
  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;
  3. import java.io.BufferedWriter;-google 1point3acres
  4. import java.io.FileWriter;. from: 1point3acres.com/bbs
  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.     /*
  23.      * Please complete this method.
  24.      * Inserts val into the tree.
  25.      */
  26.     public void insert(int val) {. from: 1point3acres.com/bbs
  27.         if (root == null) {
  28.             root = new Node(val);
  29.             return;
  30.         }

  31.         insert(root, val);.1point3acres缃
  32.     }

  33.     private void insert(Node root, int val) {
  34.         if (root == null) {
  35.             return;
  36.         } else if (root.val == val) {. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  37.             Node curr = root;
  38.             while (curr.mid != null) {
  39.                 curr = curr.mid;
  40.             }
  41.             curr.mid = new Node(val);. From 1point 3acres bbs
  42.         } else if (root.val > val) {
  43.             if (root.left != null) {
  44.                 insert(root.left, val);
  45.             } else {
  46.                 root.left = new Node(val);. visit 1point3acres.com for more.
  47.             }
  48.         } else if (root.val < val) {
    . from: 1point3acres.com/bbs
  49.             if (root.right != null) {.1point3acres缃
  50.                 insert(root.right, val); 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  51.             } else {
  52.                 root.right = new Node(val);
  53.             }
  54.         }
  55.     }

  56.     /*
  57.      * Please complete this method.. 鍥磋鎴戜滑@1point 3 acres
  58.      * Deletes only one instance of val from the tree.. more info on 1point3acres.com
  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) {.鏈枃鍘熷垱鑷1point3acres璁哄潧
  65.         if (root == null) {
  66.             return root;
  67.         }. 1point 3acres 璁哄潧
  68.         if (root.val == val) {
  69.             // delete mid
  70.             if (root.mid != null) {
  71.                 root.mid = delete(root.mid, val);
  72.             } else if (root.right != null) {
  73.                 // get most left-bottom one from right subtree. more info on 1point3acres.com
  74.                 Node curr = root.right;. more info on 1point3acres.com
  75.                 while (curr.left != null) {
  76.                     curr = curr.left;
  77.                 }
  78.                 int smallest = curr.val;
  79.                 root.val = smallest;. from: 1point3acres.com/bbs
  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);.鐣欏璁哄潧-涓浜-涓夊垎鍦
  86.         } else if (root.val < val) {
  87.             root.right = delete(root.right, val);. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  88.         }

  89.         return root;
  90.     }
复制代码
电面
第一题是把一个string变成float,string表示形式为 .鐣欏璁哄潧-涓浜-涓夊垎鍦
"-5"    => -5.0
"3/4"  => 0.75 . from: 1point3acres.com/bbs
"1 3/4"  => 1.75  . 1point3acres.com/bbs

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


.鐣欏璁哄潧-涓浜-涓夊垎鍦

评分

3

查看全部评分

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

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-google 1point3acres
可以再问一下是谁面的你吗?谢谢!

这个我也不记得了 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. more info on 1point3acres.com
楼主麻烦问一下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-11-22 15:50

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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