聊聊在私立文理读cs的两年感受

一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
E轮2.5亿美元融资
K12教育独角兽一起作业
北京-诚聘人工智能/教育/大数据岗
坐标湾区
Games Startup
招聘游戏开发工程师
游戏初创公司招聘工程师、UIUX Designer和游戏策划
码农求职神器Triplebyte:
不用海投
内推多家公司面试
把贵司招聘信息放这里
查看: 3378|回复: 19
收起左侧

Google On-Campus 两轮

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

2015(7-9月) 码农类General 硕士 实习@Google - 校园招聘会 - 校园招聘会  | Other | fresh grad应届毕业生

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

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

x
On campus两轮:

(1) Give flights with start and end time. Find maximum number of simultaneous flights. 秒杀 - 先排序start 和 end time(需要标记下类别),maintain一个counter,遇到一次start type的time加一,反之减一,记录遇到的最大值。
(2) Give pairs of {time, word}, design an algorithm that preserves words within past X seconds, removing those expired. Also print CURRENT word. 一开始以为要打印出所有past X seconds的words,直接上了deque和unordered_set。后来才知道只需print出current word,但却忘了更改数据结构。之后改成deque + unordered_map,最后感觉是做到了,但不顺畅。面完后想了下,其实用一个queue就行了(因为只需打印current word),顿时冒了身冷汗。。。关键是queue里可存 {word, time} pairs,同样的word因为不同的time可以在queue里出现超过一次,因此不需要hashmap。.本文原创自1point3acres论坛

第二轮面试时也问了喜欢的语言和自己在那语言最挑战/不擅长的地方。我答了C++的memory allocation,他问用过smart pointers吗,我说知道但没用过。

因第二轮表现不佳,另加一轮面试(还没面)。攒下RP,求水过。

评分

1

查看全部评分

 楼主| crimsonfaith91 发表于 2015-10-23 03:41:44 | 显示全部楼层
jobseeking,第一个3会存成{3,end},第二个3会存成{3,start}。然后可以用operator overloading的方式customize sorting criteria。面试官让我自己选,我当时把start放在end之前。
[1,3],[2,4],[2,5],[5,6]里的2就break tie,后面算时依旧会正确。
. visit 1point3acres for more.
推荐看下LintCode的 Number of Airplanes in the Sky: http://www.lintcode.com/en/problem/number-of-airplanes-in-the-sky/
回复 支持 1 反对 0

使用道具 举报

wzhwawhxm 发表于 2015-9-30 00:52:12 | 显示全部楼层
楼主,为什么这两道题,我一眼看过去都没看懂题目要干什么,可以再具体叙述下吗
第一题,simultaneous的意思是start一样就行了是吗? 还是start和end都一样
第二题,那个Paris是一秒只能放进去一个,还是一秒可以放无数个, time是直接获取当前计算机时间吗
回复 支持 反对

使用道具 举报

 楼主| crimsonfaith91 发表于 2015-9-30 01:23:27 | 显示全部楼层
第一题:更加精准的词应该是overlapping,找出flight重叠的最大值。例如[1, 3],[2, 4],[5, 6]。答案是2,因为[2,3]时有 2 flights。
第二题:一秒可以放进去多个。Time是positive integers,不需读取计算机时间。
回复 支持 反对

使用道具 举报

mileschen2008 发表于 2015-9-30 10:43:10 | 显示全部楼层
crimsonfaith91 发表于 2015-9-30 01:23
第一题:更加精准的词应该是overlapping,找出flight重叠的最大值。例如[1, 3],[2, 4],[5, 6]。答案是2,因 ...

print current word 是啥一次,是指当前这一秒的所有words,还是最近的那个word?
回复 支持 反对

使用道具 举报

 楼主| crimsonfaith91 发表于 2015-9-30 10:50:27 | 显示全部楼层
最新的word。个人觉得打印最新的word蛮怪的(没技术含量),但面试官要求也没办法。这也就是为何到后面不需要用hashmap记载。。
回复 支持 反对

使用道具 举报

pigmightfly 发表于 2015-9-30 11:18:43 | 显示全部楼层
刚收到google on campus interview的邀请。。
问下楼主,google on campus过后还需要 on-site 吗?
回复 支持 反对

使用道具 举报

 楼主| crimsonfaith91 发表于 2015-9-30 11:33:13 | 显示全部楼层
找实习不需要。
Mobile Apps Category (English)728x90
回复 支持 反对

使用道具 举报

pigmightfly 发表于 2015-9-30 21:06:37 | 显示全部楼层

是full-time 全职需要吗?
回复 支持 反对

使用道具 举报

 楼主| crimsonfaith91 发表于 2015-10-1 00:29:48 | 显示全部楼层
需要的。加油!:)
回复 支持 反对

使用道具 举报

caffery24 发表于 2015-10-21 11:06:49 | 显示全部楼层
求问楼主第二题。。。就是是设计一个什么呢?是会给你一个时间大小x,然后只保留现在的时间到x之间输入的数吗?然后再输出现在的时间输入的所有数字?
回复 支持 反对

使用道具 举报

caffery24 发表于 2015-10-21 11:10:18 | 显示全部楼层
这个只需要打印current,那直接加入前打印了,然后就把queue中time不符合的输出,再把这秒的加进去???是不是我的想法太天真了。。。
回复 支持 反对

使用道具 举报

 楼主| crimsonfaith91 发表于 2015-10-21 23:05:29 | 显示全部楼层
caffery24, 你的想法应该是正确的。我当时把问题想得太复杂了。感觉问题一开始会简单点,然后难度会随着follow-ups增加。
回复 支持 反对

使用道具 举报

arjiang 发表于 2015-10-22 01:53:55 | 显示全部楼层
(2) what's the point of preserving many words if you only need print last one? How about just keep the latest word and it's time. If time older than X seconds, don't print it, otherwise print.
回复 支持 反对

使用道具 举报

 楼主| crimsonfaith91 发表于 2015-10-22 02:29:00 | 显示全部楼层
arjiang, the interviewer wants to print the last word, but also wants to know which words are within the indicated time duration.
回复 支持 反对

使用道具 举报

jobseeking 发表于 2015-10-22 15:16:40 | 显示全部楼层
不太理解第一题哦,如果输入是[1,3],[3,4],[5,6],如何标记3?是start还是end?. 牛人云集,一亩三分地

补充内容 (2015-10-22 15:17):
[1,3],[2,4],[2,5],[5,6]呢?
回复 支持 反对

使用道具 举报

jobseeking 发表于 2015-10-23 08:41:28 | 显示全部楼层
Thanks, BTW, I am going to post my code here:
  1. /**
  2. * Definition of Interval:
  3. * public classs Interval {
  4. *     int start, end;
  5. *     Interval(int start, int end) {. from: 1point3acres
  6. *         this.start = start;
  7. *         this.end = end;
  8. *     }
  9. */

  10. class Solution {
  11.     /**
  12.      * @param intervals: An interval array
  13.      * @return: Count of airplanes are in the sky.
  14.      */. Waral 博客有更多文章,
  15.     public int countOfAirplanes(List<Interval> airplanes) {
  16.         // write your code here
  17.         List<Point> list = new ArrayList<Point>();
  18.         for (Interval interval : airplanes) {
  19.             list.add(new Point(true, interval.start));
  20.             list.add(new Point(false, interval.end));
  21.         }
  22.         Collections.sort(list, new Comparator<Point> () {
  23.             public int compare(Point o1, Point o2) {
  24.                 if (o1.time == o2.time) {
  25.                     return o1.isStart ? 1 : -1;
  26.                 } else {
  27.                     return o1.time - o2.time;. 1point 3acres 论坛
  28.                 }
  29.             }
  30.         });
  31.         int counter = 0;
  32.         int max = 0;
  33.         for (Point p : list) {
  34.             if (p.isStart) {
  35.                 counter ++; 来源一亩.三分地论坛.
  36.             } else {
  37.                 counter --;
  38.             }
  39.             max = Math.max(max, counter);
  40.         }
  41.         return max;
  42.     }
  43.    
  44.     private static class Point {
  45.         private boolean isStart;
  46.         private int time;
  47.         public Point(boolean isStart, int time) {
  48.             this.time = time;
  49.             this.isStart = isStart; 来源一亩.三分地论坛.
  50.         }
  51.     }
  52. }. more info on 1point3acres
复制代码
回复 支持 反对

使用道具 举报

 楼主| crimsonfaith91 发表于 2015-10-23 08:44:01 来自手机 | 显示全部楼层
job seeking, looks good to me. :)
回复 支持 反对

使用道具 举报

jobseeking 发表于 2015-10-23 09:05:47 | 显示全部楼层
楼主最后面的好吗?希望一切顺利
回复 支持 反对

使用道具 举报

 楼主| crimsonfaith91 发表于 2015-10-23 10:05:45 来自手机 | 显示全部楼层
一般,哈哈。谢谢!
回复 支持 反对

使用道具 举报

本版积分规则

提醒:发帖可以选择内容隐藏,部分板块支持匿名发帖。请认真读完以下全部说明:

■隐藏内容方法: [hide=200]你想要隐藏的内容比如面经[/hide]
■意思是:用户积分低于200则看不到被隐藏的内容
■可以自行设置积分值,不建议太高(200以上太多人看不到),也不建议太低(那就没必要隐藏了)
■建议只隐藏关键内容,比如具体的面试题目、涉及隐私的信息,大部分内容没必要隐藏。
■微信/QQ/电子邮件等,为防止将来被骚扰甚至人肉,以论坛私信方式发给对方最安全。
■匿名发帖的板块和方法:http://www.1point3acres.com/bbs/thread-405991-1-1.html

关闭

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

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

custom counter

GMT+8, 2018-5-21 23:29

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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