以下内容来自于应聘者回忆整理
很多同学都想得到谷歌的实习或者校招机会。那从过来人的角度谈谈,要通过谷歌的实习、校招面试,都有哪些经验和注意事项呢?今天就跟大家分享一下。以下答案仅是面试者个人观点,仅供参考。
一、单选
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 的整数数组(元素有正有负),求所有元素之和 最大的一个子数组。分析算法时空复杂度。不必写代码。
想要更多谷歌实习、校招的机会,请点击这里