谷歌12.07二面

原帖地址:一亩三分地

第一轮面试面的不是很好,很幸运HR又给了一次机会加面一轮。贴个面经来回馈一下地里面经的熏陶
鏉ユ簮涓憨.涓夊垎鍦拌鍧
面试问了两个题目:

1. 给了一个office每个员工的出勤状况,现在需要自动控制办公室的灯,有人的时候需要亮着,没有人的时候关闭,输出一个自动灯控制的程序。
比如:X表示出勤,O表示不在的情况。
A: XXOOOOOXXXXXX
B: OOOOOOOOOXXX
Output: XXOOOOOXXXXXX
这个题目比较简单,直接建立一个matrix按列扫描看该列是否有出勤的人即可。

2. 第一题的follow up:现在假设每个人的时间表的长度是不固定的,设计一个数据结构存储每个人的出勤状况,并且输出一个自动灯控制的程序。
第二题最开始的想法是用哈希表存86400秒的出勤状况,面试官说空间复杂度太高,提示说不需要中间每个点都存。最后给出的解法就是存一个数据结构Interval记录每个出勤状况的enter time和exit time,输入存成一个List>, 输出是List。其实就是leetcode merge intervals的变形题目了。

两个题目做完30分钟左右,追问了一下时间复杂度,还有一些ArrayList, LinkedList之类的基础问题。全程和面试官沟通的比较愉快。

楼主面的是欧洲的职位,两轮面试的时候遇到的题目都是感觉题目比较实际,面试官都是给出一个场景,让自己想输入输出,还挺有趣的。想请教一下地里的各位,请问这是谷歌的风格吗,还是只是欧洲的部门有这样的习惯呢?