`

Google面试宝典

阅读更多

蓝锋博客: http://bluesfeng.iteye.com

 

最近刚被Google电话面了一次. 感觉还不错. 和面试官聊的很好. 到最后, 他竟然给我提了一些如何准备Google面试的经验. 下面把自己的经验和大家分享一下:


很多非技术的因素在这里就不说了...


技术方面的准备包括:


1. 仔细钻研一本数据结构和算法的书.每个程序员都知道数据结构和算法的重要性, 可是为什么呢?最主要的原因就在于经典的数据结构和算法是对常见计算机问题的归纳和总结. 如果你精通数据结构和算法, 当你遇到新问题时,你就很容易将问题进行定位,比如说这是一个图的问题还是树的问题, 然后在运用系统的知识进行分析. 从而找到解决问题的方法. 例如:如果面试官问你最少可以用多少种颜色来填充中国地图中的各个省的问题, 你就应该想到这是???

所以说,如果当你遇到一个问题时马上能够定位到该用什么数据结构/算法来解决, 着就是面试官首先想要看到的. 推荐一本书:  Steven Skiena's  The Algorithm Design Manual    

  1) 算法复杂性分析. 你必须知道如何使用Big O来分析算法的复杂性. 如果你不知道这个,你肯定过不了面试. 如果不知道, 仔细读一下相关的那章. 你完全可以搞定的!

  2) 排序算法. 你需要知道排序算法. 不要提冒泡排序法. 真正开发时没人用. 你至少要知道一种n*log(n)的排序算法. 比如: 快速排序法.

  3) Hashtables. 你必须要知道如何使用哈希表的使用. 你应该知道如何用你擅长的编程语言来实现一个哈希表.

  4) Trees: 你需要了解树型结构, 二叉树, BFS, DFS等遍历算法.

  5) Maps: 图非常非常非常非常非常重要. 就算你已经觉得图已经很重要了. 但实际上, 它比你想的还要重要. 你应该了解图在内存中的几种表示法, 比如使用对象和指针, 使用距阵等. 同时你还需要了解图的遍历算法, 以及它们的算法复杂度, 还有如何在代码中实现. 

  6) 其它的数据结构. 尽量学习书中的其它数据结构和算法. 


2. 数学. 有些Google的面试官很喜欢问一些离散数学方面的东西. 所以也需要做一些准备.


3. 操作系统. 你总要了解一些操作系统方面的基础知识. 比如线程和进程,进程间的通信等. 推荐一本书: Doug Lea's  Concurrent Programming in Java


4. 编码. 你应该精通一门编程语言, 比如C++, Java. C#也可以接受.

蓝锋博客: http://bluesfeng.iteye.com

2
0
分享到:
评论

相关推荐

    google面试宝典

    找工作时候收藏的google面试宝典,希望能够对需要的有所帮助

    美国大数据工程师面试宝典

    ### 美国大数据工程师面试宝典 #### 一、硅谷高科技公司介绍 - **20年前**:硅谷的标志性企业包括Intel、Oracle、AMD、Apple、Cisco等。 - **10年前**:Google、Yahoo、eBay成为新兴力量。 - **现在**:Tesla、...

    黑马程序员西安校区前端学科面试宝典-2019.pdf

    总体来说,黑马程序员西安校区的这份前端学科面试宝典,覆盖了前端领域诸多核心知识点。对于想要从事前端工作的求职者来说,这份面试宝典是一个非常好的学习和准备材料。通过复习和理解宝典中的问题,求职者可以更好...

    Android-阳哥面试宝典V3.0.pdf

    《Android-阳哥面试宝典V3.0》是一本专为Android开发者准备的全面面试指南,涵盖了从基础知识到高级技术的全方位内容,旨在帮助读者提升技能,顺利通过面试,实现职业发展上的跃升。这份资源包含了一份PDF文档,详细...

    C++面试题,面试宝典

    这份"面试宝典"涵盖了C++的基础、进阶以及实际应用等多个方面,旨在帮助求职者在面试中脱颖而出。下面,我们将详细探讨其中可能涉及的一些关键知识点。 一、C++基础 1. **变量与数据类型**:了解基本的数据类型如...

    Java中文文档以及Java面试宝典

    这份"Java中文文档以及Java面试宝典"的资源集成了两个关键部分,旨在帮助开发者和求职者提升技能和理解Java语言。 首先,"jdk api 1.8_google.CHM"是Java Development Kit(JDK)1.8版本的API文档,它是一个非常...

    大公司系统设计面试宝典

    【大公司系统设计面试宝典】是一份针对大型企业面试准备的重要资料,涵盖了诸如Twitter、Netflix、聊天系统、GFS以及MapReduce等热门系统的架构设计。这份文档旨在帮助面试者全面理解分布式系统的关键技术和设计原则...

    web前端面试宝典

    ### Web前端面试宝典知识点详解 #### 一、HTML和CSS ##### 1. 页面测试过的浏览器及其内核 - **Chrome**: Blink引擎 - **Firefox**: Gecko引擎 - **Safari**: WebKit引擎 - **Edge (旧版)**: EdgeHTML引擎 - **IE**...

    java面试宝典和学习必备

    MyBatis起源于Apache的iBatis项目,2010年后迁移到Google Code并更名。 3. **数据库**:MySQL、Oracle和SQL Server是最常见的关系型数据库。Oracle是大型企业级数据库,广泛用于复杂的企业级应用。 4. **服务器**...

    前端面试宝典

    ### 前端面试宝典知识点详解 #### HTML与CSS基础 1. **方向与文档流执行顺序** `direction` 和 `writing-mode` 是CSS中的两个属性,用于控制文本的方向以及页面元素如何在文档流中排列。`direction` 属性主要...

    Android高薪之路:Android程序员面试宝典 李宁

    《Android高薪之路:Android程序员面试宝典》目录: 第1章 Android入门 1 1 关于Android的非技术问题 1 1 1 为什么看好 Android 1 1 2 以前是否从事过Android的工作 做过哪些工作 1 1 3 你做的最复杂的界面是什么 1 ...

    程序员面试宝典(各大IT公司历年面试真题)

    本书《程序员面试宝典》深入解析了IT行业程序员职位的面试过程和要点,尤其着重于各大IT公司历年来的面试真题。书中覆盖了笔试、口试、电话面试、英语面试,以及逻辑测试和智商测试等多个方面。对程序员岗位的核心...

    50w字程序员面试宝典(咕泡科技出品).zip

    《50w字程序员面试宝典(咕泡科技出品).pdf》是一份全面且深入的程序员面试准备资料,由咕泡科技精心制作。这份宝典旨在帮助程序员们系统地掌握面试所需的关键技能,提高他们在技术面试中的竞争力。下面将详细阐述这...

    美国版程序员面试宝典

    - **谷歌面试**:探讨谷歌面试的特点,包括算法和编程问题。 - **雅虎面试**:虽然雅虎在近年来的影响力有所下降,但其面试题目仍然具有很高的参考价值。 - **面试实战故事**:分享真实的面试经历,让读者了解...

    程序员面试题和面试宝典等资料

    面试题和面试宝典可以帮助我们更好地准备,提升成功的机会。以下是一些从提供的文件名中提炼出的关键知识点: 1. **C语言笔试大全**:C语言作为基础的编程语言,是许多程序员入门的首选。面试中常常会考察对C语言...

    算法工程师面试宝典.rar

    面试宝典通常包含了一系列关键知识点和技能,旨在帮助求职者充分准备,以便在面试中脱颖而出。这份“算法工程师面试宝典”特别强调了深度学习和自然语言处理(NLP)的相关内容,这暗示了面试可能会涉及到这两个领域...

    程序员面试宝典-2021面试大全

    《程序员面试宝典-2021面试大全》是一本为准备程序员面试的读者精心编纂的指南。这本书涵盖了各种编程语言、数据结构、算法、操作系统、计算机网络、数据库、软件工程等多个领域的核心知识点,旨在帮助求职者在面试...

    C语言工程师面试宝典

    C语言工程师面试宝典 本篇文章是面试部分的最后一篇,适用于计算机相关职位。技术面试篇主要分为两大类:通用问题和专业问题。通用问题指的是,对于你简历中的个人经历、研究项目、编程实践进行发问,主要是围绕你...

    程序员面试-面试宝典-

    这本书被誉为“面试宝典”,因其经典内容和实用性而备受推崇,是跳槽或提升职业规划时的必备读物。 面试宝典通常会涵盖以下核心知识点: 1. **编程基础**:这是所有程序员面试的基础,包括但不限于数据结构(如数...

Global site tag (gtag.js) - Google Analytics