回复: 19
跳转到指定楼层
上一主题 下一主题
收起左侧

10月23日onsite面试

全局:

2016(10-12月) 码农类General 硕士 全职@google - 内推 - Onsite  | | Pass | 应届毕业生

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

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
报一个google onsite的面经, 攒攒攒攒攒人品,回报地里!
面的时间比较久远了,其中经历也有点小波折。
10月23号面的,一共四轮(虽然我也很好奇为什么我只有四轮,具体原因我也不太清楚)
第一轮
上来就是OOD的题目。让我设计一个手机的打字输入法,然后我蒙了一下就开始巴拉巴拉扯,说了下Trie树,然后写了一点interface,面试官问怎么样improve搜索的efficiency,然后我说就把可能的word都存起来,放在trie的node里边,然后他提了几个这样做的不足,然后我就说另外弄一个map存一下每个word的出现频率之类的提高效率。最后再用pointer来节省空间。
您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
没有过,现在想想觉得要是大家觉得自己简历不够strong还是找人推比较合适。
下午recruiter打了电话 告诉我hiring committe通过了,接下来还有一大堆流程。然后组match,请问地里的各位,这一阶段是不是还有风险啊,比如说组没有match上还是有可能挂掉?
保佑正式 offer快快来,攒攒攒人品,希望大家也一帆风顺!


上一篇:Twitter SF 面经
下一篇:Snapchat 面经

本帖被以下淘专辑推荐:

全局:
写了下sort array a*x^2 + bx + c的代码,这题代码量也不少啊。。。
  1. public class SortSortedArray {

  2.         public static void main(String[] args) {
  3.                 int[] arr = {-5, -3, -1, 0, 4, 9, 11, 13};
  4.                 int[] res = sortSortedArray(arr, -1, 2, 0);
  5.                 for (int i : res) {
  6.                         System.out.print(i + " ");
  7.                 }
  8.         }
  9.         public static int[] sortSortedArray(int[] arr, int a, int b, int c) {
  10.                 int pivot = -b / (2 * a);
  11.                 int[] res = new int[arr.length];
  12.                 int index = findPivot(arr, pivot);
  13.                 int left = index;
  14.                 int right = index + 1;
  15.                 boolean faceUp = true;
  16.                 if (a < 0) {
  17.                         faceUp = false;
  18.                 }
  19.                 int pos = 0;
  20.                 if (faceUp) {
  21.                         while (left >= 0 && right < arr.length) {
  22.                                 if (getResult(arr[left], a, b, c) > getResult(arr[right], a, b, c)) {
  23.                                         res[pos++] = getResult(arr[right], a, b, c);
  24.                                         right++;
  25.                                 } else {
  26.                                         res[pos++] = getResult(arr[left], a, b, c);
  27.                                         left--;
  28.                                 }
  29.                         }
  30.                         while (left >= 0) {
  31.                                 res[pos++] = getResult(arr[left], a, b, c);
  32.                                 left--;
  33.                         }
  34.                         while (right < arr.length) {
  35.                                 res[pos++] = getResult(arr[right], a, b, c);
  36.                                 right++;
  37.                         }
  38.                 } else {
  39.                         pos = res.length - 1;
  40.                         while (left >= 0 && right < arr.length) {
  41.                                 if (getResult(arr[left], a, b, c) > getResult(arr[right], a, b, c)) {
  42.                                         res[pos--] = getResult(arr[left], a, b, c);
  43.                                         left--;
  44.                                 } else {
  45.                                         res[pos--] = getResult(arr[right], a, b, c);
  46.                                         right++;
  47.                                 }
  48.                         }
  49.                         while (left >= 0) {
  50.                                 res[pos--] = getResult(arr[left], a, b, c);
  51.                                 left--;
  52.                         }
  53.                         while (right < arr.length) {
  54.                                 res[pos--] = getResult(arr[right], a, b, c);
  55.                                 right++;
  56.                         }
  57.                 }
  58.                 return res;
  59.         }

  60.         private static int getResult(int i, int a, int b, int c) {
  61.                 return a * i * i + b * i + c;
  62.         }

  63.         private static int findPivot(int[] arr, int pivot) {
  64.                 int start = 0;
  65.                 int end = arr.length - 1;
  66.                 while (start + 1 < end) {
  67.                         int mid = (end - start) / 2 + start;
  68.                         if (arr[mid] == pivot) {
  69.                                 return mid;
  70.                         } else if (arr[mid] > pivot) {
  71.                                 end = mid;
  72.                         } else {
  73.                                 start = mid;
  74.                         }
  75.                 }
  76.                 if (arr[end] <= pivot) {
  77.                         return end;
  78.                 } else {
  79.                         return start;
  80.                 }
  81.         }
  82. }
复制代码
回复

使用道具 举报

推荐
 楼主| hhllryslh 2015-11-18 09:52:57 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
回复

使用道具 举报

推荐
queeniejing 2015-11-19 05:14:01 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
回复

使用道具 举报

🔗
queeniejing 2015-11-18 09:33:01 | 只看该作者
全局:
谢谢LZ分享, 走迷宫那题能具体说下做法吗?
回复

使用道具 举报

🔗
宝贝忆彼岸 2015-11-18 10:31:19 | 只看该作者
全局:
请问第三轮的哪个扫描线是只能两两overlap吗还是说会出现[1,10],[2,7],[3,11]这种?
回复

使用道具 举报

🔗
 楼主| hhllryslh 2015-11-18 12:01:22 | 只看该作者
全局:
宝贝忆彼岸 发表于 2015-11-18 10:31
请问第三轮的哪个扫描线是只能两两overlap吗还是说会出现[1,10],[2,7],[3,11]这种?

是都可以overlap哦,会出现[1,10],[2,7],[3,11]这样的情况
回复

使用道具 举报

🔗
宝贝忆彼岸 2015-11-18 12:06:46 | 只看该作者
全局:
hhllryslh 发表于 2015-11-18 12:01
是都可以overlap哦,会出现[1,10],[2,7],[3,11]这样的情况

哦哦,感觉有点难,我只想到brute force。。。请问lz是怎么答的?
回复

使用道具 举报

🔗
 楼主| hhllryslh 2015-11-18 14:11:30 | 只看该作者
全局:
就是得自己建一个struct 里边有它端点数值 和bool表示它是否是start,然后放在priority queue里边一个一个pop出来 发现一个start就加一 发现一个end就减一 然后得维持一个pair里边存放的就是overlap的段
回复

使用道具 举报

🔗
宝贝忆彼岸 2015-11-18 14:19:40 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
回复

使用道具 举报

🔗
queeniejing 2015-11-18 15:13:11 | 只看该作者
全局:
hhllryslh 发表于 2015-11-18 09:52
就是
得定义一个 Point struct
struct Point{

谢谢LZ 只要走到出口就行了吗? 还是要求最短路径或者其他的什么?
回复

使用道具 举报

🔗
 楼主| hhllryslh 2015-11-18 15:32:55 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

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