一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 1641|回复: 14
收起左侧

Google New Grad Phone Interview

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

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

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

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

x
一听到熟悉的国人口音一下子放松了 人nice题也简单

0.自我介绍


1. 求tree height. 1point 3acres 璁哄潧

2. 求deepest leaf node(height最大的)
. visit 1point3acres.com for more.
3. 求shallowest leaf node(height最小).鏈枃鍘熷垱鑷1point3acres璁哄潧

4. zigzag打印矩阵.鐣欏璁哄潧-涓浜-涓夊垎鍦
e.g.  
input:
a b c
d e f
g h i

output:
adbceghfi

5. Resume

G家HR态度好效率高内推一周给电面 面完第二天给onsite
. From 1point 3acres bbs

评分

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

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

使用道具 举报

yzl232 发表于 2014-12-28 00:41:34 | 显示全部楼层
国人并没有出leetcode题放水。
都是灵活的题目。. 鍥磋鎴戜滑@1point 3 acres
还是楼主实力强
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

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

求攒人品!
回复 支持 反对

使用道具 举报

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 {. from: 1point3acres.com/bbs

  2.     public static List<Integer> zigzagPrint(int[][] board) {
  3.         List<Integer> result = new ArrayList<Integer>();
  4.         int m = board.length;.1point3acres缃
  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) {
  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]);. 1point 3acres 璁哄潧
  15.                 i--;
  16.                 j++;
  17.             }
  18.             result.add(board[i][j]);
  19.             if (i == 0) j++;
  20.             else i++;. visit 1point3acres.com for more.
  21.             while (i + 1 < m && j > 0) {
  22.                 result.add(board[i][j]);
  23.                 i++;. 1point 3acres 璁哄潧
  24.                 j--;
  25.             }
  26.         }
  27.         return result;. 1point 3acres 璁哄潧
  28.     }
  29.     . From 1point 3acres bbs
  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}};. visit 1point3acres.com for more.
  32.         int[][] board = {{1,2,3}, {4,5,6}, {7,8,9}};
  33.         List<Integer> result = zigzagPrint(board);. Waral 鍗氬鏈夋洿澶氭枃绔,
  34.         for (int d : result){
  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) { 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  int n =  matrix.size();.鐣欏璁哄潧-涓浜-涓夊垎鍦
  for(int i = 0; i < 2*n-1; i++) {
    for(int j = 0; j <= min(i,n-1); j++) {
      if (i-j<0 || i-j>=n) {
        continue;
      }
      if (i%2) {. visit 1point3acres.com for more.
        cout<<matrix[j][i-j];
      } else {
        cout<<matrix[i-j][j];. Waral 鍗氬鏈夋洿澶氭枃绔,
      }
    }
  }
  cout<<endl;
}.鐣欏璁哄潧-涓浜-涓夊垎鍦

int main() {
  vector<vector<char>> matrix({{'a','b','c'},{'d','e','f'},{'g','h','i'}});
. From 1point 3acres bbs  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.                 . 1point 3acres 璁哄潧
  14.                 return Math.max(getTreeHeight(root.left), getTreeHeight(root.right)) + 1;
  15.         }
  16.         . 1point 3acres 璁哄潧
  17.        
  18.         private Node res = null;
  19.         private int level = 0;
  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) {. Waral 鍗氬鏈夋洿澶氭枃绔,
  29.                 if (root == null) {
  30.                         return;. 1point 3acres 璁哄潧
  31.                 }.鏈枃鍘熷垱鑷1point3acres璁哄潧
  32.                 if (root.left == null && root.right == null && n > level) {
  33.                         level = n;. 1point 3acres 璁哄潧
  34.                         res = root;
  35.                 }
  36.                 helper(root.left, n + 1);. 1point 3acres 璁哄潧
  37.                 helper(root.right, n + 1);
  38.         } 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  39.         . From 1point 3acres bbs
  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);-google 1point3acres
  47.                 return res2;
  48.         }
  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;.鏈枃鍘熷垱鑷1point3acres璁哄潧
  56.                         res2 = root;. 1point 3acres 璁哄潧
  57.                 }
  58.                 helper(root.left, n + 1);
  59.                 helper(root.right, n + 1);
  60.         }
  61. }
复制代码
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

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

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-6 21:01

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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