|tips

Goldman Sachs vs Visa: Interview Question Comparison

Compare coding interview questions at Goldman Sachs and Visa — difficulty levels, topic focus, and preparation strategy.

When preparing for technical interviews at top financial and tech companies, understanding the specific focus areas and difficulty profiles can dramatically improve your efficiency. Goldman Sachs and Visa, while both prestigious, present distinct challenges in their coding interviews. This comparison breaks down their question volume, difficulty, and core topics to help you prioritize your study.

Question Volume and Difficulty

Goldman Sachs maintains a significantly larger and more challenging question bank. With 270 total questions, the distribution is 51 Easy, 171 Medium, and 48 Hard. This volume indicates a deep and varied interview process where you must be prepared for a wide range of problems, with a strong emphasis on Medium-difficulty challenges that test robust algorithmic thinking.

Visa's question bank is more compact at 124 questions, with a distribution of 32 Easy, 72 Medium, and 20 Hard. The focus is clearly on Medium-difficulty problems, but the overall lower volume and reduced proportion of Hard questions suggest a slightly more predictable interview scope. The primary goal here is demonstrating solid fundamentals and clean code.

Topic Overlap

Both companies heavily test core data structures. Array, String, and Hash Table problems form the foundation for interviews at both firms. You must be fluent in manipulating these structures.

The critical differentiator is Dynamic Programming (DP). Goldman Sachs explicitly lists it as a key topic, which aligns with their 48 Hard questions—many of which are likely DP problems. Visa's listed topics do not include DP, focusing instead on Sorting. This suggests Visa interviews may involve more problems about arranging data, optimizing sorts, or using sorting as a key step in a solution.

Here is a typical problem you might see at each company, highlighting their focus:

# Goldman Sachs Focus: Dynamic Programming
# Problem: Coin Change (Minimum coins to make amount)
def coinChange(coins, amount):
    dp = [float('inf')] * (amount + 1)
    dp[0] = 0
    for i in range(1, amount + 1):
        for coin in coins:
            if coin <= i:
                dp[i] = min(dp[i], dp[i - coin] + 1)
    return dp[amount] if dp[amount] != float('inf') else -1
# Visa Focus: Sorting + Array
# Problem: Merge Intervals
def merge(intervals):
    intervals.sort(key=lambda x: x[0])
    merged = []
    for interval in intervals:
        if not merged or merged[-1][1] < interval[0]:
            merged.append(interval)
        else:
            merged[-1][1] = max(merged[-1][1], interval[1])
    return merged

Which to Prepare for First

Prepare for Visa first. Its narrower scope—centered on Arrays, Strings, Hash Tables, and Sorting—allows you to build a strong foundation in core algorithms and data structures efficiently. Mastering these will make you interview-ready for Visa and provide a solid base for more complex topics.

Once that foundation is set, transition to Goldman Sachs preparation. This requires expanding your study to tackle the high volume of Medium problems and the significant challenge of Dynamic Programming. The skills built for Visa will apply directly to many of Goldman's problems, letting you focus your additional effort on conquering DP and the greater number of Hard questions.

For targeted practice, visit the Goldman Sachs question list and the Visa question list.

Related Articles