📅  最后修改于: 2023-12-03 15:42:32.931000             🧑  作者: Mango
在过去的两年中,我一直是一名软件工程师,负责构建和维护各种类型的软件系统。最近,我决定寻找一个更具挑战性的机会,于是我开始了高盛建筑师的面试流程。这里是我的面试经历和经验分享。
高盛首先会给你一份在线筛选测试,测试内容包括编程基础,操作系统知识,数据结构和算法,网络知识等基础技能。该测试时间为90分钟,需要通过该测试才可以进入下一轮面试。
该轮面试主要考察了我的理解能力和编程技能,需要我回答一些关于软件工程的基础问题。问题包括如何设计一个大规模系统,如何处理并发访问,如何处理故障等。在这个环节,我还需要走进他们的代码库,并对一些代码块提供反馈和改进意见。
这轮面试测试了我的编码技能和代码质量。我被要求在45分钟内实现一个指定的需求,并且需要对我编写的代码进行完整的单元测试。使用的语言是 Python,需求主要是处理一些文本数据,包括处理和排序大量的字符串和数字。
高盛会要求应聘者进行一次白板编程,以测试我们的编程能力和解决问题的能力。我被要求在白板上实现一个树遍历算法。这需要我手写代码,并解释我的实现方法以及代码背后的思路。
以下是一个我在面试中做的,使用 Python 编写的排序算法:
def bubble_sort(arr):
n = len(arr)
for i in range(n-1):
for j in range(0, n-i-1):
if arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
return arr
以上就是我的高盛面试经历。如果你希望进入高盛工作,则需要多练习编程并阅读更多的软件工程相关文献以及学习如何沟通和交流。