GT背靠背onsite

Google
因为暑假在G家实习过,所以仅仅是简单面了2轮。

后来跟曾经的intern host吃饭得知,他和还有一个reviewer对我的实习工作都给了不错的评价,所以面试的时候面试官都放水了。题目出得异常简单,每题都是10行代码搞定的那种。

1轮
1. 实现一个hangman游戏,给定一个词作为答案,然后进行推測。推測的时候仅仅知道这个词的长度。每次能够从26个字母里的猜一个字母,假设该单词存在该字母,这些字母都会明白出在单词中的位置,而且能够进行下一轮推測,否则算错。假设一共错了六次就不能再猜了。怎样能够最大化猜对的几率。

比如答案为hangman。一開始的字符串为"*******",假设猜n,正确,能够显现"**n***n",再猜a,正确,能够显现"*an**an"

我用的DFS。依照字典里字母出现频率由高往低去猜。
2. 给一个List<Integer>,去除全部的偶数,要求仅仅扫一遍而且不使用额外空间。Follow up是怎样generalize这个函数,做成一个library。第二问假设用c++写就用template,而且把推断奇偶的那个部分做成函数指针(C++11里还能够用bind)。或者用virtual function

假设用java,就泛型 + abstract method

第2轮
这个证明了面试没有最水,仅仅有更水。。

。 两个问题各自是:1)实现pow(int a, int b)2)比較DFSBFS


Twitter:
问题都不难。因为签了NDA,这里就不透露细节了。
1.      质数问题变种。
2.      各种sampling的问题,大数据的,分布式的。
3.      LeetCode原题:Clone a linkedlist with random pointers。
4.      设计怎样分布式存储tweets。包含保持排序性质什么的。
5.      字符串匹配问题。都还没涉及到什么fancy的方法比如KMP什么的时间就完了。
6.      设计一个Timer class。
预计因为项目经历。非常多问题最后都延伸到了分布式实现和用MapReduce实现。

原文地址:https://www.cnblogs.com/tlnshuju/p/6869561.html