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


一亩三分地论坛

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

Google New Grad Phone Interview

[复制链接] |试试Instant~ |关注本帖
tenliu 发表于 2014-12-4 08:04:24 | 显示全部楼层 |阅读模式

2014(10-12月) 码农类 硕士 全职@Google - 内推 - 技术电面 |Pass

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

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

x
一听到熟悉的国人口音一下子放松了 人nice题也简单. visit 1point3acres.com for more.

0.自我介绍


1. 求tree height

2. 求deepest leaf node(height最大的)

3. 求shallowest leaf node(height最小)
-google 1point3acres
4. zigzag打印矩阵. more info on 1point3acres.com
e.g.  
input:
.鐣欏璁哄潧-涓浜-涓夊垎鍦a b c
d e f
g h i

output:
adbceghfi.1point3acres缃

5. Resume

G家HR态度好效率高内推一周给电面 面完第二天给onsite

评分

2

查看全部评分

suonan 发表于 2014-12-4 09:05:24 | 显示全部楼层
楼主大牛啊,电面问了这么多题! 祝onsite顺利~~
回复 支持 反对

使用道具 举报

teedoo 发表于 2014-12-4 09:40:45 | 显示全部楼层
请问楼主zigzag那道题用了extra memory了吗
回复 支持 反对

使用道具 举报

 楼主| tenliu 发表于 2014-12-5 06:48:43 | 显示全部楼层
teedoo 发表于 2014-12-4 09:40
请问楼主zigzag那道题用了extra memory了吗

没阿 就暴力解 先下1 再右上直到顶(上或右) 再右1 再左下直到底(左或下) 再考虑下corner case就好
回复 支持 反对

使用道具 举报

averillzheng 发表于 2014-12-28 00:02:31 | 显示全部楼层
google的phone面确实简单。.1point3acres缃
onsite比较难。.1point3acres缃

有钱就是任性。
回复 支持 反对

使用道具 举报

yzl232 发表于 2014-12-28 00:41:34 | 显示全部楼层
国人并没有出leetcode题放水。
都是灵活的题目。
还是楼主实力强
回复 支持 反对

使用道具 举报

applepie11 发表于 2014-12-28 01:20:39 | 显示全部楼层
第一题跟第二题有啥区别?? 基本都leetcode吧。。
回复 支持 反对

使用道具 举报

kwang75 发表于 2014-12-29 03:22:04 | 显示全部楼层
lz怎么能答了这么多题。。。-google 1point3acres

我45min一共就一题,做完以后面试官稍微改了改变得比较复杂,就让我说说思路就没再继续了。。。. 1point3acres.com/bbs

求攒人品!
回复 支持 反对

使用道具 举报

ekco 发表于 2015-1-2 11:42:06 | 显示全部楼层
lz真的是好多题啊
回复 支持 反对

使用道具 举报

legendava 发表于 2015-1-6 13:44:40 | 显示全部楼层
为什么那个zigzag a 之后是d,应该是b比较合理感觉
回复 支持 反对

使用道具 举报

munez26 发表于 2015-1-7 13:32:18 | 显示全部楼层
legendava 发表于 2015-1-6 13:44
为什么那个zigzag a 之后是d,应该是b比较合理感觉

有两种走法,可以先走b. 这种的话,应该是abdgecfhi
回复 支持 反对

使用道具 举报

javaprogrammer 发表于 2015-12-25 12:46:43 | 显示全部楼层
第四题,zigzag 打印

  1. public class ZigzagPrintMatrix {

  2.     public static List<Integer> zigzagPrint(int[][] board) { 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  3.         List<Integer> result = new ArrayList<Integer>();
  4.         int m = board.length;. From 1point 3acres bbs
  5.         if (m == 0 || board[0].length == 0) return result;
  6.         int n = board[0].length;
  7.         int i = 0, j = 0;
  8.         while (i < m && j < n) {. visit 1point3acres.com for more.
  9.             result.add(board[i][j]);
  10.             if (i + 1 < m) i++;
  11.             else if (j + 1 < n) j++;
  12.             else break;. From 1point 3acres bbs
  13.             while (i > 0 && j + 1 < n) {
  14.                 result.add(board[i][j]);
  15.                 i--;
  16.                 j++;. 鍥磋鎴戜滑@1point 3 acres
  17.             }
  18.             result.add(board[i][j]);
  19.             if (i == 0) j++;
  20.             else i++;. 1point3acres.com/bbs
  21.             while (i + 1 < m && j > 0) {
  22.                 result.add(board[i][j]);
  23.                 i++;
  24.                 j--; 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  25.             }
  26.         }
  27.         return result;
  28.     }.鏈枃鍘熷垱鑷1point3acres璁哄潧
  29.    
  30.     public static void main(String[] args) {
  31.      //  int[][] board = {{1,2,3,4,5}, {6,7,8,9,1}, {2,3,4,5,6}};
  32.         int[][] board = {{1,2,3}, {4,5,6}, {7,8,9}};. From 1point 3acres bbs
  33.         List<Integer> result = zigzagPrint(board);
  34.         for (int d : result){. 鍥磋鎴戜滑@1point 3 acres
  35.             System.out.print(d + " ");
  36.         }
  37.         System.out.println();. from: 1point3acres.com/bbs
  38.     }
  39. }
复制代码
回复 支持 反对

使用道具 举报

rosalind324 发表于 2015-12-26 12:36:03 | 显示全部楼层
除了第四题 都是Leetcode原题啊~
回复 支持 反对

使用道具 举报

e6175423 发表于 2015-12-27 18:10:17 | 显示全部楼层
void zigzagPrint(vector<vector<char> > matrix) {
  int n =  matrix.size();
  for(int i = 0; i < 2*n-1; i++) {-google 1point3acres
    for(int j = 0; j <= min(i,n-1); j++) {
      if (i-j<0 || i-j>=n) {
        continue;
      }
      if (i%2) {
        cout<<matrix[j][i-j];. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
      } else {
        cout<<matrix[i-j][j];
      }
    }
  }-google 1point3acres
  cout<<endl;
}

int main() {
  vector<vector<char>> matrix({{'a','b','c'},{'d','e','f'},{'g','h','i'}});
  zigzagPrint(matrix);
}
回复 支持 反对

使用道具 举报

bobzhang2004 发表于 2016-1-31 11:24:02 | 显示全部楼层
写了下代码,应该最浅node应该用bfs会好些
  1. public class TreeQuestions {. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  2.        
  3.         class Node {
  4.                 int val;
  5.                 Node left;
  6.                 Node right;
  7.         }
  8.        
  9.         public int getTreeHeight(Node root) {
  10.                 if (root == null) {
  11.                         return 0;
  12.                 }
  13.                
  14.                 return Math.max(getTreeHeight(root.left), getTreeHeight(root.right)) + 1;. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
  15.         }. 1point 3acres 璁哄潧
  16.        
  17.        
  18.         private Node res = null;
  19.         private int level = 0;. visit 1point3acres.com for more.
  20.         public Node getDeepestLeafNode(Node root) {
  21.                 if (root == null) {
  22.                         return null;
  23.                 }
  24.                 helper(root, 1);
  25.                 return res;
  26.         }
  27.        
  28.         public void helper(Node root, int n) { 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  29.                 if (root == null) {
  30.                         return;
  31.                 }
  32.                 if (root.left == null && root.right == null && n > level) {
  33.                         level = n;
  34.                         res = root;
  35.                 }.1point3acres缃
  36.                 helper(root.left, n + 1);. more info on 1point3acres.com
  37.                 helper(root.right, n + 1);
  38.         }
  39.        
  40.         private Node res2 = null;
  41.         private int level2 = Integer.MAX_VALUE;
  42.         public Node getShallowestLeafNode2(Node root) {
  43.                 if (root == null) {
  44.                         return null;
  45.                 }
  46.                 helper2(root, 1);
  47.                 return res2;
  48.         } 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  49.        
  50.         public void helper2(Node root, int n) {
  51.                 if (root == null || n >= level2) {
  52.                         return;
  53.                 }.鏈枃鍘熷垱鑷1point3acres璁哄潧
  54.                 if (root.left == null && root.right == null && n < level2) {
  55.                         level2 = n;
  56.                         res2 = root;
  57.                 }
  58.                 helper(root.left, n + 1); 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  59.                 helper(root.right, n + 1);
  60.         }
  61. }
复制代码
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

custom counter

GMT+8, 2017-11-19 00:10

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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