CONTENTS

    My Top Secrets for Passing DRW Codility Assessment in 2025

    avatar
    Silvia AN
    ·October 15, 2025
    ·7 min read
    My top secrets for passing the drw codility assessment in 2025

    DRW Codility Assessment Questions

    I’d like to share my experience with the DRW SDE online assessment. The test lasted 150 minutes and included three coding questions. The three questions gradually increased in difficulty, but they were all in the easy to medium range.

    I am really grateful for the tool Linkjob.ai, and that's also why I'm sharing my entire OA interview experience here. Having an invisible AI assistant during the interview is indeed very convenient.

    Task 1

    When I saw this question, my first thought was: as long as every character appears an odd number of times, it works.

    The logic is simple:

    • If N is odd, return N identical characters (e.g., "a" * N).

    • If N is even, return (N-1) identical characters plus one different character (e.g., "a" * (N-1) + "b").

    This ensures every character appears an odd number of times, perfectly meeting the condition.

    Time complexity is O(N), which is very efficient.

    Task 2

    This problem asks for the minimum number of swaps needed to make two numbers as close as possible.

    My approach was greedy:

    • Traverse from left to right, trying to swap the current digits at each step.

    • After each tentative swap, calculate the new difference and compare it to the current one.

    • If the swap reduces the difference, perform it and increment the swap counter.

    By always making the locally optimal choice, we end up with a globally optimal result.

    Task 3

    This was a bipartite matching problem: each patient has two preferred time slots, and each slot can only be assigned to one patient.

    Here’s the approach:

    • Build a bipartite graph: patients on the left, time slots on the right.

    • For each patient, try to match one of their two preferred slots.

    • Use the Hungarian algorithm to perform the matching.

    • If all patients can be matched to distinct slots, return true; otherwise, return false.

    The time complexity is O(N × S), which is efficient within the given constraints.

    DRW Codility Assessment Overview

    DRW’s Codility assessment is a critical step in their technical hiring process, designed to evaluate candidates’ problem-solving abilities, coding proficiency, and alignment with the firm’s analytical and quantitative focus. Unlike generic coding tests, DRW’s assessment emphasizes practical, efficient solutions: reflecting the real-world demands of roles in trading, software engineering, and quantitative research, where speed and accuracy directly impact outcomes.

    Question Types

    DRW’s Codility assessment typically features 3 coding problems, each with distinct formats tailored to gauge different aspects of technical skill:

    String Manipulation & Basic Logic: These problems test foundational coding skills, such as generating or transforming strings under specific constraints. They prioritize simplicity and edge-case handling, often requiring O(N) time complexity to pass strict performance checks.

    Optimization & Greedy Algorithms: Common in DRW’s tests, these questions focus on minimizing operations to achieve a goal, such as making two numbers as close as possible with the fewest swaps. They demand an understanding of greedy strategies, where local optimal choices lead to global solutions, and require balancing efficiency with correctness.

    Graph Theory & Matching: Problems in this category assess ability to model real-world scenarios using graph structures. They often involve implementing algorithms like the Hungarian method, testing both theoretical knowledge and practical coding of complex logic.

    All questions include hidden test cases, so handling edge cases is as critical as solving the core problem.

    Skills Tested

    DRW’s assessment is designed to measure a mix of technical and cognitive skills that align with their work in high-stakes, data-driven environments:

    Coding Proficiency: Candidates must demonstrate fluency in languages like Python and Java, with clean, readable code that avoids redundancy.

    Algorithmic Thinking: The ability to break down problems into logical steps, choose appropriate algorithms, and justify tradeoffs (time vs. space complexity).

    Attention to Detail: Success depends on handling edge cases and ensuring solutions work for all possible inputs, not just obvious ones.

    Efficiency Focus: DRW prioritizes solutions that run in optimal time, as roles at the firm frequently involve processing large datasets or making real-time decisions.

    Problem Decomposition: Complex problems require translating real-world requirements into abstract technical models, a skill central to roles in trading systems and quantitative development.

    In short, the assessment isn’t just about “solving code”, it’s about proving you can think like a DRW engineer: methodical, efficient, and focused on practical outcomes.

    DRW Codility Assessment Preparation Secrets

    Languages

    Picking the right programming language made a big difference. The platform lets you choose from a few popular options. Most candidates, including myself, stick with what we know best. Here are the main programming languages you can use:

    • Python

    • Java

    • C++

    Don’t switch languages right before the assessment. Practice programming in your chosen language until you can write code quickly and spot errors fast.

    Algorithms and Data Structures

    I can’t stress enough how important it is to master algorithms and data structures. Every question I faced tested my understanding of these topics.

    Here’s how I practiced:

    1. I reviewed basic data structures like stacks, queues, and hash maps.

    2. I solved algorithms problems on sorting, searching, and recursion.

    3. I worked on coding problems that mixed both data structures and algorithms.

    I made a table to track my progress:

    Topic

    Confidence Level

    Last Practiced

    Arrays

    High

    Yesterday

    Linked Lists

    Medium

    Last week

    Trees

    Medium

    Two days ago

    Sorting

    High

    Yesterday

    Recursion

    Low

    Last month

    Practicing programming every day helped me get faster and more accurate. If you want to pass, focus on understanding how algorithms work and how to use them with different data structures. This approach will help you tackle any coding challenge the assessment throws at you.

    Simulating Assessment

    Practicing under real test conditions made a huge difference. I set a timer for 150 minutes and tried to solve three coding problems, just like the actual test. This helped me get used to the pressure and the feeling of a real technical challenge.

    I also made a habit of reviewing my solutions right after each practice test. I looked for mistakes and tried to understand where I lost time. Sometimes, I would even redo the same technical challenge to see if I could improve my speed and accuracy.

    Speed Improvement

    Improving my coding speed took time and effort. I focused on a few key techniques that really helped me during the test. Here’s a table that shows what worked best for me:

    Technique

    Description

    Algorithm selection

    I used efficient algorithms like sliding window, prefix sums, DFS, and BFS.

    Clean code practices

    I wrote clear code with good names and single-purpose functions.

    Test case design

    I always checked edge cases, like empty inputs or duplicates.

    Debugging under time pressure

    I used print statements and helper functions to find bugs fast.

    Efficiency vs readability

    I chose simple, working solutions over complex ones that I couldn’t finish.

    DRW Interview Experience

    Frequent Errors

    Here are some of the most common mistakes you should avoid:

    Misreading the question: Many candidates jump into coding before fully understanding what the problem is asking. This wastes time and often leads to wrong answers.

    Optimizing too early: Some people try to make their code perfect right away. This just makes the solution overcomplicated and increases the chance of bugs.

    Ignoring edge cases: It’s easy to miss unusual inputs or extreme values. That can cause your code to fail hidden test cases during the assessment.

    Using weak variable names and unclear logic: If your variable names are too short or confusing, your code becomes harder to read and debug, and that slows you down.

    These mistakes can seriously hurt your performance, especially since the assessment tests your data analysis and problem-solving skills. The pressure to show strong quantitative thinking can make you rush or skip key steps. So stay calm and methodical.

    Final Tips

    Here are my final tips for passing the DRW OA assessment:

    1. Practice technical coding problems every day.

    2. Review your technical mistakes and learn from them.

    3. Simulate the DRW OA at home.

    4. Work on technical communication skills.

    5. Stay calm during the DRW OA.

    6. Ask for clarification if you do not understand a technical question.

    7. Use examples from your technical experience.

    8. Show enthusiasm for the DRW technical role.

    Tip

    Why It Helps in DRW Interview

    Practice technical problems

    Builds confidence for DRW technical questions

    Communicate clearly

    Impresses DRW technical interviewers

    Ask questions

    Shows interest in DRW SDE interview

    Stay calm

    Helps you think during DRW technical challenges

    FAQ

    Does the DRW Codility assessment show hidden test cases?

    No, it doesn’t. It only provides the sample cases shown in the problem statement, so you have to write your own test cases to cover edge scenarios.

    How long did it take for you to get the OA after applying?

    I got the OA invitation four days after I submitted my application, and they gave me one week to complete it.

    Will I get partial credit if my solution only works for some test cases?

    Yes. DRW’s OA doesn’t require all test cases to pass to receive points, partial correctness still earns partial credit. That’s why it’s better to make sure your core logic works first, then improve edge cases and performance later. Don’t risk submitting an empty or unfinished solution just because you were aiming for perfection.