30道Google开发者面试题,你要不要来试试?

30道Google开发者面试题

周五的夜晚总是这么美好,这么美好的夜晚只适合刷题。

注:本篇文章的所有题目都没有给出答案,需要答案请在Stackoverflow搜索。以下出现的问题,可能你会觉得很奇怪,不过请不用猜疑,你看到的所有题目确确实实都是Google曾经使用过的开发者面试题。此篇文章发出30道题,下一期的文章将会继续更新30道。

第一题

为什么井盖是圆的?

第二题

互斥体和信号量之间有什么区别? 你将使用哪一个来保护对增量操作的访问?

第三题

一个人把他的车推到了酒店里面,然后他失去了财富,发生了什么?

第四题

当你看到“dead beef”,你会首先想到什么?

第五题

编写一个用于测量UNIX / Linux系统上下文切换速度的C程序

第六题

给定一个函数,这个函数可以随机生成1-5内的任意正整数,请你编写一个函数,这个函数可以随机的生成1-7内的任意正整数。

第七题

请描述深度优先图遍历的算法

第八题:

请用一系列的类来设计一个扑克牌游戏

第九题:

你需要向你的朋友Bob确认他是否保存了你正确的手机号码,但是由于某些原因你不能直接问他。你需要写一个问题在一张纸条上面,然后你的另一个朋友Eve将会把这个纸条给Bob,并且Eve将会把Bob的回复转述给你!同时如果你把手机号码写在了纸条中,请确保通过被某种手段让Eve看不出你的手机号码。

第十题:

在HTTP协议中,Cookie是怎么传递的?

第十一题:

请设计一个汽车租赁使用的sql数据库。

第十二题:

试着写一个正则表达式可以匹配出邮箱

第十三题:

编写一个函数fun(a,b)接受两个字符串参数,以字符串的形式返回这两个字符串都包含的字符。请编写两个版本一个O(N^2)和一个O(N)的算法复杂度。

第十四题:

现在你拿到了一个应用程序的源代码,在调试器中运行10次之后,你发现他在不同的地方崩溃,这个应用程序是单线程的,并且只引用了C语言的标准库,什么样的编程错误会导致此种崩溃?怎么进行测试?

第十五题:

请解释拥塞控制如何在TCP协议中工作。

第十六题:

在Java中,final、finally、finalize这几个关键词有什么区别?

第十七题:

什么是多线程编程,什么是死锁?

第十八题:

请编写一个函数,这个函数将会把Excle表格中的列名称(A,B,C,D…AA,AB,AC,… AAA..)转换成整数数字(A=1,B=2,… AA=26..)

第十九题:

树搜索算法。 编写BFS和DFS代码,解释运行时间和空间要求。 修改代码以处理带有加权边的树和具有BFS和DFS的循环,使代码打印出目标状态的路径。

第二十题:

请描述用于管理内存的数据结构

第二十一题:

局部变量和全局变量的区别是什么?

第二十二题:

如果你有100w个整数,你将怎样有效的排序他们?

第二十三题:

在Java中,static、final、const关键词的区别是什么?

第二十四题:

编写代码反转一个字符串。

第二十五题:

假设你有一个N*N的正和负整数矩阵,请编写一段代码这段代码可以找出具有元素的最大和的子矩阵。

第二十六题:

请实现除法运算

第二十七题:

编写一段代码用来查找特定字符串中字母的所有排列

第二十八题:

查找一个字典中的单词,你会使用什么方法?

第二十九题:

想象一下,你有一个装满衬衫的衣柜,所以你每次找衣服的时候都很难找到你想要的那一件,那么你可以做什么来组织整理你的衬衫,这样来方面以后的检索呢?

第三十题:

你现在拥有八个相同大小的球,其中有7只重量相同,其中一只重量稍大。如何通过使用天平和仅两次称重来找出那只篮球?


周五的夜晚总是这么美好...

安静、祥和,重要的是还有题刷。


未经允许请勿转载:程序喵 » 30道Google开发者面试题,你要不要来试试?

点  赞 (0) 打  赏
分享到: