一份可供参考的谷歌技术面试通关指南
极客时间编辑部
讲述:丁婵大小:2.11M时长:04:36
技术面试是谷歌招聘流程中必不可少的一环,用以评价应聘者是否具备开发最优秀的软件所需的编程与算法能力。谷歌的技术面试是评价技术能力的关键衡量标准,可以说是决定是否聘用候选人的关键因素。想要顺利通过谷歌面试的话,你需要为面试中的重点环节提前做好准备。开发者文森特·鲁索(Vincent Russo)发文给了一些相应的策略。此外,有大批企业都在模仿谷歌的面试风格,所以本文或许也能帮你应对其他大型科技公司的面试。
首先,在面试前,你需要做好准备,争取一次就通过。像HackerRank、LeetCode、Project Euler、Topcoder这类网站都提供了技术面试的题库以便练习。不过,人的时间和精力都是有限的,因此要尽量高效地使用这两种资源。你需要专注、持续并有针对性的训练。
其次,模拟真实场景做训练,贴近现实的练习才有效率。面试时,你会希望自己全神贯注,将大部分精力都投入到面试官提出的问题上。而不是被其他因素干扰,比如像不习惯在非 IDE 环境中写代码这种事。
以下列出了在制定练习方案时应该注意的因素。
1. 时间限制
电话面试时间为 30-45 分钟,每次一对一的现场面试大约持续 45 分钟到一小时。每次面试中你至少会被问到一个问题,多数情况下会是一个编程问题。
因此,你可以选一个特定问题入手,然后开始计时,并尝试在不用 IDE 的情况下解决它。这样在练习过几个不同类别的编程问题后,你就大概知道自己在时限内处理问题有哪些不足了。
2. 白板
无论是谷歌电话面试还是现场面试,你都要在没有 IDE 的情况下写出语法正确的代码来。电话面试时代码要写在谷歌文档上,现场面试时你要在白板上手写代码。如果你从未练习过,那么就很难在白板上手写出正确的代码。因此你要在练习时就习惯时间限制,及习惯摆脱对 IDE 的依赖。
每次练习后可以把代码完整抄到编辑器中运行一下,你可能会惊讶地发现自己在白板上手写的代码会有这么多错误。此外,你还需要非常熟悉面试中使用的语言。虽然你可以请面试官帮忙提供库功能来完成某项任务,但这会浪费时间,并且反映出你准备不足、缺乏领域相关知识的缺陷。
3. 压力
作为应聘者,面试时你是被关注的焦点,你要在限定时间内以不常见的方法解决一项颇具挑战性的难题,这时还有人死死盯着你,这很容易影响应聘者的表现。
当然,你可以在练习时就找一位伙伴在旁边盯着你看,但你可能准备一个人去应聘谷歌,所以这种伙伴也不好找,怎么办?
这时,一个面向软件工程师、开发人员的免费在线社区 Pramp 就可以帮助你解决问题。Pramp 会随机匹配两位程序员,你问同伴一个问题并扮演半小时的面试官角色,然后角色反转,你再扮演半小时的面试者角色。此外,你还可以通过 Pramp 了解成为面试官的感受,这是一个很好的角度。
4. 测试和罕见情况
当你针对给定问题开发解决方案时,你需要考虑到可能由意外输入导致的罕见情况,并且,你要考虑解决方案。养成这样的好习惯可以帮助你在面试时预测面试官将提出哪些问题,并胸有成竹的回答他。
5. 关键在于训练素材
在练习时可以选择覆盖所有种类题型的题库,但关键在于专注正确的训练素材。
虽然你可以在 LeetCode 上随机练题,但这样效率很低,多练一道题也不会大幅提升你通过谷歌面试的机会。相反,何不专门练习过去谷歌面试中出现过的题库呢?这样会让你的时间和精力更加集中,提升效率。
以上就是今天的内容,希望对你有所帮助。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(1)
- 最新
- 精选
- 加菲猫心理状态+背后的付出很重要,
收起评论