很多同学都想得到谷歌的实习或者校招机会。那从过来人的角度谈谈,要通过谷歌的实习、校招面试,都有哪些经验和注意事项呢?今天就跟大家分享一下。
【电话面试】
1、项目经历
(1)控制在1分钟里面,讲出项目基本情况,比如项目名称,背景,给哪个客户做,完成了基本的事情,做了多久,项目规模多大,用到哪些技术,数据库用什么,然后酌情简单说一下模块。重点突出背景,技术,数据库和其他和技术有关的信息。
(2)要主动说出你做了哪些事情,说的时候要有技巧,找机会说,通常是找一些开放性的问题说。这部分的描述一定需要和你的技术背景一致。
(3)描述你在项目里的角色
(4)可以描述用到的技术细节,特别是你用到的技术细节,这部分尤其要注意,你说出口的,一定要知道,因为面试官后面就根据这个问的。
(5)把你知道的都说出来,重点突出你知道的思想,框架
(6)适当停顿,边思考边说
(7)别太多介绍技术细节,就说你熟悉的技术
(8)技术面点到为止,等面试官来问
2、你觉得哪个项目最富有挑战性?你怎么解决那些问题的?
3、 struct 和 class 的区别
使用 class 时,类中的成员默认都是 private 属性的;而使用 struct 时,结构体中的成员默认都是 public 属性的。
class 继承默认是 private 继承,而 struct 继承默认是 public 继承(《 C++继承与派生 》一章会讲解继承)。
class 可以使用模板,而 struct 不能(《 模板、字符串和异常 》一章会讲解模板)。
4、 linux 下的一些基本命令
(1)cd命令 这是一个非常基本,也是大家经常需要使用的命令,它用于切换当前目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径。 (2)ls命令 (3)grep命令 (4)find命令(5)cp命令(6)mv命令 (7)rm命令(8)ps命令
5、引用和指针的区别,用法
区别:(1) 指针:指针是一个变量,只不过这个变量存储的是一个地址,指向内存的一个存储单元,即指针是一个实体;而引用跟原来的变量实质上是同一个东西,只不过是原变量的一个别名而已。
(2) 指针的值可以为空,但是引用的值不能为NULL,并且引用在定义的时候必须初始化;
(3) 指针的值在初始化后可以改变,即指向其它的存储单元,而引用在进行初始化后就不会再改变了,从一而终。
(4)”sizeof引用”得到的是所指向的变量(对象)的大小,而”sizeof指针”得到的是指针本身的大小;
(5)指针和引用的自增(++)运算意义不一样;
6、 单向链表的删除操作,已知 head,p(指向被删除元素),要求复杂度为 O(1)
7、Google Destop Search 的一些技术法?
8、对现在的 Stack(栈)数据结构进行改进,加一个 min()功能,使之能在常数,即 O(1),时间内给出栈中的最小 值。可对 push()和 pop()函数进行修改,但要求其时间复杂度都只能是 O(1)。
9、用 C/C++编程如何确定所在的计算机上栈的增长方式(是从高到低,还是从低到高)
栈的增长方式有两种:向上 和 向下,可以使用从低地址向高地址增长的堆栈
10、你要如何实现类似 Google 的拼写检查(即纠正用户输入关键字中的错误单词)?
11、如果进入 Google,让你自由地选择一个课题,你会做什么方面的?
想要更多谷歌实习、校招的机会,请点击这里