Principais perguntas e respostas da entrevista do Goldman Sachs para 2022

Publicados: 2022-09-21

O Goldman Sachs Group, Inc. é uma das principais instituições financeiras globais que oferece uma ampla gama de serviços financeiros para uma base diversificada de clientes que inclui instituições financeiras, corporações, indivíduos e governos em bancos, gestão de investimentos, títulos e bancos de consumo . Fundada no ano de 1869 e sediada em Nova York, a Goldman Sachs tem escritórios em muitos dos principais centros financeiros do mundo. O objetivo da organização é impulsionar o crescimento econômico global, bem como as oportunidades financeiras.

A Goldman Sachs também mobiliza seu pessoal e recursos para aumentar o sucesso de seus clientes, ampliar a prosperidade individual e acelerar o progresso econômico para todos, aproveitando mais de 150 anos de experiência de trabalho com as maiores organizações, instituições e empreendedores do mundo. De acordo com a Goldman Sachs, colaboração, trabalho em equipe e honestidade proporcionam o ambiente ideal para os funcionários entregarem os melhores resultados possíveis para seus clientes.

Sempre procura profissionais que prosperem neste ambiente com paixão, raciocínio rápido, bem como habilidades de comunicação que prevalecem sobre qualificações precisas. Portanto, se você ainda está na escola, se formou recentemente ou tem alguns anos de experiência, o Goldman Sachs quer saber de você se estiver interessado em trabalhar lá.

Programa de Pós-Graduação: Desenvolvimento Web Full Stack

em colaboração com Caltech CTME Inscreva-se agora
Programa de Pós-Graduação: Desenvolvimento Web Full Stack

Processo de Recrutamento Goldman Sachs

Processo de entrevista

Os candidatos serão analisados ​​com base em sua programação e suas habilidades analíticas. A empresa realiza geralmente quatro rodadas em seu processo de recrutamento:

  • Teste on-line
  • Entrevista técnica
  • Entrevista de RH

Rodadas de entrevista

Teste on-line

As seções do teste de avaliação online do Goldman Sachs são as seguintes:

  • Teste de Aptidão Quantitativo: Este teste inclui questões sobre computação numérica e raciocínio. Os candidatos devem se preparar para perguntas com base em lucros e perdas, números, probabilidade, proporção, tempo e velocidade, distância, média, permutação e combinação. A habilidade matemática dos candidatos será avaliada por meio de quebra-cabeças e séries esquemáticas.
  • Raciocínio: Esta seção inclui citações sobre raciocínio diagramático, raciocínio abstrato e raciocínio lógico. Eles também precisam preparar perguntas sobre codificação, decodificação, arranjos de dados, algoritmos, interpretações de dados, entrada, saída, circuitos, fluxogramas, etc.
  • Habilidade Verbal: Esta seção é sobre compreensão de leitura. Você precisa praticar os tópicos com base em omissões, erros e artigos.
  • Seção Técnica: Neste teste, você precisa resolver as questões sobre:
    • Ciência da Computação
    • Aptidão avançada
    • Codificação
    • Programação competitiva
    • Subjetivo

Entrevista técnica

Os candidatos aprovados no teste de avaliação online serão convocados para a entrevista técnica presencial. O objetivo da entrevista técnica é avaliar suas habilidades técnicas relacionadas à função específica que você está procurando e descobrir como você analisa e resolve situações estressantes.

O entrevistador também avaliará suas habilidades de resolução de problemas. Você será questionado sobre seus trabalhos e projetos anteriores, bem como o que você fez e como usou a tecnologia e seu nível de sucesso. Prepare-se aprendendo os princípios da ciência da computação.

A Goldman Sachs procura candidatos que tenham um forte conhecimento conceitual de pelo menos uma linguagem de programação, como Java, C/C++, JavaScript ou Python. Seu progresso nas rodadas anteriores, seu perfil de trabalho, sua experiência e as demandas da empresa influenciarão o número de entrevistas técnicas que você terá. Na maioria dos casos, cada candidato passará por duas rodadas de entrevistas técnicas.

Entrevista de RH

Depois de passar pela entrevista técnica, você será convidado para a rodada de RH. O objetivo de conduzir a entrevista de RH é analisar a personalidade do candidato, seu histórico, personalidade, pontos fortes e fracos para determinar se ele é adequado para aquela função específica. Assim, você deve estar bem preparado para a entrevista de RH.

Avalie seu currículo para certificar-se de que adicionou todas as informações pessoais essenciais e que os dados fornecidos são precisos de acordo com seu conhecimento. Eles também podem perguntar sobre a história da Goldman Sachs, inclusive quando a empresa foi fundada, bem como seus objetivos, crenças e estrutura organizacional. Prepare-se para responder a quaisquer perguntas que possam ser feitas sobre o seu currículo. Em suas respostas, explique seu interesse pela profissão e o que mais o motiva.

A seguir estão alguns de seus exemplos de perguntas:

  • Fale-me sobre você (Você deve começar a contar sobre sua história familiar e depois explicar suas qualificações educacionais e avanço profissional)
  • Você pode se mudar para outras partes da Índia?
  • Onde você se vê depois de cinco anos?
  • Por que você deve contratá-lo?
  • Conte-me sobre seus estágios e os projetos que você lidou.
  • O que fez você decidir procurar um novo emprego?

Curso de Desenvolvedor Java Full Stack

Em parceria com HIRIST e HackerEarth EXPLORE COURSE
Curso de Desenvolvedor Java Full Stack

Perguntas da entrevista técnica da Goldman Sachs para experientes e calouros

1. O que é multithreading em Java? Como os fios são formados?

Multithreading é um recurso em Java que permite a execução de duas ou mais seções de um programa simultaneamente para maximizar a eficiência da CPU. Também é um processo que é seguido para executar vários threads simultaneamente.

As threads são formadas usando dois mecanismos diferentes:

  • Estendendo a classe de thread: Vamos criar uma classe de extensão java.lang. O fio é um tipo de fio. O método run() da classe Thread é substituído por esta classe. A vida de um thread começa com o método run(). Inicializamos um objeto de nossa nova classe e chamamos a função start() para iniciar a execução do thread. A função run() do objeto Thread é chamada por Start().
  • Colocando a interface executável em prática: Criamos uma nova classe para implementar a interface java.lang. Substitua o método run() da interface. Em seguida, construímos um objeto Thread e invocamos o método start() nele.

A seguir estão as vantagens do multithreading:

  • Como os encadeamentos usam um espaço de memória compartilhado, isso ajuda a economizar memória.
  • Os threads são independentes, permitindo que várias tarefas sejam concluídas ao mesmo tempo, economizando tempo.
  • Como os encadeamentos são independentes, uma exceção em um encadeamento não tem impacto em outros encadeamentos.

2. Explique hashCode() e equals() em Java.

A estrutura de coleção Java inclui HashMap. HashMap emprega a técnica de hash. O processo de transformar um item em um valor inteiro é conhecido como hash. O valor inteiro ajuda na indexação e na velocidade de pesquisa. É responsável por projetar a interface do usuário do mapa. Mantém as informações em um par Chave/Valor. O nó no HashMap é representado por uma classe que possui uma matriz de nós. Internamente, ele armazena Chave e Valor em uma matriz e estrutura de dados LinkedList. HashMap contém quatro campos.

  • hashCode() é uma funcionalidade na classe de objeto. Ele retorna uma representação inteira da referência de memória do objeto. O valor retornado pelo método determina o número do bucket. O número do bucket representa a localização do elemento no mapa. O código hash para Null Key é 0.
  • equals() é uma função que é usada para comparar dois objetos e determina se eles são iguais. A chave é comparada para verificar se são equivalentes. É um método que pertence à classe Object. É possível contorná-lo. Se você substituir o método equals(), também terá que substituir o método hashCode().

3. Explique a palavra-chave final em Java.

A palavra-chave final é usada para restringir o usuário em Java. Em Java, a palavra-chave final pode ser usada de várias maneiras. Uma variável, método ou classe podem se beneficiar da palavra-chave final. Uma variável, método ou classe só pode ser atribuída uma vez que tenha sido designada como final.

  • Classe final: Uma classe que foi declarada como final não pode ser estendida.
  • Variável final: Você não poderá alterar o valor de uma variável se a marcar como final.
  • Método final: Uma classe que foi declarada como final não pode ser estendida.

Curso de Desenvolvedor Web Full Stack

Para se tornar um especialista no curso MEAN Stack View
Curso de Desenvolvedor Web Full Stack

4. Qual é a diferença entre as classes StringBuffer e StringBuilder no contexto de Java?

Strings são objetos Java que usam uma matriz char como armazenamento interno. Como arrays são imutáveis ​​(eles não podem crescer), strings são imutáveis. Uma nova String é criada toda vez que um usuário faz uma alteração em uma String. Java, por outro lado, fornece várias classes para manipular strings. StringBuffer e StringBuilder são dois exemplos desses tipos de classes.

5. Explique a coleta de lixo em Java.

A coleta de lixo é o processo de varredura da memória heap, determinando quais itens são usados ​​e quais não são e, em seguida, removendo os não usados.

Um objeto referenciado, também conhecido como objeto em uso, indica que ainda é usado por alguma parte de seu aplicativo. Objetos não referenciados, também conhecidos como objetos não utilizados, são objetos que não são mais usados ​​por nenhuma parte do software. A memória de um objeto não referenciado pode, portanto, ser recuperada. A vantagem mais importante da coleta de lixo é que ela nos libera da tediosa tarefa de alocação e desalocação manual de memória, permitindo que nos concentremos na tarefa em questão.

O coletor de lixo não poderá destruir um objeto uma vez que o declaramos coletável como lixo. Quando a JVM executa o programa Garbage Collector, apenas o objeto é destruído. No entanto, não podemos saber quando a JVM executará o Garbage Collector.

6. Explique a diferença entre uma interface e uma classe abstrata em Java.

A palavra-chave abstract é um modificador sem acesso para classes e métodos. Uma classe abstrata é um tipo de classe que não pode ser usada para fazer nada (para acessá-la, ela deve ser herdada de uma classe diferente). Quando se trata de métodos abstratos, eles não têm corpo e só podem ser utilizados em classes abstratas. O corpo é fornecido pela subclasse (herdado de).

Uma interface é um modelo para uma classe em Java. Possui constantes estáticas e métodos abstratos. A interface é uma ferramenta para obter abstração em Java. Apenas métodos abstratos, não corpos de métodos, são permitidos na interface Java. Ele é usado em Java para obter abstração e inúmeras heranças. As interfaces podem ter métodos e variáveis ​​abstratos, para colocar de outra forma. A presença de um corpo de método é proibida.

7. Como você pode implementar polimorfismo dinâmico e estático em C++?

O polimorfismo descreve a existência de inúmeras versões de qualquer coisa. Em palavras simples, polimorfismo refere-se à capacidade de uma mensagem ser exibida de várias maneiras. Ele pode ser classificado de duas maneiras com base no tempo que leva para resolver a chamada de procedimento:

  • A invocação (chamada) de uma função é resolvida em tempo de compilação, o que é conhecido como polimorfismo estático. Isso pode ser feito sobrecarregando o sistema.
    • Sobrecarga de Operadores: A sobrecarga de operadores também é possível em C++. Para concatenar duas strings, podemos usar o operador da classe string ('+'). O trabalho do operador de adição é somar dois operandos. Quando o operador '+' é aplicado a operandos inteiros e string, ele os soma, porém, quando aplicado a operandos string, ele os concatena.
    • Sobrecarga de Função: Quando existem várias funções com o mesmo nome, mas com parâmetros diferentes, isso é conhecido como sobrecarga. As funções podem ficar sobrecarregadas à medida que o número de argumentos ou o tipo de argumentos mudam.
  • A resolução de uma chamada de função durante o tempo de execução é chamada de polimorfismo dinâmico. Ele é implementado em C++ usando o método de herança Overriding.
    • Substituição de função: A substituição de função ocorre quando uma classe derivada define uma das funções de membros da classe base. Afirma-se que a função básica será substituída.

8. Explique as diferenças entre ponteiros e variáveis ​​de referência em C++.

Um ponteiro é uma variável que controla o endereço de memória de outra variável.

Uma referência é um alias para uma variável já existente. Uma referência a uma variável inicializada não pode ser alterada para se referir a outra variável. Como resultado, uma referência e um ponteiro const são semelhantes.

Novo Curso: Desenvolvimento Full Stack para Iniciantes

Aprenda Git Command, Angular, NodeJS, Maven e mais Inscreva-se agora
Novo Curso: Desenvolvimento Full Stack para Iniciantes

9. Um construtor pode ser privado em C++?

Uma função Object() { [código nativo] } é uma função membro de uma classe que se encarrega de inicializar os objetos da classe. A função Object() { [código nativo] } é invocada automaticamente quando um objeto de classe é criado em C++. Construtores geralmente são definidos na seção pública de uma classe. Como resultado, a questão é se a construção pode ser definida na seção privada da classe. A resposta é um sim retumbante. Uma função Object() { [código nativo] } pode ser definida na seção privada de uma classe.

  • Se quisermos evitar que uma classe seja instanciada por alguém que não seja uma classe amiga, podemos usar a classe amiga.
  • Podemos usar o padrão Singleton para construir uma classe singleton se precisarmos. Isso indica que um único item ou um número limitado de objetos, em vez de vários objetos da mesma classe, estão conduzindo o sistema.
  • Diferentes construtores são diferenciados por suas listas de parâmetros porque têm o mesmo nome das classes; no entanto, se houver vários construtores, uma implementação pode se tornar propensa a erros. De acordo com o idioma do construtor nomeado, você deve declarar todos os construtores da classe nas seções privadas ou protegidas e, em seguida, criar funções estáticas públicas para obter os objetos da classe.

10. Explique uma árvore vermelho-preta no contexto das estruturas de dados.

Diferentes construtores são diferenciados por suas listas de parâmetros porque têm o mesmo nome das classes; no entanto, se houver muitos construtores, a implementação pode se tornar propensa a erros.

De acordo com o idioma do construtor nomeado, você deve declarar todos os construtores da classe nas seções privadas ou protegidas e, em seguida, criar funções estáticas públicas para obter os objetos da classe. Essas árvores têm uma pegada de memória semelhante a uma árvore de pesquisa binária padrão (sem cores), porque cada nó precisa apenas de um bit de memória para armazenar as informações de cor.

Se você está ansioso para adquirir as habilidades necessárias para trabalhar em uma função de TI desafiadora, gratificante e dinâmica, nós o apoiamos! Descubra as infinitas oportunidades através deste curso inovador do Programa de Pós-Graduação em Desenvolvimento Web Full Stack desenvolvido por nossos parceiros do Caltech CTME. Inscreva-se hoje!

Conclusão

Não importa se a entrevista do Goldman Sachs é desafiadora ou fácil. Quanto mais você se preparar para as entrevistas, maiores serão suas chances de sucesso. Saiba tudo sobre entrevistas, incluindo etapas, rodadas e perguntas. Compreenda completamente a função, incluindo o que eles querem de você, os conjuntos de habilidades que você precisará e as credenciais que você precisará.

Você também pode optar por cursos como PGP Full Stack Web Developer - MEAN Stack. Como desenvolvedor de pilha MEAN, este treinamento o ajudará a progredir em sua carreira. Ao longo deste currículo Full Stack MEAN Developer, você estudará as principais habilidades como MongoDB, Express.js, Angular e Node.js ("MEAN"), bem como GIT, HTML, CSS e JavaScript, para desenvolver e implantar aplicativos interativos e serviços.