# Software Engineer I
**Role:** Software Engineer · **Level:** L1
**Company:** [Remitly](https://scaleengineer.com/companies/remitly)
**Difficulty:** Medium
**Salary:** US$75000 - US$95000
**Experience:** 0 - 2
**Timeline:** ~7 days
The Software Engineer I interview at Remitly is designed to assess foundational software engineering skills, problem-solving abilities, and cultural fit for entry-level engineers. It typically involves multiple rounds focusing on data structures, algorithms, basic system design, and behavioral aspects.
Canonical: https://scaleengineer.com/interviews/remitly/l1-software-engineer
---
## Overall evaluation

- Technical Skills
- System Design
- Behavioral & Cultural Fit

## Questions 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.
- Explain the difference between breadth-first search (BFS) and depth-first search (DFS).
- How would you design a system to count the number of unique visitors to a website?
- Tell me about a time you disagreed with a teammate and how you resolved it.
- What are your strengths and weaknesses as a software engineer?
- Describe a project you are particularly proud of.
- How do you approach learning a new programming language or technology?
- What is a deadlock and how can it be prevented?
- Design a basic API for a social media platform.

## Preparation tips

### lists

- Review fundamental Computer Science concepts (Data Structures, Algorithms, Operating Systems, Databases).
- Practice coding problems on platforms like LeetCode, HackerRank, or similar.
- Understand Big O notation for analyzing algorithm efficiency.
- Prepare for behavioral questions by thinking about past experiences using the STAR method (Situation, Task, Action, Result).
- Research Remitly's mission, values, and products.
- Familiarize yourself with basic system design principles.
- Practice explaining your thought process clearly and concisely.

### studyPlan

- {"title":"Data Structures","longDescription":"Weeks 1-2: Focus on core data structures (Arrays, Linked Lists, Stacks, Queues, Trees, Graphs, Hash Tables) and their common operations and complexities. Practice problems related to each.","shortDescription":"Weeks 1-2: Data Structures. Practice problems."}
- {"title":"Algorithms","longDescription":"Weeks 3-4: Dive into algorithms (Sorting, Searching, Recursion, Dynamic Programming, Graph Traversal). Understand their time and space complexity. Solve problems applying these algorithms.","shortDescription":"Weeks 3-4: Algorithms. Practice problems."}
- {"title":"System Design Fundamentals","longDescription":"Week 5: Begin with basic system design concepts. Understand concepts like scalability, availability, latency, and common design patterns. Practice designing simple systems like URL shorteners or Twitter feeds.","shortDescription":"Week 5: Basic System Design. Practice simple designs."}
- {"title":"Behavioral Preparation","longDescription":"Week 6: Prepare for behavioral questions. Reflect on past projects, teamwork experiences, challenges faced, and how you overcame them. Use the STAR method to structure your answers. Research Remitly's values.","shortDescription":"Week 6: Behavioral Prep. STAR method. Remitly values."}
- {"title":"Final Review & Mock Interviews","longDescription":"Week 7: Mock interviews and final review. Practice coding under timed conditions and explaining your solutions. Review any weak areas identified during practice.","shortDescription":"Week 7: Mock interviews & final review."}

## Location differences

- {"location":"Seattle","differences":{"tips":["Be prepared to explain your thought process clearly.","Practice coding on a whiteboard or shared editor.","Review fundamental CS concepts.","Research Remitly's products and values."],"interviewFocus":["Strong emphasis on core CS fundamentals.","Problem-solving approach and clarity of thought.","Ability to write clean, efficient, and testable code.","Understanding of basic data structures and algorithms."],"commonQuestions":["Tell me about a challenging project you worked on during your internship.","How would you design a URL shortener?","Explain the difference between a process and a thread.","What are the principles of object-oriented programming?"]}}
- {"location":"Dublin","differences":{"tips":["Focus on explaining your solutions step-by-step.","Be ready to discuss trade-offs in your design choices.","Prepare examples of teamwork and overcoming challenges.","Understand Remitly's mission and how technology supports it."],"interviewFocus":["Practical application of CS concepts.","Debugging and problem-solving skills.","Understanding of distributed systems at a high level.","Collaboration and communication skills."],"commonQuestions":["Describe a time you had to debug a complex issue.","How would you design a system to handle real-time notifications?","What is the difference between SQL and NoSQL databases?","Explain the concept of recursion with an example."]}}
- {"location":"Noida","differences":{"tips":["Practice explaining algorithms and their time/space complexity.","Think about scalability and potential bottlenecks in system designs.","Highlight instances of self-learning and initiative.","Show enthusiasm for contributing to Remitly's growth."],"interviewFocus":["Algorithmic thinking and efficiency.","Basic system design principles.","Adaptability and learning agility.","Understanding of software development lifecycle."],"commonQuestions":["How would you design a system to recommend products to users?","Explain the concept of Big O notation and its importance.","What are the advantages of using a version control system like Git?","Describe a situation where you had to learn a new technology quickly."]}}

## Round 1: Data Structures and Algorithms
**Type:** Technical Interview (Coding) · **Difficulty:** Medium · **Duration:** 45 min
Coding challenge focusing on data structures and algorithms.
This round focuses on assessing your fundamental coding skills. You will be asked to solve one or two coding problems, typically involving data structures and algorithms. The interviewer will evaluate your approach, the efficiency of your solution, and your ability to write clean, working code. Expect to explain your thought process throughout the problem-solving session.
**Interviewers look for:** A systematic approach to problem-solving.; Proficiency in at least one programming language.; Understanding of basic data structures and algorithms.; Ability to write clean, working code.
**Evaluation criteria:** Correctness of the solution; Efficiency of the solution (time and space complexity); Code clarity and structure; Ability to explain the solution and trade-offs
**Common rejection reasons:** Inability to solve coding problems within the given time.; Poor code quality (not readable, inefficient, buggy).; Lack of clear communication of thought process.; Fundamental misunderstanding of data structures or algorithms.
## Questions

- Given a string, find the first non-repeating character.
- Implement a function to check if a binary tree is a Binary Search Tree (BST).
- Find the kth smallest element in an unsorted array.

## Preparation tips

- Practice coding problems on a whiteboard or shared editor.
- Focus on explaining your logic as you code.
- Be prepared to discuss the time and space complexity of your solutions.
- Review common data structures and algorithms.

## Round 2: System Design
**Type:** Technical Interview (System Design) · **Difficulty:** Medium · **Duration:** 45 min
Design a scalable system based on a given problem statement.
This round assesses your ability to design software systems. You'll be given a high-level problem (e.g., design a URL shortener, a social media feed, or a rate limiter) and expected to discuss potential solutions, trade-offs, and scalability. Focus on clarifying requirements, identifying core components, and discussing how the system would handle load and potential failures.
**Interviewers look for:** A structured approach to designing systems.; Understanding of distributed systems concepts.; Ability to identify potential bottlenecks and solutions.; Clear communication of design choices.
**Evaluation criteria:** Ability to understand requirements; System design approach; Scalability and performance considerations; Trade-off analysis; Knowledge of relevant technologies and patterns
**Common rejection reasons:** Inability to break down a complex problem into smaller components.; Lack of understanding of scalability and performance considerations.; Poorly designed systems that don't meet requirements.; Not considering edge cases or failure scenarios.
## Questions

- Design a URL shortening service like bit.ly.
- Design a system to count unique visitors to a website.
- Design a basic chat application.

## Preparation tips

- Study common system design patterns and concepts.
- Practice designing various types of systems.
- Think about scalability, availability, and reliability.
- Be prepared to discuss trade-offs between different design choices.

## Round 3: Behavioral and Cultural Fit
**Type:** Behavioral Interview · **Difficulty:** Medium · **Duration:** 30 min
Assesses behavioral competencies and cultural fit.
This round focuses on your behavioral and cultural fit. You'll be asked questions about your past experiences, how you handle challenges, work in teams, and your motivations. Prepare examples using the STAR method to demonstrate your skills and how you align with Remitly's core values. This is also an opportunity for you to ask questions about the team and role.
**Interviewers look for:** Honesty and self-awareness.; Examples of collaboration and positive impact.; Enthusiasm for Remitly's mission.; Ability to learn and adapt.
**Evaluation criteria:** Alignment with Remitly's values; Teamwork and collaboration skills; Problem-solving approach in past experiences; Motivation and career goals; Cultural fit
**Common rejection reasons:** Lack of alignment with company values.; Poor communication or interpersonal skills.; Inability to provide specific examples for behavioral questions.; Lack of enthusiasm or interest in the role/company.
## Questions

- Tell me about a time you faced a significant challenge at work and how you overcame it.
- Describe a situation where you had to work with a difficult team member.
- Why are you interested in Remitly?
- What are your career goals for the next 3-5 years?

## Preparation tips

- Prepare specific examples using the STAR method.
- Research Remitly's mission, vision, and values.
- Think about why you want to work at Remitly.
- Be ready to discuss your strengths, weaknesses, and career aspirations.
