前几天打了个电话,输入pin之后,说“we were able to verify your pin”,然后就 回到welcome message,试了几次都这样。 今天打了一次还是这样
u*r
2 楼
发信人: getout(出去), 信区: JobHunting 标题: 我曾经是Google的主力面试官,面试过很多人 发信站: BBS未名空间站(Fri Sep 8 08:46:22 2017,GMT) 国内知乎上看到的: https://www.zhihu.com/question/39238915/answer/226484516 我曾经在google工作多年,是Google的主力面试官,面试过很多人,也帮助过很多人进 FLAG(其中包括LeetCode版主)。对于怎么面试和如何准备面试,特别是顶级科技公司 的面试,我想聊一聊我的经验。 面试官真正想要的,是能够独自和与团队一起为公司解决问题的人。写出了code,答对 了题,并不代表你coding能力就强,即使coding已经达到了标准,也不完全代表面试官 就愿意选择和你共事。 首先,并不是写出了code,做到了基本的bug free,就代表你coding能力很solid。 以下是我自己总结的比较有用的check list: code本身: code写的对不对,是不是做到bug free?是不是能够处理所有可能的情况?有没有主动 walk through几个test cases?code是不是用标准的格式来写的?结构是不是让别人能 够很清楚的看明白?沟通code:在写code之前,有没有主动的跟面试官沟通来明确题目 要求,分析各种需要处理的情形?有没有考虑可能的环境和多种解决方案?有没有做必 要的trade off的分析?如果你用到了某些数据结构和算法,有没有解释清楚运用这些 工具的原因到底是什么? code优化方面: 有没有冗余的可以优化的代码?你给的答案是否是效率比较好的?能否主动继续分析优 化方案? 其次,那种Coding能力不错,但是因为其他原因挂了的,也太多太多了,举几个典型的 例子: 例子1: 面试官:The Candidate was very quiet. I need to probe him all the time. I’m worried about his communication. 例子2: 面试官:Do you have a bug here? 应试者:(想都没想)”No! No! No! I disagree with you” 例子3: 面试官:Do you have any question for me for the last minute? 应试者:You work in XXX department, right? I think there are quite a number of things that can be improved...(喷了10分钟面试官的工作) 这些不论是太安静,还是太急于证明自己,都最终导致了面试的失败。所以说,Coding 能力是很重要,但只是拿Offer的必要不充分条件。 如果说FLAG面试的完整攻略,还是必须要在Hard Skill和Soft Skill两个方面都表现出 色。 Hard skill方面,主要考察的就是你的专业能力,包括Coding, Testing, Basic Data Structures & Algorithms和Design。 Coding 能保证至少一门语言,不论是java还是C++还是Python,不会被面试官问倒。能够很快 将复杂的问题转化成逻辑和代码。想到和处理可能的边界条件。写出的代码能够符合业 界对格式、易读性和结构的要求。 Testing 对于测试的要求大多为单元测试,因此要求工程师能够自己写test来验证自己代码的正 确性 Basic Data Structures & Algorithms 能够深度理解各种数据结构和算法,对应选择高效的解决方案,并告诉面试官为什么 Design Solution Design:能够从工程的角度,考虑不同的需求和环境之下,不同的解决方案 的tradeoff。 System Design:应该具有完整的知识体系和储备,熟悉计算机系统的基本知识,在复 杂的情况下分析和解决对应的设计问题。基本知识概念包括操作系统、数据库、网络、 web technology、分布式系统、多线程等等。 (虽然很多人都说New Grad不考Design,但事实上,FLAG这个级别的面试还是多少会有 涉及,而且了解Design的知识,对于和面试官分析、解决问题有很大的帮助。) Soft Skill方面,除了一个必须具备的Attitude,对于面试来说最重要的就是两个方面 :Problem Solving和Communication。 Problem Solving 要能够系统地、明确地观察问题,定义问题,分析问题,分解问题,最后找到合适工具 来解决问题。 还能够不断总结、优化、调整现有方案,多次迭代来找到更合适方法(这是一个非常重 要,但也很容易被忽视的方面。所有的技术能力都只是用来解决问题的工具,而不是方 法。) CommunicationTechnical Communication方面就是要有目的、有条理、有主次 Non-Tech Communication方面包括自我介绍、Behavior Questions、向面试者提问,以 及其他所有的细节。这方面相对没有那么唯一的要求,但是自信、积极、尊重应该是一 个普遍的标准。 (一样的题目,面试官可以选择给你提示也可以选择不给你提示。评分评价主观上,加 减10%到20%轻轻松松。2.8和3.2一样吗?一个天上,一个地下。)