谷歌笔试题(浙大)

 以下内容来自于应聘者回忆整理

很多同学都想得到谷歌的实习或者校招机会。那从过来人的角度谈谈,要通过谷歌的实习、校招面试,都有哪些经验和注意事项呢?今天就跟大家分享一下。以下答案仅是面试者个人观点,仅供参考。

一、单选

1、下列哪个数据结构在优先队列中被最广泛使用?

(A)堆 (B)数组 (C)双向链表 (D)图 (E)向量

2、以下算法描述了一个在 n 国元素的双向链表中找到第 k 个元素的 方法(k >= 1 且 k <= n): 如果 k <= n - k,从链表开始往前进 k-1 个元素。 否则,从终点出发,往回走 n - k 个元素。 这个算法的时间代价是?

(A)θ(nlogn) (B)θ(max{k, n - k}) (C)θ(k + (n - k)) (D)θ(max{k, k - n}) (E)θ(min{k, n - k})

3、下列伪代码中,参数是引用传递,结果是? calc(double p, double q, double r) {q=q-1.0;r=r+p} main(){ double a = 2.5, b = 9.0; calc(b-a, a, a); print(a);

(A)1.5 (B)2.5 (C)10.5 (D)8 (E)6.5

4、求输出结果: int foo(int x, int y){ if(x <=0 || y <= 0) return 1; return 3 * foo(x - 1, y / 2); } printf("%dn", foo(3, 5));

(A)81 (B)27 (C)9 (D)3 (E)1

5、 有一个由 10 个顶点组成的图,每个顶点有 6 个度,那么这个图有几条边?(B)

(A)60 (B)30 (C)20 (D)80 (E)90

解析:由握手定理可知(如果是无向图的话)

6、读取一块数据而准备磁盘驱动器的总时间包括

(A)等待时间 (B)寻道时间 (C)传输时间 (D)等待时间加寻道时间 (E)等待时间加寻道时间加传输时间

7、80x86 中,十进制数-3 用 16 位二进制数表示为

8、正则表达式 L = x*(x|yx+)。下列哪个字符串不符号 L

(A)x (B)xyxyx (C)xyx (D)yxx (E)yx

9、 假定符号-、*、$分别代表减法、乘法和指数运算,且为

(1)三个运算符优先级顺序是:-最高,*其次,$最低;

(2)运算符运算时为左结合。请计算 3-2*4$1*2$3 的值:

(A)4096,(B)-61,(C)64,(D)-80,(E)512

二、算法

1、打印出一个二叉树的内容。

2、在一个字符串中找到第一个只出现一次的字符。如 abaccdeff,输出 b。

3、给定一个长度为 N 的整数数组(元素有正有负),求所有元素之和 最大的一个子数组。分析算法时空复杂度。不必写代码。  

想要更多谷歌实习、校招的机会,请点击这里

  • 1、刺猬实习遵循行业规范,任何转载的稿件都会明确标注作者和来源
  • 2、刺猬实习的原创文章,请转载时务必注明"来源:刺猬实习",不尊重原创的行为刺猬实习或将追究责任
  • 3、作者投稿可能会经刺猬实习编辑修改或补充。

相关推荐