Mastering Dynamic Programming at Goldman Sachs: My Challenging Interview Journey

goldmansachs | | Interview Experience

Interview Date: Not specified
Result: Not specified
Difficulty: Not specified

Interview Process

The interview consisted of multiple rounds, including technical and behavioral assessments. The technical round focused on problem-solving and algorithm design, while the behavioral round assessed cultural fit and teamwork.

Technical Questions

  1. Dynamic Programming
    Problem: Given a box of ethernet cables arranged in a grid of dimensions rows x columns, return a list where, for each query, it contains the sum of the number of ways to select a x a squares for each value of a, where 1 <= a <= min(rows, columns).

    Example:
    For the query [5, 3], the total number of ways to select squares is calculated as follows:

    • 15 ways to choose a 1 x 1 area.
    • 8 ways to choose a 2 x 2 area.
    • 3 ways to choose a 3 x 3 area.
    • Total = 15 + 8 + 3 = 26.
  2. Greedy
    Problem: Given n processes to be executed on a CPU, and an array named priorities, calculate the starvation time for each process. A process experiences starvation if a lower-priority process is executed before it.

Tips & Insights

  • Focus on understanding the problem requirements thoroughly before diving into coding.
  • Practice similar problems to enhance your problem-solving skills and familiarity with algorithms.