Google New Grad 两轮电面经历分享

2019-04-13 13:32发布

两周前在网上看到谷歌软件工程师的招聘信息,然后投了简历。到现在已经进行了两轮电面。虽然这目前进行了的两轮电面表现没达到自己预期,但所幸通过,目前在等待进一步的面试通知。 严格来说,这次面试是我经历的第一次正式面试,所以电面一面时较紧张,加之面试官的性子不是很活络,我在面试过程中也略沉默,所以感觉一面表现的非常不理想。二面的面试官比较nice,在面试过程中也有进行适当提点,加上一面的经验,二面表现总体有所提升。 两轮电面除了一些基础性问题外,就是问了算法题,但这些算法题总体难度不高。

电面1:

先做自我介绍,然后按简历上所列的项目被问了几个技术性问题。问题不难,主要考察是否了解所做项目。 A代表一个集合2,3,5,6,7,9,10,写作[(2,3),(5,7),(9,10)]
B代表另一个集合1,2,3,5,6,7,8,9,10,写作[(1,3),(5,10)]
这些列表总是具有以下特性:
1.按照升序排列
2.尽可能的合并
i.e. 永远无法看到[(1,3),(4,5)],因为会合并为[(1,5)]
当我们拿到一个新的ID,我们需要将它添加到set中,编写一个函数,将这个数字添加到这些集合中的一个,同时保持上述特性。

电面2:

1、二分查找 Lintcode原题:http://www.lintcode.com/zh-cn/problem/first-position-of-target/ 参考答案:http://www.jiuzhang.com/solutions/first-position-of-target/ 2、找到数组中的重复元素 Lintcode原题:http://www.lintcode.com/zh-cn/problem/find-the-duplicate-number/ 参考答案:http://www.jiuzhang.com/solutions/find-the-duplicate-number/ 另外被询问了所写代码的时间复杂度,并讨论了该如何提高代码的时间复杂度。 考虑到接下来的onsite对算法的考察可能会越发看重,接下来会将主要准备精力花在刷 lintcode 和总结经验上,愿一切顺利。 目前就这些,过段时间如果Onsite通过的话会来继续补充。