一亩三分地论坛

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

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

谷歌11.30 hanouts面试

[复制链接] |试试Instant~ |关注本帖
ivana 发表于 2015-11-30 22:21:09 | 显示全部楼层 |阅读模式

2015(10-12月) 码农类 硕士 全职@Google - 网上海投 - 技术电面 |Otherfresh grad应届毕业生

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

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

x
刚结束的电面,遇到的是一个白人小哥。
1. 问ArrayList和LinkedList的区别
2. 一个程序跑了很多次每次的结果不一样,问可能的原因
3. 假设你在一个地铁站(地铁站有纸质的时刻表),手上只有一个stopwatch,问如何确定现在的时间?然后写算法。。。。


lz太笨,最后一个问题花了好长时间,最后在小哥的提示之下做出来了。。交了之后发现有bug。。感觉要跪了。。。。求给一个二面机会T T
Wizmann 发表于 2015-11-30 23:26:23 | 显示全部楼层
1. 数组 vs 链表? (不懂Java,大概就是这个东西吧)

2.. 1point 3acres 璁哄潧
(1) 内部机制导致结果不一致
a. 故意的随机
b. 无关紧要的边界条件
(2) 程序设计缺陷导致结果不一致
a. 堆栈变量未初始化.鏈枃鍘熷垱鑷1point3acres璁哄潧
b. 读写非法的内存. 鍥磋鎴戜滑@1point 3 acres
c. 忽略了可能的边界条件或者corner cases
.鏈枃鍘熷垱鑷1point3acres璁哄潧
3. 由时刻表预处理出列车每两趟之间的时间,然后用stopwatch统计K次列车间的时间,然后用KMP匹配一下就好。
回复 支持 反对

使用道具 举报

 楼主| ivana 发表于 2015-11-30 23:52:22 | 显示全部楼层
Wizmann 发表于 2015-11-30 23:26
1. 数组 vs 链表? (不懂Java,大概就是这个东西吧)

2.

沙发好厉害!!!
第二题只想得到random number或者multi-threading,
第三题用了最笨的brute-force查找pattern。。
回复 支持 反对

使用道具 举报

aammyytt 发表于 2015-12-1 00:19:22 | 显示全部楼层
第二題還有可能這樣解答
1. Race Conditions. more info on 1point3acres.com
2.使用外部的變量,這個外部變量可能被別的程序修改
3.可能用到了共享的內存
4.mamory leak
5.可能依賴其他程序的輸出
6.也許用到了外部的API,調用失敗
回复 支持 反对

使用道具 举报

bobzhang2004 发表于 2015-12-1 00:45:55 | 显示全部楼层
请问楼主输入输出是 public  Time (List<Time> timetable, List<Integer> gaps) ?
回复 支持 反对

使用道具 举报

Wizmann 发表于 2015-12-1 01:49:17 | 显示全部楼层
aammyytt 发表于 2015-12-1 00:19
第二題還有可能這樣解答
1. Race Conditions.鐣欏璁哄潧-涓浜-涓夊垎鍦
2.使用外部的變量,這個外部變量可能被別的程序修改

果然我脑洞不够大。。。这种东西很难说全啊感觉。。。
回复 支持 反对

使用道具 举报

snowwolf 发表于 2015-12-1 02:10:16 | 显示全部楼层
第三题不太懂啥意思,第一趟列车来的时候我启动stopwatch然后就看stopwatch不就可以知道时间了吗?
回复 支持 反对

使用道具 举报

 楼主| ivana 发表于 2015-12-1 03:22:01 | 显示全部楼层
bobzhang2004 发表于 2015-12-1 00:45
请问楼主输入输出是 public  Time (List timetable, List gaps) ?

第三题面试官开始只给了一个场景,就是在地铁站有一个秒表,并没有给输入输出,有点像脑经急转弯的形式

最后写code的时候我给出的解法输入输出就是public Time (List timetable, List gaps)了
回复 支持 反对

使用道具 举报

 楼主| ivana 发表于 2015-12-1 03:26:06 | 显示全部楼层
snowwolf 发表于 2015-12-1 02:10. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
第三题不太懂啥意思,第一趟列车来的时候我启动stopwatch然后就看stopwatch不就可以知道时间了吗?

因为并不知道第一趟列车来的时候是几点呀~~没有电子显示牌= =
回复 支持 反对

使用道具 举报

bobzhang2004 发表于 2015-12-1 04:11:51 | 显示全部楼层
写了下代码,欢迎指教。
  1. public class MetroTime {.1point3acres缃
  2.        
  3.         static class Time {.鐣欏璁哄潧-涓浜-涓夊垎鍦
  4.                 int hour;
  5.                 int min;
  6.                 public Time(int hour, int min) {. more info on 1point3acres.com
  7.                         this.hour = hour;
  8.                         this.min = min;
  9.                 }
  10.         }
  11.        
  12.         public static Time getCurrentTime(Time[] times, int[] gaps) {
  13.                 int[] arr = getGaps(times);
  14.                 List<Integer> res = new ArrayList<Integer>();
  15.                 for (int i = 0; i < times.length - gaps.length + 1; i++) {
  16.                         int j = 0;
  17.                         for (; j < gaps.length; j++) {
  18.                                 if (arr[i + j] != gaps[j]) {
  19.                                         break;
  20.                                 }
  21.                         }
  22.                         if (j == gaps.length) {
  23.                                 res.add(i + j - 1);
  24.                         }
  25.                 }
  26.                
  27.                 return res.size() == 1? times[res.get(0) + 1]: null;
  28.         }
  29. . 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷

  30.         private static int[] getGaps(Time[] times) {
  31.                 int[] res = new int[times.length - 1];
    .1point3acres缃
  32.                 for (int i = 0; i < times.length - 1; i++) {
  33.                         res[i] = (times[i + 1].hour * 60+ times[i + 1].min) - ( times[i].hour * 60 + times[i].min);. From 1point 3acres bbs
  34.                 }
  35.                 return res;
  36.         }
  37.        
  38.         public static void main(String[] args) {. from: 1point3acres.com/bbs
  39.                 Time[] times = {new Time(10, 5), new Time(10, 10), new Time(10, 20), new Time(10, 30), new Time(10, 45)};
  40.                 int[] gaps = {10, 10};
  41.                 Time time = getCurrentTime(times, gaps);
  42.                 System.out.println(time.hour + " : " + time.min);
  43.         }

  44. }
复制代码
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2016-12-4 16:24

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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