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


一亩三分地论坛

 找回密码
 获取更多干活,快来注册
Babeltime游戏工作室招工程师、美术和策划
Tubi TV招安卓、前端和机器学习工程师
把贵司招聘信息放这里
查看: 2255|回复: 14
收起左侧

Google New Grad Phone Interview

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

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

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

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

x
一听到熟悉的国人口音一下子放松了 人nice题也简单 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
. 1point3acres.com/bbs
0.自我介绍


1. 求tree height

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

3. 求shallowest leaf node(height最小)

4. zigzag打印矩阵
e.g.  
input:
a b c
d e f
g h i

. more info on 1point3acres.comoutput:.1point3acres缃
adbceghfi

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面确实简单。-google 1point3acres
onsite比较难。

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

我45min一共就一题,做完以后面试官稍微改了改变得比较复杂,就让我说说思路就没再继续了。。。. 鍥磋鎴戜滑@1point 3 acres

求攒人品!
回复 支持 反对

使用道具 举报

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-google 1point3acres
为什么那个zigzag a 之后是d,应该是b比较合理感觉

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

使用道具 举报

javaprogrammer 发表于 2015-12-25 12:46:43 | 显示全部楼层
第四题,zigzag 打印. From 1point 3acres bbs

  1. public class ZigzagPrintMatrix {

  2.     public static List<Integer> zigzagPrint(int[][] board) {. visit 1point3acres.com for more.
  3.         List<Integer> result = new ArrayList<Integer>();
  4.         int m = board.length;
  5.         if (m == 0 || board[0].length == 0) return result;. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  6.         int n = board[0].length;-google 1point3acres
  7.         int i = 0, j = 0;-google 1point3acres
  8.         while (i < m && j < n) {
  9.             result.add(board[i][j]);
  10.             if (i + 1 < m) i++;
  11.             else if (j + 1 < n) j++;
  12.             else break;
  13.             while (i > 0 && j + 1 < n) {
  14.                 result.add(board[i][j]);. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  15.                 i--;. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
  16.                 j++;
  17.             }
  18.             result.add(board[i][j]);. more info on 1point3acres.com
  19.             if (i == 0) j++;
  20.             else i++;
  21.             while (i + 1 < m && j > 0) {
  22.                 result.add(board[i][j]);
  23.                 i++;
  24.                 j--;
  25.             }
  26.         }
  27.         return result;
  28.     }
  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}};. Waral 鍗氬鏈夋洿澶氭枃绔,
  33.         List<Integer> result = zigzagPrint(board);
  34.         for (int d : result){.鏈枃鍘熷垱鑷1point3acres璁哄潧
  35.             System.out.print(d + " ");
  36.         }
  37.         System.out.println();
  38.     }
  39. }
复制代码
回复 支持 反对

使用道具 举报

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

使用道具 举报

e6175423 发表于 2015-12-27 18:10:17 | 显示全部楼层
void zigzagPrint(vector<vector<char> > matrix) {.鏈枃鍘熷垱鑷1point3acres璁哄潧
  int n =  matrix.size();
  for(int i = 0; i < 2*n-1; i++) {
    for(int j = 0; j <= min(i,n-1); j++) {-google 1point3acres
      if (i-j<0 || i-j>=n) {
        continue;
      }
      if (i%2) {
        cout<<matrix[j][i-j];
      } else {
        cout<<matrix[i-j][j];
      }
    }
  }
  cout<<endl;
}
. From 1point 3acres bbs
int main() {
  vector<vector<char>> matrix({{'a','b','c'},{'d','e','f'},{'g','h','i'}});
  zigzagPrint(matrix);. 1point3acres.com/bbs
}
回复 支持 反对

使用道具 举报

bobzhang2004 发表于 2016-1-31 11:24:02 | 显示全部楼层
写了下代码,应该最浅node应该用bfs会好些.鏈枃鍘熷垱鑷1point3acres璁哄潧
  1. public class TreeQuestions {
  2.        
  3.         class Node {
  4.                 int val;
  5.                 Node left;.1point3acres缃
  6.                 Node right;
  7.         }-google 1point3acres
  8.        
  9.         public int getTreeHeight(Node root) {
  10.                 if (root == null) {. more info on 1point3acres.com
  11.                         return 0;
  12.                 }
  13.                
  14.                 return Math.max(getTreeHeight(root.left), getTreeHeight(root.right)) + 1;
  15.         }
  16.        
  17.        
  18.         private Node res = null;.鏈枃鍘熷垱鑷1point3acres璁哄潧
  19.         private int level = 0;
  20.         public Node getDeepestLeafNode(Node root) {. From 1point 3acres bbs
  21.                 if (root == null) {
  22.                         return null;. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  23.                 }
  24.                 helper(root, 1);
  25.                 return res;. from: 1point3acres.com/bbs
  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) {. visit 1point3acres.com for more.
  33.                         level = n;
  34.                         res = root;
  35.                 }
  36.                 helper(root.left, n + 1);
  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);.1point3acres缃
  47.                 return res2;.鐣欏璁哄潧-涓浜-涓夊垎鍦
  48.         }
    .1point3acres缃
  49.        
  50.         public void helper2(Node root, int n) {
  51.                 if (root == null || n >= level2) {
  52.                         return;
  53.                 }
  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-9-21 18:47

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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