高盛 2022 年顶级面试问题和答案
已发表: 2022-09-21Goldman Sachs Group, Inc. 是全球领先的金融机构之一,为包括银行、投资管理、证券和消费银行业务的金融机构、公司、个人和政府在内的多元化客户群提供广泛的金融服务. 高盛成立于 1869 年,总部位于纽约,在全球许多主要金融中心设有办事处。 该组织的目标是促进全球经济增长和金融机会。
高盛还利用其在全球最大的组织、机构和企业家超过 150 年的工作经验,调动其员工和资源,以提高客户的成功率,扩大个人繁荣并加速所有人的经济进步。 根据高盛的说法,协作、团队合作和诚实为员工提供了理想的环境,为他们的客户提供尽可能好的结果。
它总是寻找在这种环境中茁壮成长的专业人士,他们充满激情、思维敏捷,以及沟通技巧优先于精确的资格。 因此,无论您是还在上学、刚毕业还是已经工作了几年,如果您有兴趣在那里工作,高盛都希望收到您的来信。
高盛招聘流程
面试流程
候选人将根据他们的编程和分析能力进行分析。 公司在招聘过程中通常进行四轮:
- 在线测试
- 技术面试
- 人力资源面试
面试轮次
在线测试
高盛在线评估测试的部分如下:
- 定量能力倾向测试:该测试包括关于数值计算和推理的问题。 考生必须根据盈亏、数字、概率、比率、时间和速度、距离、平均、排列和组合来准备问题。 考生的数学能力将通过图解谜题和系列进行评估。
- 推理:本节包括关于图解推理、抽象推理和逻辑推理的引文。 他们还必须准备有关编码、解码、数据排列、算法、数据解释、输入、输出、电路、流程图等的问题。
- 语言能力:这部分是关于阅读理解的。 您需要根据遗漏、错误和文章来练习主题。
- 技术部分:在此测试中,您需要解决以下问题:
- 计算机科学
- 进阶能力
- 编码
- 竞争性编程
- 主观
技术面试
通过在线评估测试的候选人将被要求进行面对面的技术面试。 进行技术面试的目的是评估与您正在寻找的特定角色相关的技术能力,并了解您如何分析和解决压力情况。
面试官还将评估您解决问题的能力。 您将被问及您以前的工作和项目,以及您做了什么以及您如何使用技术,以及您的成功程度。 通过学习计算机科学原理做好准备。
Goldman Sachs 寻找对至少一种编程语言(如 Java、C/C++、JavaScript 或 Python)有很强的概念知识的候选人。 您在前几轮中的进展、您的工作概况、您的经验以及公司的要求都会影响您进行技术面试的次数。 在大多数情况下,每位候选人都会经历两轮技术面试。
人力资源面试
一旦您通过了技术面试,您将被邀请参加 HR 轮次。 进行 HR 面试的目的是分析候选人的性格、背景、个性、优势和劣势,以确定他或她是否适合该特定职位。 因此,你应该为HR面试做好充分的准备。
评估您的简历以确保您已添加所有重要的个人信息,并且您提供的数据据您所知是准确的。 他们还可以查询高盛的历史,包括公司成立时间,以及它的目标、信念和组织结构。 准备解决可能被问到有关您的简历的任何疑问。 在你的回答中,解释你对这个职业的兴趣以及最能激励你的因素。
以下是它的一些示例问题:
- 说说你自己(你应该开始讲述你的家族史,然后解释你的学历和职业发展)
- 你能搬到印度的其他地方吗?
- 五年后你在哪里看到自己?
- 为什么要雇用你?
- 告诉我你的实习和你处理的项目。
- 是什么让你决定找一份新工作?
高盛针对有经验和应届生的技术面试问题
1、什么是Java中的多线程? 螺纹是如何形成的?
多线程是 Java 中的一项功能,它允许同时执行程序的两个或多个部分,以最大限度地提高 CPU 效率。 这也是一个同时执行多个线程的过程。
线程是通过使用两种不同的机制形成的:
- 扩展线程类:我们将创建一个 java.lang 扩展类。 线程是线程的一种。 Thread 类的 run() 方法被此类覆盖。 线程的生命始于 run() 方法。 我们初始化新类的一个对象并调用 start() 函数来启动线程执行。 Thread 对象的run() 函数由Start() 调用。
- 将可运行接口付诸实践:我们创建一个新类来实现 java.lang 接口。 覆盖接口的 run() 方法。 然后我们构建一个 Thread 对象并在其上调用 start() 方法。
以下是多线程的优点:
- 由于线程使用共享内存空间,它有助于节省内存。
- 线程是自包含的,允许同时完成多个任务,节省时间。
- 由于线程是独立的,一个线程中的异常不会影响其他线程。
2.解释Java中的hashCode()和equals()。
Java 集合框架包括 HashMap。 HashMap 采用散列技术。 将项目转换为整数值的过程称为散列。 整数值有助于索引和搜索速度。 它负责设计地图的用户界面。 它将信息保存在键/值对中。 HashMap 中的节点由具有节点数组的类表示。 在内部,它将 Key 和 Value 存储在数组和 LinkedList 数据结构中。 HashMap 包含四个字段。
- hashCode() 是对象类中的一个功能。 它返回对象内存引用的整数表示。 该方法返回的值决定了桶号。 桶号表示元素在地图中的位置。 Null Key 的哈希码为 0。
- equals() 是一个函数,用于比较两个对象并确定它们是否相等。 比较密钥以检查它们是否相等。 它是属于 Object 类的方法。 可以绕过它。 如果你重写 equals() 方法,你也必须重写 hashCode() 方法。
3.解释Java中的final关键字。
final 关键字用于限制 Java 中的用户。 在 Java 中,final 关键字可以以多种方式使用。 变量、方法或类都可以从 final 关键字中受益。 变量、方法或类只有在指定为 final 后才能赋值。

- final 类:已声明为 final 的类不能扩展。
- 最终变量:如果将变量标记为最终变量,您将无法更改它的值。
- final 方法:已声明为 final 的类不能扩展。
4、Java上下文中StringBuffer和StringBuilder类有什么区别?
字符串是使用 char 数组作为其内部存储的 Java 对象。 由于数组是不可变的(它们不能增长),因此字符串是不可变的。 每次用户对字符串进行更改时,都会创建一个新字符串。 另一方面,Java 提供了许多用于操作字符串的类。 StringBuffer 和 StringBuilder 是这类类的两个示例。
5. 解释 Java 中的垃圾收集。
垃圾收集是扫描堆内存的过程,确定哪些项目已使用,哪些未使用,然后删除未使用的项目。
引用的对象,也称为使用中的对象,表示它仍被应用程序的某些部分使用。 未引用的对象,也称为未使用的对象,是您的软件的任何部分都不再使用的对象。 因此可以回收未引用对象的内存。 垃圾收集最重要的优点是它使我们从手动内存分配和释放的繁琐任务中解放出来,使我们能够专注于手头的任务。
一旦我们将对象声明为可垃圾回收,垃圾回收器将无法销毁它。 当 JVM 运行垃圾收集器程序时,只有对象被销毁。 但是,我们无法知道 JVM 何时会运行垃圾收集器。
6.解释Java中接口和抽象类的区别。
abstract 关键字是类和方法的非访问修饰符。 抽象类是不能用于制作任何东西的类类型(要访问它,它必须从不同的类继承)。 对于抽象方法,它们没有主体,只能在抽象类中使用。 主体由子类(继承自)提供。
接口是 Java 中类的蓝图。 它具有静态常量和抽象方法。 接口是Java中实现抽象的工具。 Java 接口中只允许使用抽象方法,而不是方法体。 它在 Java 中用于实现抽象和大量继承。 换句话说,接口可以有抽象方法和变量。 禁止方法体的存在。
7、如何在C++中实现动态多态和静态多态?
多态性描述了任何事物的多个版本的存在。 简单来说,多态性是指消息以多种方式显示的能力。 根据解决过程调用所需的时间,可以分为两种方式:
- 函数的调用(调用)在构建时解决,这称为静态多态。 这可以通过使系统过载来实现。
- 运算符重载:在 C++ 中也可以重载运算符。 要连接两个字符串,我们可以使用字符串类的运算符 ('+')。 加法运算符的工作是将两个操作数相加。 当运算符 '+' 应用于整数和字符串操作数时,它将它们相加,但是,当应用于字符串操作数时,它将它们连接起来。
- 函数重载:当多个函数同名但参数不同时,称为重载。 随着参数数量或参数类型的变化,函数可能会重载。
- 运行时函数调用的解析称为动态多态性。 它是在 C++ 中使用继承方法 Overriding 实现的。
- 函数覆盖:当派生类定义基类的成员函数之一时,就会发生函数覆盖。 据说基本功能将被覆盖。
8.解释C++中指针和引用变量的区别。
指针是一个变量,它跟踪另一个变量的内存地址。
引用是已存在变量的别名。 对已初始化变量的引用不能更改为引用另一个变量。 因此,引用和 const 指针是相似的。
9. C++ 中的构造函数可以是私有的吗?
函数 Object() { [native code] } 是一个类的成员函数,负责初始化该类的对象。 当在 C++ 中创建类对象时,会自动调用函数 Object() { [native code] }。 构造函数通常在类的公共部分中定义。 因此,问题是是否可以在类的私有部分中定义构造。 答案是肯定的。 函数 Object() { [native code] } 可以在类的私有部分中定义。
- 如果我们想避免一个类被朋友类以外的任何人实例化,我们可以使用朋友类。
- 如果需要,我们可以使用单例模式来构造单例类。 这表明驱动系统的是单个项目或有限数量的对象,而不是同一类的多个对象。
- 不同的构造函数通过其参数列表来区分,因为它们与类具有相同的名称; 但是,如果有多个构造函数,则实现可能会容易出错。 根据 Named Constructor Idiom,你必须在 private 或 protected 部分声明类的所有构造函数,然后创建公共静态函数来获取类的对象。
10. 在数据结构的上下文中解释红黑树。
不同的构造函数通过其参数列表来区分,因为它们与类具有相同的名称; 但是,如果有很多构造函数,实现可能会变得容易出错。
根据 Named Constructor Idiom,你必须在 private 或 protected 部分声明类的所有构造函数,然后创建公共静态函数来获取类的对象。 这些树的内存占用与标准(未着色)二叉搜索树相似,因为每个节点只需要一位内存来存储颜色信息。
如果您渴望获得在具有挑战性、回报丰厚且充满活力的 IT 角色中工作所需的技能 - 我们将为您提供支持! 通过我们在加州理工学院 CTME 的合作伙伴设计的全栈 Web 开发课程中的创新研究生课程,发现无限的机会。 今天报名!
结论
高盛的面试是具有挑战性还是简单并不重要。 你为面试做的准备越多,你成功的机会就越大。 了解有关面试的所有信息,包括阶段、轮次和问题。 完全理解这个角色,包括他们对你的要求、你需要的技能以及你需要的证书。
您还可以选择 PGP Full Stack Web Developer - MEAN Stack 等课程。 作为 MEAN 堆栈开发人员,此培训将帮助您发展职业。 在这个全栈 MEAN 开发人员课程中,您将学习 MongoDB、Express.js、Angular 和 Node.js(“MEAN”)等顶级技能,以及 GIT、HTML、CSS 和 JavaScript,以开发和部署交互式应用程序和服务。