← Back to blog HackerRank OA Company Question-Type Map & Prep
HackerRank

HackerRank OA Company Question-Type Map & Prep

2026-07-16

HackerRank is the first-round screen for many companies, used by big tech, quant funds, and startups alike to run their online assessments. Yet the same platform hides very different styles: some companies test standard algorithms, some test parsing and implementation, and some go straight to high difficulty plus tight time. If you prep every company with one template, it is easy to slip exactly where you should be scoring.

This article is not about platform mechanics (see our platform mechanics deep dive for that). It answers a more practical question: which companies tend to ask which question types, and how you should bucket your prep. The core is a company-to-question-type map, paired with the priorities for each bucket, and it closes with a complete, runnable solution to a representative problem. The OA is usually the gateway to every later round, so failing it means losing the interviews directly, which is why it pays to prep per company.

Company-to-Question-Type Map (Core Cheat Sheet)

Company / bucket Typical time High-frequency types Notes
Big tech: Google / Amazon / Meta 60-90 min Standard algorithms and data structures, medium Arrays, hashing, graphs, DP; broad coverage
Big tech: TikTok (SDE Intern) 60-90 min Sliding window + hashmap heavy String / subarray window problems common
Big tech: Uber 60-90 min Graphs, design-flavored, medium algorithms More engineering-implementation feel
Quant: Citadel / Two Sigma ~75 min High-difficulty parsing + optimization, some probability/math Tight time, long prompts; reading is the hard part
Quant: Jane Street / Optiver 60-90 min High-difficulty implementation + math modeling Strict on detail and edge cases
Startup: Stripe 90-120 min Prefix sum + parsing + validation logic Practical / implementation-oriented, business-like prompts
Startup: Airbnb 60-90 min SQL + Python mixed data analysis Data processing plus query skills
Startup: Palantir 90-120 min Data modeling + implementation About writing complex requirements correctly

Note: roles and batches vary within the same company. The table above is a distilled trend from public experience, meant to set your main focus, not an absolute rule.

1) Bucketed Prep Strategy: Different Companies, Different Focus

Big tech bucket (Google / Amazon / Meta / TikTok / Uber)

Big tech OAs are the most standard: they test fluency with core algorithms and data structures, usually at medium difficulty. Priorities:

Quant finance bucket (Citadel / Two Sigma / Jane Street / Optiver)

Quant OAs are marked by high difficulty, long prompts, and tight time (Citadel/Two Sigma often run 75 minutes). Priorities:

Startup bucket (Stripe / Airbnb / Palantir)

Startups lean practical and implementation-heavy, with business-like prompts. Priorities:

2) Representative Problem: At Most K Distinct in a Window

A high-frequency representative for the TikTok/big-tech bucket: given an array and an integer K, find the length of the longest contiguous subarray containing at most K distinct elements. It is the classic sliding window + hashmap combination and worth mastering.

Approach

  1. Use a hashmap to track the count of each element in the current window, expanding the right pointer rightward.
  2. When the number of distinct elements exceeds K, move the left pointer right to shrink until distinct count is back to <= K.
  3. Update the answer with the current window length at every step. Each element enters and leaves the window at most once, so it is overall linear.

Python Solution (Complete and Runnable)

import sys
from collections import defaultdict

def longest_subarray_k_distinct(nums, k):
    # Count of each element in the window; left is the window's left edge
    count = defaultdict(int)
    left = 0
    best = 0
    for right, x in enumerate(nums):
        count[x] += 1
        # Shrink from the left while distinct count exceeds k
        while len(count) > k:
            count[nums[left]] -= 1
            if count[nums[left]] == 0:
                del count[nums[left]]
            left += 1
        best = max(best, right - left + 1)
    return best

def main():
    data = sys.stdin.read().split()
    if not data:
        return
    # Input: first line n k, second line n integers
    n, k = int(data[0]), int(data[1])
    nums = list(map(int, data[2:2 + n]))
    print(longest_subarray_k_distinct(nums, k))

if __name__ == "__main__":
    main()

Run it with sample n=7 k=2 and array 1 2 1 2 3 3 4, and the answer is 4 (the subarray 1 2 1 2). Without stdin, call longest_subarray_k_distinct([1,2,1,2,3,3,4], 2) directly to verify.

Time complexity: O(n); each element enters and leaves the window at most once. Space complexity: O(k); the hashmap holds at most k+1 elements.

3) A Two-Week Plan by Bucket

Stage Big tech bucket Quant bucket Startup bucket
Week 1 Arrays/hashing/sliding window basics High-difficulty parsing + probability intro Prefix sum/parsing/SQL basics
Week 2 Graphs + DP + full timed mock Timed optimization + long-prompt decomposition mock Business-style implementation + data analysis mock

Whatever the bucket, finish with a full timed mock: run one under your target company's time and question types to drill pacing, reading, and edge cases. HackerRank scores against all hidden test cases (covering runtime, edge cases, and memory), so the goal is to pass every case on each problem where you can.

If you want to be more efficient, our OA assist / OA live support offers per-company question-type prediction, complete solution and complexity walkthroughs, and real-time coaching so your OA and later VO stay stylistically consistent, an end-to-end companion from the assessment through the interview.


FAQ

Q1: What is the difference between HackerRank and LeetCode? LeetCode usually gives you a function signature and you fill in the core logic; HackerRank often makes you read stdin and handle IO yourself, with prompts closer to each company's business style. Beyond drilling algorithms, practice IO templates and prompt decomposition.

Q2: Which companies use HackerRank? A very broad set: big tech such as Google, Amazon, Meta, TikTok, and Uber; quant finance such as Citadel, Two Sigma, Jane Street, and Optiver; and startups such as Stripe, Airbnb, and Palantir all commonly use it for first-round online assessments. See the map above for specific types.

Q3: Do I have to pass all test cases on an OA? HackerRank scores by number of passing cases, so partial credit exists, but a higher score is safer. AC the samples and simple cases first for baseline points, then push for the hidden ones; passing them all is best, especially when quant competition is fierce.

Q4: Are companies really different enough to prep separately? The main focus does differ: TikTok leans sliding window + hashmap, Stripe leans prefix sum and parsing, quant leans high-difficulty optimization. Core algorithms are the shared base, but tilting limited time toward your target company's high-frequency types gives the best return.

Q5: What if I only have time to prep one type? First decide which bucket your top-choice company sits in and focus there. The big-tech bucket's sliding window + hashmap + DP has the broadest coverage and is the most transferable starting point; add quant's high-difficulty parsing or startups' parsing/SQL if you have room.


Preparing for a HackerRank OA?

If you are unsure which question types your target company favors, and you want per-company prediction paired with complete solution walkthroughs, let's talk through our OA assist / OA live support plan — from the company question-type map to real-time coaching, prepping your OA and later VO together.

Message WeChat Coding0201 now and get a per-company question list and prep plan.

Contact