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


一亩三分地论坛

 找回密码
 获取更多干活,快来注册
天天打游戏、照样领工资、还办H1B
这份工作你要不要?
把贵司招聘信息放这里
查看: 1769|回复: 15
收起左侧

Pocket Gem Intern 电面一轮 跪经

[复制链接] |试试Instant~ |关注本帖
jjdddn1 发表于 2016-2-23 07:58:46 | 显示全部楼层 |阅读模式

2016(1-3月) 码农类 硕士 实习@Pocket Gem - 网上海投 - 技术电面 |Failfresh grad应届毕业生

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

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

x
两分钟前刚结束,稳稳的已跪。 题不难,但是LZ就是脑子抽搐了连 ArrayList 的set 都忘了....1point3acres缃

两道题:第一题:
Sort array
In the object-oriented language of your choice, write a function that takes as input an array (or equivalent data structure) of objects. These objects are black boxes; you don’t know anything about them, except that they have a priority. The priority can take one of four values: 0, 1, 2, or 3. Your function must sort the array in place by priority. The function must run in O(N) time and O(1) extra space.
*/
enum Priority {
  PRIORITY_ZERO = 0, PRIORITY_ONE = 1, PRIORITY_TWO = 2, PRIORITY_THREE = 3
}
public class Thing : SuperThing {
  Priority getPriority();. from: 1point3acres.com/bbs
}
// 10323201 -> 00112233
public void sortPriority( ArrayList < Thing > things ) {
// write hear
}


第二题: Inorder Successor in BST
父母节点。 我都没问道follow up. 没有父母节点怎么办....
我觉得我的思路还是立马想出来了...
但是平时用eclipse 太多被惯坏了..
然后...


已跪妥妥的了。各位大神加油吧。我闭关反思去了。. 鍥磋鎴戜滑@1point 3 acres




. more info on 1point3acres.com




补充内容 (2016-2-23 08:30):
刚收到邮件...果然已跪

评分

3

查看全部评分

xiaozhuxiaozhu 发表于 2016-2-23 08:04:58 | 显示全部楼层
public void sortPriority( ArrayList < Thing > things ) {.1point3acres缃

}
回复 支持 反对

使用道具 举报

xiaozhuxiaozhu 发表于 2016-2-23 08:20:58 | 显示全部楼层
  1.                 ArrayList<Integer> EbayPractice = new ArrayList<Integer>();
  2.                 int one =0;
  3.                 int two=0;. visit 1point3acres.com for more.
  4.                 int zero =0;
  5.                 EbayPractice.addAll(Arrays.asList(1,0,3,2,3,2,0,1,3));. from: 1point3acres.com/bbs
  6.                 for(int i=0;i<EbayPractice.size();i++)
  7.                 {
  8.                         if(EbayPractice.get(i)==0)
  9.                         {
  10.                                 zero++;
  11.                         }
  12.                         else if(EbayPractice.get(i)==1)
  13.                         {
  14.                                 one++;
  15.                         }. Waral 鍗氬鏈夋洿澶氭枃绔,
  16.                         else if(EbayPractice.get(i)==2). 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  17.                         {
  18.                                 two++;. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
  19.                         }

  20.                 }
  21.                 for(int i=0;i<EbayPractice.size();i++)
  22.                 {.鏈枃鍘熷垱鑷1point3acres璁哄潧
  23.                         if(i<zero). 1point 3acres 璁哄潧
  24.                         {
  25.                                 EbayPractice.set(i, 0);.1point3acres缃
  26.                         }
  27.                         else if (i<zero+one)
  28.                         {
  29.                                 EbayPractice.set(i, 1);
  30.                         }
  31.                         else if(i<zero+one+two)
  32.                         {. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
  33.                                 EbayPractice.set(i, 2);
  34.                         }
  35.                         else
  36.                         {
  37.                                 EbayPractice.set(i, 3);. 1point3acres.com/bbs
  38.                         }
  39.                 }
复制代码
.1point3acres缃

first question.
回复 支持 反对

使用道具 举报

 楼主| jjdddn1 发表于 2016-2-23 08:23:57 | 显示全部楼层
xiaozhuxiaozhu 发表于 2016-2-23 08:20. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
first question.

这题不能更改object. 所以算法可能不太一样...
我用的是两次循环...第一次排0,3,第二次排1 或 2....
回复 支持 反对

使用道具 举报

xiaozhuxiaozhu 发表于 2016-2-23 08:24:25 | 显示全部楼层
第2题,啥是没有父母节点?

  1.         class TreeNode{
  2.                 int value;
  3.                 TreeNode left;. 1point 3acres 璁哄潧
  4.                 TreeNode right;
  5.                 TreeNode(int value). visit 1point3acres.com for more.
  6.                 {
  7.                         this.value = value;.鐣欏璁哄潧-涓浜-涓夊垎鍦
  8.                 }
  9.         }
  10.        
  11.         public TreeNode EbayPractice_inorderSuc(TreeNode root, TreeNode p) {
  12.             TreeNode s = null;. from: 1point3acres.com/bbs
  13.             while (root != null) {
  14.                 if (p.value < root.value) {
  15.                     s = root;
  16.                     root = root.left;
  17.                 }
  18.                 else
  19.                     root = root.right;
  20.             }
  21.             return s;
  22.         }
复制代码
回复 支持 反对

使用道具 举报

xiaozhuxiaozhu 发表于 2016-2-23 08:28:23 | 显示全部楼层
jjdddn1 发表于 2016-2-23 08:23
这题不能更改object. 所以算法可能不太一样...
我用的是两次循环...第一次排0,3,第二次排1 或 2....

没有更改object阿。
arraylist.set只是把index 换了-google 1point3acres
比如
你有2个object
index 0 = priority_two;
index 1 =  priority_one;
我走一遍for loop,然后count一共多少个one 和two.
这种情况1个one,1个two,
我把原来的arraylist, index 0变成是priority_one, index 1 变成priority_two.
并没有改变每个object的reference 值。
Fisher–Yates shuffle 算法用来shuffle cards,就是这个方法阿,只不过那个是random generate a index for the each card
回复 支持 反对

使用道具 举报

 楼主| jjdddn1 发表于 2016-2-23 08:28:39 | 显示全部楼层
xiaozhuxiaozhu 发表于 2016-2-23 08:24
第2题,啥是没有父母节点?

第二题:
/*
next largest node in bst

We have a BST where each node has pointers to its two children AND to its parent. Given a node in the BST, find the next largest node in the BST, e.g. if all the nodes were sorted by value in ascending order, it would be the next on the sorted list.

      5
  3       8
1   4   6   9

1 -> 3
4 -> 5. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
9 -> null
. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴*/

public Node {
    Node left;
    Node right;
    Node parent;
    int value;
}. more info on 1point3acres.com
.鐣欏璁哄潧-涓浜-涓夊垎鍦
/*
    Returns the next largest node of the tree containing the specified node..1point3acres缃
    Returns null if the specified node is the largest node in its tree.-google 1point3acres
*/
Node next_largest( Node node ) {}
回复 支持 反对

使用道具 举报

whdawn 发表于 2016-2-23 08:31:02 | 显示全部楼层
求问 LZ 网申了多久有的回应
回复 支持 反对

使用道具 举报

 楼主| jjdddn1 发表于 2016-2-23 08:31:18 | 显示全部楼层
xiaozhuxiaozhu 发表于 2016-2-23 08:28
没有更改object阿。 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
arraylist.set只是把index 换了
比如

就是说... object 的priority 是不能改的
回复 支持 反对

使用道具 举报

 楼主| jjdddn1 发表于 2016-2-23 08:33:10 | 显示全部楼层
whdawn 发表于 2016-2-23 08:31
求问 LZ 网申了多久有的回应

一周吧,
2月7号申的,12号拿到OA,18号拿到Interview,今日一轮跪了。
回复 支持 反对

使用道具 举报

whdawn 发表于 2016-2-23 08:36:49 | 显示全部楼层
jjdddn1 发表于 2016-2-22 19:33
一周吧,.鐣欏璁哄潧-涓浜-涓夊垎鍦
2月7号申的,12号拿到OA,18号拿到Interview,今日一轮跪了。

这么快。。。patpat,现在机会还多,别太灰心~
回复 支持 反对

使用道具 举报

shiloh00 发表于 2016-2-23 08:41:00 | 显示全部楼层
pocket gem的题比我想象的简单- -他们都说bar很高的  早知道就找个内推了
回复 支持 反对

使用道具 举报

xiaozhuxiaozhu 发表于 2016-2-23 09:09:49 | 显示全部楼层
jjdddn1 发表于 2016-2-23 08:31
就是说... object 的priority 是不能改的

明白你的意思了,我写错了,你的方法是对的。
回复 支持 反对

使用道具 举报

小鱼妹妹 发表于 2016-3-9 07:39:36 | 显示全部楼层
楼主的面试官是谁呀~
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

custom counter

GMT+8, 2017-9-24 00:52

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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