📜  谷歌面试经历 | SDE 现场(1)

📅  最后修改于: 2023-12-03 15:28:12.888000             🧑  作者: Mango

谷歌面试经历 | SDE 现场

背景介绍

Google的面试一直以来都是程序员们最向往的,被认为是IT行业的黄埔军校。今天,我将分享我的谷歌面试经历。这是一个SDE面试现场,我的面试主要集中在算法、数据结构和系统设计。

面试流程

我的面试总共有4轮,每轮45分钟左右,每一轮都会有各种不同的问题。我被问到了算法、数据结构的基本问题,还有系统设计、OOP的问题。

最初的20分钟是面试官进行自我介绍和公司介绍的时间,之后是技术部分。

我注意到,他们会检查你的代码和你的思维过程,而不仅仅是代码本身。因此,在回答问题时,需要仔细思考,给出清晰、准确的答案。

算法和数据结构

在第一轮中,我被问到了一些基本的算法和数据结构的问题,如哈希表、链表、二叉树、排序算法。而第二轮主要考查数学和逻辑思考能力,我被问到了几道脑筋急转弯。

这些问题需要快速反应,因此需要多做练习。保持头脑清晰,注重思维过程,可以更好的被面试官接受。

系统设计

在第三轮中,我被要求设计一个系统,要求我了解机器的构造和计算机系统的基本原理。我被要求绘制系统框图、提供模块细节和考虑可伸缩性。

这些问题需要对计算机的构造和原理有极其深入的了解,需要掌握多种不同的并发算法和设计模式。同时,需要注重可扩展性和可维护性,要求对工程知识的掌握。

OOP 和代码实现

在第四轮,我被要求实现一个开发人员的日历管理器,可以添加事件、修改事件和查看事件。在这一轮里,我需要展示OOP的思想。

同时我需要呈现良好的代码品味以及优秀的编码实践。这一轮涉及代码的合法性、文档的完整性、测试用例的覆盖率以及作者的人际交往能力。

总结

遇到Google的面试官时,不要紧张,一定要保持冷静。多做练习,注重思维过程和细节,提高代码的可维护性、可扩展性和可读性。 通过这个面试,我发现自己的短板,也发现了需要提高的方面,这种经验对于未来整个开发生涯都能够受益。