📅  最后修改于: 2023-12-03 15:12:13.022000             🧑  作者: Mango
在 2020 年 11 月份,我参加了谷歌软件工程师的面试。在这个过程中,我积累了一些经验,希望与大家分享。
谷歌的软件工程师面试分为两个环节:电话面试和现场面试。我当时是先进行了电话面试,之后才参加了现场面试。
电话面试主要是考察技术问题的能力,也就是所谓的算法和数据结构问题。在我的面试中,面试官问了我以下几个问题:
这些问题都很经典,如果你准备参加类似的面试,建议提前做好充分的准备。
现场面试通常会进行一整天,主要是考察候选人的综合能力和技术水平。在我的现场面试中,主要涉及以下几个方面:
在现场面试中,我被要求完成了两道编程题。第一道是实现一个简单的计算器,可以处理加减乘除四种运算。第二道是实现一个 LRU Cache,需要自己实现一个哈希表和一个双向链表。
在现场面试中,我也被问到了一些算法和数据结构相关的问题。这些问题包括:
在现场面试的最后一个环节中,我被要求设计一个具有一定规模的系统。这个系统需要满足以下需求:
在设计这个系统的过程中,我被要求先手绘出一个系统架构图,再根据图上的设计思路进行具体实现。
如果你打算参加谷歌的软件工程师面试,建议提前做好充分的准备,尤其是在算法和数据结构等方面。在准备面试的过程中,可以多做一些编程题和算法练习,并且需要对常用的系统设计模式有一定的了解。
祝大家面试顺利!