面试Google工程师必看的15个另类题目

1/16
Google有很多另类的面试题目,大多涉及计算和逻辑问题。以下的15个题目均出自美国职场互动网站Glassdoor,有想要面试Google的同学注意啦! 英文原文地址:http://www.businessinsider.com/15-mind-bending-interview-questions-that-every-google-engineer-can-answer-2012-1
2/16
难点:这是个开放性的问题,目的是观察工程师是否会定义参数。 首先看编程语言是否是汇编语言? 如果是,那么你得从头开发出一套基本运算。如果不是,那就简单了,因为大部分语言都支持算术运算。
3/16
难点:这是Google面试题的一个大趋势:找出解决问题的有效办法。 合并两个链表会导致链表之间发生“冲突”。 所以必须找出一种算法快速消除这些冲突。
4/16
难点:Google也会让你解决一些数学问题。 这些题目的目的是让工程师对问题进行有效的思考,而不是只知道编写代码。 需要你实现一个绝妙的数学技巧。
5/16
难点:这是著名的数学问题——旅行商问题的一个衍变。 这个数学问题需要拓展你的思路,而不是找出其中的技巧。 解题方法是在节点间画线,但是无论你从哪里开始,永远不要回到原点。
6/16
难点:事实上每个术语都有特定的含义。 Google的目的是想看看你知不知道这些术语。 例如,Finalize处理的是“无用单元收集(Garbage Collection)”,而Finally则是针对一个特定的异常。
7/16
难点:最根本的问题是,这一题目能否在有限的时间内解决。 这样的问题通常可以依靠蛮力解决,但这有可能永远都无法解决。
8/16
难点:这类问题有很多解决方法,这完全取决于你选择的算法。 Google正在寻找能选出最快算法的工程师。
9/16
难点: 这个问题是要扩展你对现有计算翻转的认识。 例如,“strings”一词通常是指由字母、单词组成的行或者可打印可见的字符串。同时它还可以表示矩阵(二维对象)或者其他类型的对象。 你必须检查它是不是可以翻转,然后跟现有的字符串进行对比。
10/16
难点: 此类问题Google的面试官是想了解你是如何设定“边界条件”的。 这个问题有很多方法可以解决,可以通过增加限定条件来简化题目。例如,旧金山的面积,这对于编程非常重要。
11/16
难点:这是系统管理员应该知道的有关设置和权限的术语。 Google想测试你是否了解一些管理的细节,而不是只会编程。
12/16
难点:这个问题同样要求你实现一个数学技巧,即需要精通离散数学的技巧。 这可不是一个容易的题目。
13/16
难点:这个题目Google要求你明确自己检查的是问题的正确部分,忽视没有价值的部分,这样才能够使算法更加高效。
14/16
难点:运用另外一个数学技巧可以使用几行代码解决这个问题。 测试的目的不仅是你是否知道使用什么方法解决问题,还要知道如何通过代码来实现。
15/16
难点:这个问题要求你想办法用另一种数学技巧从算术上快速检验数独答案。
16/16
难点:这个问题非常好,你必须竭尽所能,把事情做好。 查看边界条件(即挑出波动最大的股票)然后算出最大的波动。 我唯一能想到的方法是蛮力计算,把每一个股票都算一遍。