字符串转置匹配 - 面试Google工程师必问的15道面试题

2015年01月22日 10:54 来源:36氪 作者:boxi 我要评论(0)

标签:Google(56592)工程师(67194)

  8.写一段程序计算出某字符串(/矩阵)是否另一字符串(/矩阵)的旋转(/转置)

  

  挑战:

  这个问题靠的是看你是不是能够灵活掌握一些计算技术的转义。比方说,“strings”一语通常是指由字符、单词或可打印、可见的东西组成的多行字符串。不过同时也可以是矩阵(二维对象)及别的对象。你必须检查看看它是不是可以旋转(转置),然后跟另一个进行对比。

  9.旧金山能容纳多少个气球?

  

  挑战:

  此类问题 Google 的面试官一般都会问到,目的是想看看你设定的“边界条件”是什么样的。这个问题有许多解决方式,可以通过添加限定条件来进行简化—比如说旧金山的面积,这种限定在进行编程的时候是很重要的。

  10. 粘滞位是什么?为什么要用?

  

  挑战:

  粘滞位是一个跟设置和权限有关的系统管理员术语。Google 想测试一下,看看你是否了解一些管理的细节,而不是只会编程。

  11.给出一组整数,值范围在很窄的区间,但是区间未明,如何找出其中位数?

  

  挑战:

  又是一个要你实现聪明的数学技巧的问题,离散数学课你有没有认真听?这可不是什么简单问题。

  12.给出一组区间,找出交集数最多的一个

  

  挑战:

  现在 Google 要你确信知道自己检查的是问题的正确部分,无视没有价值的部分,这样才能够令算法更高效。13.100个整数组成的数组,次序被打乱。其中有一个数被拿掉了,把它找出来

  13.100个整数组成的数组,次序被打乱。其中有一个数被拿掉了,把它找出来

  

  挑战:

  运用另外一个数学技巧可以几行代码搞定。测试的目的是看看你是不是不仅知道用什么办法,还知道如何实现代码。

  14.判断某个数独解决方案是否正确

  

  挑战:

  这个要你想出办法用另一种数学技巧从算术上快速检验解决方案。

  15.给你一支股票的日价,找出一次买卖交易(buy-sell trading)如何操作才会损失最大

  

  挑战:

  这个问题非常棒,你必须竭尽所能,把所有的知识本领都用上。看看边界条件(即挑出变动最大的股票价格点)然后有效地算出波动最大的一次。

  我们能想到的唯一像样一点的办法是暴力计算,把每一个股价都遍历一遍。

上一页12全文

本文导航