Software Engineer

Software EngineerMG5Medium to Hard

Mercari is looking for a talented Software Engineer at the MG5 level to join our dynamic team. This role involves designing, developing, and maintaining scalable and high-performance software solutions that power our e-commerce platform. You will collaborate with cross-functional teams to deliver innovative features and contribute to the continuous improvement of our engineering practices.

Rounds·3

Timeline·~14d

Experience·5 - 8 yrs

Comp band·US$120000 - US$150000

Interview time·150 min

Evaluation

What they measure.

  • Technical proficiency in relevant programming languages and frameworks.
  • Strong understanding of data structures, algorithms, and software design principles.
  • Ability to design scalable, reliable, and maintainable systems.
  • Effective problem-solving and debugging skills.
  • Good communication and collaboration skills.
  • Alignment with Mercari's values and culture.

Preparation

How to prepare.

Tips

  1. Review core computer science concepts: data structures, algorithms, operating systems, databases.
  2. Practice coding problems on platforms like LeetCode, HackerRank, focusing on medium to hard difficulty.
  3. Study system design principles and common patterns for scalable applications.
  4. Understand Mercari's business, products, and recent news.
  5. Prepare examples for behavioral questions using the STAR method (Situation, Task, Action, Result).
  6. Research Mercari's engineering blog and tech stack.
  7. Practice explaining your thought process clearly and concisely.

Study plan

Fig · Study plan — 04 phases

01 / 04
01

Phase 01 of 04

Data Structures & Algorithms

Weeks 1-2: DSA fundamentals and practice.

Weeks 1-2: Focus on Data Structures and Algorithms. Cover arrays, linked lists, trees, graphs, hash maps, sorting, searching, dynamic programming, and greedy algorithms. Practice implementing these and analyzing their time and space complexity.

Questions

Commonly asked.

  • Describe a complex system you designed or contributed to. What were the key challenges and how did you address them?
  • How would you design a recommendation engine for Mercari?
  • Given a scenario with high traffic, how would you ensure system stability and performance?
  • Tell me about a time you disagreed with a technical decision. What did you do?
  • How do you approach code reviews?
  • What are your favorite programming languages and why?
  • Explain the concept of eventual consistency.
  • How would you design a notification system for user activity?
  • Describe a situation where you had to learn a new technology quickly.

Locations

Regional differences.

Fig · Regions — 02 locations

01 / 02

Location

Tokyo

Interview focus

System DesignScalabilityProblem-SolvingLeadership and Mentorship

Common questions

  • How would you design a system to handle real-time inventory updates for millions of products?
  • Describe a challenging technical problem you faced and how you solved it.
  • What are your thoughts on microservices vs. monolithic architecture for an e-commerce platform?
  • How do you ensure the scalability and reliability of your code?
  • Tell me about a time you had to mentor a junior engineer.

Tips

  • Be prepared to discuss large-scale system design principles.
  • Highlight your experience with distributed systems and cloud technologies.
  • Showcase your ability to lead and mentor other engineers.
  • Emphasize your understanding of Mercari's business and how technology supports it.

Rounds

Round-by-round.

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

Med

Technical Interview (Coding) · 45 min · Software Engineer (Peer)

This round focuses on your fundamental coding skills. You will be asked to solve one or two coding problems, typically involving data structures and algorithms. The interviewer will assess your ability to write clean, efficient, and correct code, as well as your problem-solving approach and communication skills. Be prepared to explain your thought process, discuss time and space complexity, and consider edge cases.

What they look for

Clean, well-structured, and efficient code.Logical and systematic approach to problem-solving.Ability to explain trade-offs of different solutions.Good debugging skills.

Evaluation

  • Coding proficiency
  • Problem-solving approach
  • Understanding of data structures and algorithms
  • Code clarity and efficiency

Sample questions

  • Given an array of integers, find the contiguous subarray with the largest sum.

    ArrayDynamic Programming
  • Implement a function to reverse a linked list.

    Linked ListPointers
  • Find the kth smallest element in a binary search tree.

    TreeBinary Search TreeRecursion

Prep for this round

  1. 01Practice coding problems on platforms like LeetCode.
  2. 02Focus on understanding the underlying data structures and algorithms.
  3. 03Practice explaining your solutions out loud.
  4. 04Be ready to write code on a whiteboard or shared editor.

Common rejection reasons

  • ×Inability to articulate thought process clearly.
  • ×Lack of fundamental data structures and algorithms knowledge.
  • ×Poor coding practices (e.g., inefficient solutions, lack of error handling).
  • ×Difficulty in debugging code.

DSA

Coding questions at Mercari.

Frequently reported on Mercari loops

Other guides

More at Mercari.