Software Engineer II

Software EngineerL2Medium

The Software Engineer II (L2) interview at Remitly is designed to assess a candidate's technical proficiency, problem-solving abilities, and cultural fit within the company. It typically involves multiple rounds focusing on data structures, algorithms, system design, and behavioral aspects.

Rounds·3

Timeline·~7d

Experience·2 - 5 yrs

Comp band·US$110000 - US$140000

Interview time·150 min

Evaluation

What they measure.

  • Problem-solving skills
  • Algorithmic thinking
  • Data structure knowledge
  • Coding proficiency
  • System design capabilities
  • Communication skills
  • Teamwork and collaboration
  • Cultural alignment with Remitly's values

Preparation

How to prepare.

Tips

  1. Review fundamental data structures (arrays, linked lists, trees, graphs, hash maps) and algorithms (sorting, searching, dynamic programming, graph traversal).
  2. Practice coding problems on platforms like LeetCode, HackerRank, or Coderbyte, focusing on medium-difficulty problems.
  3. Study system design concepts, including scalability, availability, consistency, and common design patterns (e.g., load balancing, caching, database sharding).
  4. Prepare for behavioral questions by using the STAR method (Situation, Task, Action, Result) to structure your answers.
  5. Research Remitly's mission, values, and recent news to understand the company's direction and culture.
  6. Prepare thoughtful questions to ask the interviewer about the role, team, and company.

Study plan

Fig · Study plan — 04 phases

01 / 04
01

Phase 01 of 04

Data Structures and Algorithms Fundamentals

Weeks 1-2: Data Structures & Basic Algorithms. Practice implementations and problem-solving.

Weeks 1-2: Focus on core data structures (arrays, linked lists, stacks, queues, trees, hash tables) and their common operations. Practice implementing them and solving problems involving their efficient use. Cover basic algorithms like sorting (quicksort, mergesort) and searching (binary search).

Questions

Commonly asked.

  • Given an array of integers, find the contiguous subarray with the largest sum.
  • Design a system to handle real-time notifications for a messaging app.
  • Explain the concept of eventual consistency.
  • Tell me about a time you had to deal with ambiguity in a project.
  • How would you optimize a slow database query?
  • Describe the difference between TCP and UDP.
  • What are the principles of object-oriented programming?
  • How do you approach debugging a complex issue?
  • Tell me about a project you are particularly proud of.
  • How do you stay updated with new technologies?

Locations

Regional differences.

Fig · Regions — 02 locations

01 / 02

Location

Seattle

Interview focus

Strong emphasis on practical application of data structures and algorithms.System design questions are often more focused on scalability and distributed systems.Behavioral questions delve into collaboration and impact.

Common questions

  • How would you design a URL shortener?
  • Explain the difference between a process and a thread.
  • Describe a challenging technical problem you solved.
  • How do you handle concurrency issues?
  • Tell me about a time you disagreed with a teammate.

Tips

  • Be prepared to discuss your contributions to open-source projects if applicable.
  • Familiarize yourself with common distributed system patterns.
  • Practice explaining your thought process clearly and concisely.

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 core data structures and algorithms knowledge. You will be presented with one or two coding problems and expected to write code on a shared editor. The interviewer will assess your ability to understand the problem, devise an efficient solution, implement it correctly, and explain your reasoning.

What they look for

Ability to break down a problem.Knowledge of common data structures and algorithms.Clean and efficient coding.Communication of thought process.

Evaluation

  • Correctness of the solution.
  • Efficiency of the solution (time and space complexity).
  • Code quality and readability.
  • Problem-solving approach.

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

Prep for this round

  1. 01Practice coding on a whiteboard or shared editor.
  2. 02Think out loud and explain your approach before coding.
  3. 03Consider edge cases and test your code mentally.
  4. 04Discuss time and space complexity of your solution.

Common rejection reasons

  • ×Inability to articulate thought process clearly.
  • ×Lack of understanding of fundamental data structures and algorithms.
  • ×Poor coding practices (e.g., unreadable code, no error handling).

DSA

Coding questions at Remitly.

Frequently reported on Remitly loops

Other guides

More at Remitly.