“普通废物”通过精心收集,向本站投稿了8篇google笔试,下面小编给大家整理后的google笔试,欢迎阅读!
- 目录
篇1:google笔试
google笔试大全
今年10月底,Google在美国《麻省技术评论》、《LinuxJournal》、《Mensa》、《今日物理》等几本专业杂志上刊登了一份“Google实验室能力倾向测试”的试卷,开头蛊惑地写着“试试看!把答案寄回Google,你有希望去Google总部参观,并成为我们其中一员”,有兴趣的人可以做完了邮寄给Google公司,也许会得到一个工作机会呢。
1、解答下面的隐藏等式,其中的M和E的值可以互换,但不允许第一位是0: WWWDOT - GOOGLE = DOTCOM
2、用一个俳句(一种日本短诗,每句有一个与季节有关的词)来建立模型,借
此预测网络搜索流量的季节性变化;
3、
1
1
2 1
1 2 1 1
1 1 1 2 2 1
下一行是什么?
4、你正处于一个全部由崎岖小路构成的迷宫里,手里有一个满是灰尘的笔记本,可以无线上网,但是信号很弱。与此同时,一些阴森可怕、毫无生气的妖怪在你身边游荡。你会怎么做呢?
(1)毫无目的的四处游荡,到处碰壁,直到被迷宫里的妖怪吃掉。
(2)用笔记本作为挖掘工具,打穿地面直接进入下一关。
(3)玩网络游戏《魔法骑兵》,直至电池耗尽,你也心灰意冷。
(4)使用笔记本画出迷宫的节点地图,找到出路。
(5)发送简历给Google,告诉主管妖怪你选择退出,随后你就回到现实世界,
5、Unix有何缺陷?你准备如何补救?
6、在Google工作的第一天,你发现身边的同事竟然是研究生一年级课本的.作
者,你会:
(1)主动示好并索取签名。
(2)不改变坐姿,但放轻打字声音,避免影响她的工作和思考。
(3)把你每天的麦片和咖啡都留给她享用。
(4)在她所写的书中找到你最喜欢的内容,并告诉她这些内容已经成为你的座
右铭。
7、下列哪句话最贴切的表达了Google的企业文化?
(1)我感到很幸运。
(2)不要干坏事。
(3)哦,我已经解决了那个问题。
(4)你身边50英寸之内,必定能找到食物。
(5)以上皆是。
8、用3种颜色为20面体上色,每个面一种颜色,有多少种组合?你会选择哪些
颜色?
9、下面是故意留出的空白,请将其填满,使之看起来不那么空。
10、用1欧姆的电阻组成无限大的两维矩阵,“象棋跳马步”(“日”字对角点
)两点之间的电阻是多少?
11、现在是星期日下午2点,你正在旧金山著名的湾区。你可以选择去国家公
园的红杉林里徒步旅行,或者参观城市里的文化景观。你会怎么做?
12、你认为最美的数学等式是什么?
13、下列哪个团体没有在Google员工中形成?
篇2:Google笔试经历
Google笔试经历
从没有找工作经历的我今天参加了Google的笔试,本来还自我感觉良好呢,谁知道考题那是嗷嗷不会啊,
考的几乎都是算法,指针特别的多,不过时间太久不用了都忘记了,数据结构的也不少,考了队列,还有一些编译原理的.题,关于表达式的;
三道大题第一个还蛮简单,是向双向列表插入一个节点,第二个问题比较恶心,判断A字符串中的各个字符数目是否不大于B字符串中的各个字符数目,由于没时间了就没写完,第三题更是相当及其以及特别的恶心,找到整数数组中满足A*B=C的元素,而且要更优的,算了半天的时间复杂度还是没写出来,
还是忙该忙的事吧,眼看期末考试了,不能挂课,加油!!!
篇3:google笔试经验
google最新笔试经验
俺本来发文的目的是说下笔试题,想想还是不说了,想知道的可以私下跟俺讨论,题目不难,全做对也不容易,不过错个两三道基本也就kaka了,考察得很全面,算法+数据结构+操作系统+编译原理+网络+离散数学,还居然考了个中断。
笔试之前的宣讲会,略有收获。获知Google全球共有员工1左右,其中总部8000左右,而google中国,北京195,上海45,台北35,而在一年前这一数字分别是北京100,上海20(这个没记准确),台北10。我得到的唯一结论:google中国还差的'远啊,不知道开复能把它做成什么样子,应该不会撤摊子吧。
这是第二次笔试,作个记录,以备日后参考,题目另行记录。
1、两个二进制数的异或结果
2、递归函数最终会结束,那么这个函数一定(不定项选择):
1. 使用了局部变量
2. 有一个分支不调用自身
3. 使用了全局变量或者使用了一个或多个参数
3、以下函数的结果?
int cal(int x)
{
if(x==0)
return 0;
else
return x+cal(x-1);
}
4、以下程序的结果?
void foo(int*a, int* b)
{
*a = *a+*b;
*b = *a-*b;
*a = *a-*b;
}
void main
{
int a=1, b=2, c=3;
foo(&a,&b);
foo(&b,&c);
foo(&c,&a);
printf(“%d, %d, %d”, a,b,c);
}
5、下面哪项不是链表优于数组的特点?
1. 方便删除 2. 方便插入 3. 长度可变 4. 存储空间小
6、T(n) = 25T(n/5)+n^2的时间复杂度?
7、n个顶点,m条边的全连通图,至少去掉几条边才能构成一棵树?
8、正则表达式(01|10|1001|0110)*与下列哪个表达式一样?
1.(0|1)* 2.(01|01)* 3.(01|10)* 4.(11|01)* 5.(01|1)*
9、如何减少换页错误?
1. 进程倾向于占用CPU
2. 访问局部性(locality of reference)满足进程要求
3. 进程倾向于占用I/O
4.使用基于最短剩余时间(shortest remaining time)的调度机制
5. 减少页大小
10、实现两个N*N矩阵的乘法,矩阵由一维数组表示
11、找到单向链表中间那个元素,如果有两个则取前面一个
12、长度为n的整数数组,找出其中任意(n-1)个乘积最大的那一组,只能用乘法,不可以用除法,
要求对算法的时间复杂度和空间复杂度作出分析,不要求写程序。
篇4:Google笔试经验
Google笔试经验
Google笔试是没有门槛的,这样说是因为Google根本没有限制笔试的人数,开了N个教室,让N多人参加……不过笔试本身却有门槛,看了题目就知道。
本来想上午写写的,但是,嗯,出于攒人品的目的,还是等到现在才写——现在,面试通知已经发过,很显然我又被无视了……OK,那也不错,我也没怎么准备这些东西呢,倒不是说我不重视,而是事情太多……唔,多少算是一种经验了。
回来说说昨天的笔试。题目的量并不大,除了几个单选题,剩下就是三个编程或算法题。单选就不说了,考得比较基础,涉及C语言常识、数据结构、文法、操作系统,主要说说大题。
大题虽然题型不一,但都有一个重要特点:考递归。精确点说,我每一题都用到了递归。
第一个的题目(嗯,记的不是很完整):
在一棵(排序?)二叉树中搜索指定值,数据结构定义为(唉唉,数据结构的具体名字都不记得了,my god):
struct Node
{
Node * lnext;
Node * rnext;
int value;
};
函数定义为(情况同上,啥都记不清了):
Node * search(Node * root, int value)
{
}
实现这个search函数。
用递归,经典的树的遍历,pass先。
第二个的题目:
计算Tribonaci队列(嗯,九成九记错了那个单词……),规则是T(n) = T(n - 1) + T(n - 2) + T(n -3),其中T(0) = T(1) = 1,T(2) = 2。
函数定义:
int Tribonaci(int n) {
}
备注,不考虑证整数溢出,尽可能优化算法。
这一题我一看就知道要考什么,很显然的递归定义,但也是很显然的,这里所谓的优化是指不要重复计算。
简单的说,在计算T(n)的`时候要用到T(n - 1)、T(n - 2)和T(n - 3)的结果,在计算T(n - 1)的时候也要用到T(n - 2)和T(n - 3)的结果,所以在各项计算的时候必须把以前计算的结果记录下来,去掉重复计算。这里用到的一点小技巧就是要新写一个函数用来做这种事情,嗯,看看我写的代码吧!
*//**
Get the value of T(n - 1), and retrieve the result of
T(n - 2) and T(n - 3).
@param[in] n The n in T(n).
@param[out] mid Value of T(n - 2).
@param[out] right Value of T(n - 3).
@return Value of T(n - 1).
*/
int find_trib(int n, int & mid, int & right)
{
if (3 == n)
{
mid = 1;
right = 1;
return 2;
}
else
{
int temp;
mid = find_trib(n - 1, right, temp);
return mid + right + temp;
}
}
/**
Find value of T(n).
@param[in] The n in T(n).
@return Value of T(n).
@note T(n) = T(n - 1) + T(n - 2) + T(n - 3) (n >2)
T(0) = T(1) = 1, T(2) = 2.
if (0 == n || 1 == n)
{
return 1;
}
if (2 == n)
{
return 2;
}
int mid, right;
int left = find_trib(n, mid, right);
return left + mid + right;
}
啊啊,对了,答卷的时候我可没心情写注释……刚才到VC.Net 上测试了一下,貌似没有啥问题,
唉,看来我多少还是懂一点算法的……
第三个的题目:
在一个无向图中,寻找是否有一条距离为K的路径,描述算法即可,不用实现,分析算法的时间和空间复杂度,尽量优化算法。
OK,这个就是传说中的软肋了………………我也就不把自己的答案写出来了(丢人啊),虽然后来仔细想想,我那个挫挫的方法也能够用……只是效率……
That's all.
int tribonaci(int n)
{
if (n < 0)
{
// Undefined feature.
return 0;
}
篇5:Google笔试(附笔试题)
Google笔试(附笔试题)
1、两个二进制数的异或结果
2、递归函数最终会结束,那么这个函数一定(不定项选择):
1. 使用了局部变量
2. 有一个分支不调用自身
3. 使用了全局变量或者使用了一个或多个参数
3、以下函数的结果?
int cal(int x)
{
if(x==0)
return 0;
else
return x cal(x-1);
}
4、以下程序的结果?
void foo(int*a, int* b)
{
*a = *a *b;
*b = *a-*b;
*a = *a-*b;
}
void main
{
int a=1, b=2, c=3;
foo(a,b);
foo(b,c);
foo(c,a);
printf(%d, %d, %d, a,b,c);
}
5、下面哪项不是链表优于数组的特点?
1. 方便删除 2. 方便插入 3. 长度可变 4. 存储空间小
6、T(n) = 25T(n/5) n^2的时间复杂度?
7、n个顶点,m条边的全连通图,至少去掉几条边才能构成一棵树?
8、正则表达式(01|10|1001|0110)*与下列哪个表达式一样?
1.(0|1)* 2.(01|01)* 3.(01|10)* 4.(11|01)* 5.(01|1)*
9、如何减少换页错误?
1. 进程倾向于占用CPU
2. 访问局部性(locality of reference)满足进程要求
3. 进程倾向于占用I/O
4.使用基于最短剩余时间(shortest remaining time)的调度机制
5. 减少页大小
10、实现两个N*N矩阵的.乘法,矩阵由一维数组表示
11、找到单向链表中间那个元素,如果有两个则取前面一个
12、长度为n的整数数组,找出其中任意(n-1)个乘积最大的那一组,只能用乘法,不可以用除法,
Google笔试(附笔试题)
,要求对算法的时间复杂度和空间复杂度作出分析,不要求写程序。篇6:Google笔试的败笔
1 超级失败的1:说8点开始,考试时间100分钟 ,怎么算都是9:10交卷;9点一到匆匆交卷了,晚上躺床上才发现错也;
2 超级失败的2:把自个的生日又记错了;
3 怕怕的发现:发现mm还是超级可怕滴,眼睁睁看着一个骗局,哎,也得谨慎些以防上当受骗啊;
题目如下:
T( 0 ) = 1 ; T(1)=1;T(2)=2;T(n)=T(n-1)+T(n-2)+T(n-3);
用最优方式求T(n) ;
int?T(int?n)?{
}
可以用最熟悉的语言写
在考场的第一个做法
?1 public ? class ?T? {
?2 ? public ? int ?t( int ?n) {
?3 ?? if ?(n? == ? 0 )? {
?4 ??? return ? 1 ;
?5 ??} ? else ? if ?(n? == ? 1 )? {
?6 ??? return ? 1 ;
?7 ??} ? else ? if ?(n? == ? 2 )? {
?8 ??? return ? 2 ;
?9 ??} ? else ? {
10 ??? return ?t(n - 1 )? + ?t(n - 2 )? + ?t(n - 3 );
11 ??} ?
12 ?}
13 }
当时发现时间够用,进行了公式推理,但未得出规律的真谛
每个都与T(3)可以直接发生关系,关系是2的幂次方,但最终没有得出公式
遂改进如下:
?1 public ? class ?T? {
?2 ? public ? int ?t( int ?n) {
?3 ?? if ?(n? == ? 0 )? {
?4 ??? return ? 1 ;
?5 ??} ? else ? if ?(n? == ? 1 )? {
?6 ??? return ? 1 ;
?7 ??} ? else ? if ?(n? == ? 2 )? {
?8 ??? return ? 2 ;
?9 ??} ? else ? {
10 ??? return ? 2 ? * ?t(n - 1 )? - ?t(n - 3 );
11 ??} ?
12 ?}
13 }
晚上躺床上,怎么可能这样直接呢?
突然想到最起码的一点就是重复数的计算,应该进行保存;
如果正向逐个求然后保存,可行;
如果倒向如何保存,尚未想好
大家来仁者见仁一下哦(有更好的思路的请指点)
public class T {
?Map values = new HashMap();
?
?public int t(int n){
??int result = 0;
??if (n == 0) {
??? result = 1;
??} else if (n == 1) {
???result = 1;
??} else if (n == 2) {
???result = 2;
??} else {
???result =? 2 * t(n-1) - t(n-3);
??}
??return result;
?}
}
篇7:Google集团笔试经验
Google集团笔试经验
应届毕业生网与大家分享下Google集团笔试经验
Google笔试是没有门槛的,这样说是因为Google根本没有限制笔试的人数,开了N个教室,让N多人参加……不过Google笔试本身却有门槛,看了题目就知道。本来想上午写写的,但是,嗯,出于攒人品的目的,还是等到现在才写——现在,面试通知已经发过,很显然我又被无视了……OK,那也不错,我也没怎么准备这些东西呢,倒不是说我不重视,而是事情太多……唔,Google笔试多少算是一种经验了。回来说说昨天的笔试。题目的'量并不大,除了几个单选题,剩下Google笔试就是三个编程或算法题。单选就不说了,考得比较基础,涉及C语言常识、数据结构、文法、操作系统,主要说说大题。大题虽然题型不一,但都有一个重要特点:考递归。精确点说,我每一题都用到了递归。
第一个的Google笔试题目(嗯,记的不是很完整):
在一棵(排序?)二叉树中搜索指定值,数据结构定义为(唉唉,数据结构的具体名字都不记得了,my god):
struct Node{Node * lnext;Node * rnext;int value;};函数定义为(情况同上,啥都记不清了):Node * search(Node * root, int value){}实现这个search函数,
用递归,经典的树的遍历,pass先。
第二个的Google笔试题目:
计算Tribonaci队列(嗯,九成九记错了那个单词……),规则是T(n) = T(n - 1) + T(n - 2) + T(n -3),其中T(0) = T(1) = 1,T(2) = 2。
函数定义:int Tribonaci(int n) {}备注,不考虑证整数溢出,尽可能优化算法。
这一题我一看就知道要考什么,很显然的递归定义,但也是很显然的,这里所谓的优化是指不要重复计算。
简单的说,在计算T(n)的时候要用到T(n - 1)、T(n - 2)和T(n - 3)的结果,在计算T(n - 1)的时候也要用到T(n - 2)和T(n - 3)的结果,所以在各项计算的时候必须把以前计算的结果记录下来,去掉重复计算。
篇8:感受Google笔试题目
。回忆昨晚陪朋友参加google在北大的招聘会,想和朋友们分享一些特别的感受。总体感觉这是一个无限富有,充满惊喜的公司。
05年9月google开始在北京设立公司,目前已经发展到100名员工。每个工程师将新配2台30inch的液晶显示器。经常到美国,澳洲,韩国,日本,印度等国家TRAVEL,ENJOY great food and drink(喜欢吃喝玩乐),在中国有两名外籍人士,统统讲流利的普通话。其中美国人eric带领的`PSO(商务合作工程部)部门,9个人,穿着京剧戏服上班,他扮演孙悟空,开玩笑说穿这些工作服上班还是要花些时间的。
主要笔试考题如下,其他题目是基础题,就不贴出了:
1、假设在n进制下,下面的等式成立,n值是()
567*456=150216
a、9 b、10 c、12 d、18
2、文法G:S->uvSvu|w所识别的语言是:()
a、uvw*vu b、(uvwvu)* c、uv(uv)*wvu(vu)* d、(uv)*w(vu)*
3、如下程序段输出是:()
char str[][10]={”Hello”,”Google”};
char *p=str[0];
count< a、0 b、5 c、6 d、10 4、cnt=0 while(x!=1){ cnt=cnt+1; if(x&1==0) x=x/2; else x=3*x+1; } count< 当n=11时,输出:() a、12 b、13 c、14 d、15 5、写一段程序判断一个有向图G中节点w是否从节点v可达,(如果G中存在一条从v至w的路径就说节点w是从v可达的)。以下算法是用C++写成的,在bool Reachable函数中,你可以写出自己的算法。 class Graph{ public: int NumberOfNodes();//返回节点的总数 bool HasEdge(int u,int v);//u,v是节点个数,从零开始依次递增,当有一条从u到v的边时,返回true }; bool Reachable(Graph&G, int v, int w){ //请写入你的算法 } 6、给定一棵所有边的长度均为整数的树,现要求延长其中某些边,使得从根到任意节点的路径长度相等。问满足要求的树的边长度之和最小是多少?请写出你的算法,并分析时间复杂度。 ★ Google面试 ★ 笔试题库 ★ 笔试题目google笔试(精选8篇)