CONTENTS

    My Honest Story About Taking the Marshall Wace Codility Test

    avatar
    Silvia AN
    ·October 15, 2025
    ·5 min read
    Here is my honest story about taking the Marshall Wace Codility test and how you can learn from my journey

    Marshall Wace Codility Test Questions

    Here’s my experience with the Marshall Wace OA. I applied for the tech intern position. There was only one LeetCode-style problem that focused on processing JSON data. There was also one SQL question, and another task where you had to debug code written in an uncommon language, which you can easily search for online. Overall, it was pretty straightforward, and the time was more than enough.

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

    Question 1: SQL Query

    Solution Approach:

    To solve this problem, we need to find all user IDs that have at least one “SUCCESS” login and have logged in from two or more different countries. The steps are:

    1. Filter records: Select only the rows where status = 'SUCCESS'.

    2. Group and count: Group the results by user_id and count the number of distinct countries for each user using COUNT(DISTINCT country).

    3. Filter results: Keep only those user_ids with two or more distinct countries, and sort them alphabetically.

    Final SQL query:

    SELECT user_id
    FROM login_attempts
    WHERE status = 'SUCCESS'
    GROUP BY user_id
    HAVING COUNT(DISTINCT country) >= 2
    ORDER BY user_id;

    Question 2: Coding (Maximum Events in 60 Seconds)

    Solution Approach:

    This problem can be solved using a sliding window (two-pointer) approach, since the timestamps are sorted. Here’s how to do it:

    1. Initialize two pointers: left = 0, and iterate through each right.

    2. For each right, move the left pointer forward until timestamps[right] - timestamps[left] < 60 (ensuring the window covers only 60 seconds).

    3. Count the number of events within the window (right - left + 1) and update the maximum count.

    Here’s my Python implementation:

    def max_events_in_60s(timestamps):
        max_count = 0
        left = 0
        for right in range(len(timestamps)):
            # Move left pointer to keep window within 60 seconds
            while timestamps[right] - timestamps[left] >= 60:
                left += 1
            # Count current window events and update max
            current_count = right - left + 1
            if current_count > max_count:
                max_count = current_count
        return max_count

    Example:

    If timestamps = [1, 2, 61, 62, 121], the output will be 2, since the windows [1, 2] and [61, 62] both contain the maximum number of events within 60 seconds.

    Marshall Wace Codility Test Preparation Guide

    To perform well in the Marshall Wace Codility Test, which emphasizes financial data scenarios, algorithmic efficiency, and code robustness, you need to prepare across three key areas: technical skills, platform familiarity, and mindset management.

    Strengthen Technical Skills

    Data Processing and Algorithm Optimization

    Focus on problems involving time-series data processing, high-frequency data filtering, and deduplication. Practice using Python’s Pandas library to handle minute-level stock price data, and master techniques like sliding windows and hash tables for financial use cases.

    Pay close attention to algorithmic complexity. Start with brute-force O(n²) approaches, then practice optimizing them through sorting and binary search to reach O(n log n), ensuring scalability for large datasets.

    Programming Logic and Code Robustness

    Simulate edge and exception cases, such as writing functions that process trading orders with missing fields. Include field validation, type conversion, and error handling (try-except) logic.

    Also, improve code readability by using clear variable names and adding comments to explain key logic steps. This approach aligns with Marshall Wace’s emphasis on writing maintainable, production-quality code.

    Mathematical and Quantitative Thinking

    Review probability, statistics, and linear algebra, focusing on topics like parameter estimation in option pricing models and Monte Carlo simulations for strategy risk evaluation.

    You can practice using quantitative finance problem sets on LeetCode to build intuition for combining mathematical modeling with code implementation.

    Adapt to the Platform and Process

    Codility Platform Operations

    Create a Codility account and complete one or two official practice tests to get used to the interface. Learn how to check execution time and memory usage so you don’t lose time during the actual test.

    Simulated Test Environment

    Use question sets that match Marshall Wace’s difficulty level (for example, LeetCode Medium–Hard problems or Codility’s “Finance” section) to practice under time constraints and improve time allocation strategy.

    Device and Network Preparation

    Test your setup one day before the exam. Ensure your computer runs smoothly, disable unnecessary browser extensions, and use a wired connection for better stability.

    Manage Your Mindset and Attention to Detail

    Mental Preparation

    Don’t get stuck on a single question. If a problem takes too long, mark it and move on to others you can solve more confidently. This helps maximize your score within limited time.

    Detail Verification

    Before submitting, check boundary conditions and syntax errors to avoid losing points on minor mistakes.

    Pre-Test Confirmation

    Double-check the instructions in the HR email: verify the test link validity, language options, and set a reminder 30 minutes before the start so you have enough time to prepare and avoid being late.

    Advice for Candidates

    Application Process

    1. I started by reading the job description and understanding what Marshall Wace wanted.

    2. I made sure my application was complete and error-free.

    3. I practiced coding problems every day, focusing on topics that often appear in tests.

    4. I set up a quiet space for the test and checked my internet connection.

    5. I reviewed my answers before submitting the test.

    Resources

    I found some resources that helped me during my application process. You might find these useful too:

    • LeetCode and HackerRank for coding practice.

    • Codility’s own demo tests.

    • YouTube tutorials for tricky algorithms.

    • Reddit threads about the Marshall Wace application.

    Final Checklist

    Before you start your application, check these points:

    • Is your application complete?

    • Did you practice under timed conditions?

    • Do you know the test format?

    • Are you comfortable with your chosen programming language?

    • Did you test your setup?

    FAQ

    How long is the Marshall Wace Codility OA?

    My Intern OA lasted 70 minutes. For roles like Quant, the duration is likely longer since Quant tests usually include three coding questions.

    Are there other question types besides coding in the Marshall Wace OA?

    Yes, in addition to coding questions, there are also multiple-choice questions.

    Which programming languages can be used during the interview?

    Python, C++, or Java are all allowed. Python is generally a bit easier to use.