Software Engineer

Software EngineerL2Medium

DRW is a leading principal trading firm that employs sophisticated technology and risk management to operate across global markets. We are looking for talented Software Engineers to join our team and contribute to building and maintaining our cutting-edge trading systems. This interview process is designed to assess your technical skills, problem-solving abilities, and cultural fit within our fast-paced environment.

Rounds·3

Timeline·~14d

Experience·2 - 5 yrs

Comp band·US$110000 - US$150000

Interview time·135 min

Evaluation

What they measure.

  • Technical proficiency in relevant programming languages and data structures.
  • Problem-solving approach and analytical skills.
  • Ability to design and implement scalable and efficient solutions.
  • Understanding of software development best practices.
  • Communication and collaboration skills.
  • Cultural fit and alignment with DRW's values.

Preparation

How to prepare.

Tips

  1. Review fundamental data structures and algorithms.
  2. Practice coding problems on platforms like LeetCode, HackerRank, or AlgoExpert.
  3. Brush up on object-oriented programming principles and design patterns.
  4. Understand core computer science concepts such as operating systems, databases, and networking.
  5. Prepare to discuss your past projects and technical experiences in detail.
  6. Research DRW's business and the financial industry.
  7. Practice behavioral questions using the STAR method (Situation, Task, Action, Result).
  8. Prepare thoughtful questions to ask the interviewer.

Study plan

Fig · Study plan — 05 phases

01 / 05
01

Phase 01 of 05

Data Structures

Weeks 1-2: Data Structures (Arrays, Lists, Trees, Graphs, Hash Tables). Practice problems.

Weeks 1-2: Focus on core data structures (Arrays, Linked Lists, Stacks, Queues, Trees, Graphs, Hash Tables) and their common operations and time complexities. Practice problems related to these structures.

Questions

Commonly asked.

  • Write a function to reverse a linked list.
  • Given an array of integers, find the two numbers that add up to a specific target.
  • Design a URL shortening service.
  • How would you design a system to handle real-time stock price updates?
  • Tell me about a time you failed and what you learned from it.
  • What are your strengths and weaknesses?
  • Why are you interested in working at DRW?
  • Describe a complex bug you encountered and how you debugged it.
  • How do you approach code reviews?
  • What is the difference between a process and a thread?

Locations

Regional differences.

Fig · Regions — 03 locations

01 / 03

Location

Chicago

Interview focus

Problem-solving and debugging skillsUnderstanding of distributed systemsExperience with high-frequency trading concepts (if applicable)Adaptability to different technologies

Common questions

  • Describe a challenging technical problem you solved in a previous role.
  • How do you approach debugging complex issues?
  • Tell me about a time you had to work with a legacy codebase.
  • What are your thoughts on microservices vs. monolithic architectures?
  • How do you ensure the quality and reliability of your code?

Tips

  • Research DRW's specific technology stack if possible.
  • Be prepared to discuss your experience with low-latency systems.
  • Highlight any experience with financial markets or trading.
  • Emphasize your ability to work in a collaborative and high-pressure environment.

Rounds

Round-by-round.

Expand a step for evaluation criteria, sample questions, and prep notes.

Med

Data Structures And Algorithms Interview · 45 min · Software Engineer

This round focuses on your fundamental computer science knowledge, particularly data structures and algorithms. You will be asked to solve coding problems, and your ability to explain your thought process, analyze the time and space complexity of your solution, and write clean, efficient code will be assessed.

What they look for

Strong grasp of data structures and algorithms.Logical thinking and problem-solving skills.Clean and efficient coding practices.Ability to communicate technical ideas effectively.

Evaluation

  • Correctness of the solution.
  • Efficiency of the solution (time and space complexity).
  • Clarity and organization of the code.
  • Ability to explain the approach and trade-offs.

Sample questions

  • Given a binary tree, find its inorder traversal.

    TreeRecursionIteration
  • Implement a function to find the kth smallest element in an unsorted array.

    ArraySortingQuickSelect
  • Given two strings, determine if one is an anagram of the other.

    StringHash MapFrequency Counter

Prep for this round

  1. 01Practice coding problems on platforms like LeetCode, HackerRank.
  2. 02Review common data structures and algorithms.
  3. 03Be prepared to explain your solutions verbally.
  4. 04Think about edge cases and test your code mentally.

Common rejection reasons

  • ×Inability to articulate thought process.
  • ×Incorrect or inefficient algorithm implementation.
  • ×Poor understanding of fundamental data structures.
  • ×Failure to consider edge cases.

DSA

Coding questions at DRW.

Frequently reported on DRW loops

Other guides

More at DRW.