Software Engineer

Software EngineerMG4Medium to Hard

Mercari is a leading online marketplace that connects buyers and sellers of new and used goods. This interview process for a Software Engineer at the MG4 level is designed to assess a candidate's technical proficiency, problem-solving skills, and cultural fit within the company.

Rounds·3

Timeline·~14d

Experience·4 - 8 yrs

Comp band·US$130000 - US$180000

Interview time·150 min

Evaluation

What they measure.

  • Problem-solving ability
  • Algorithmic thinking
  • Data structures knowledge
  • Code quality and efficiency
  • System design capabilities
  • Scalability and performance considerations
  • Communication skills
  • Teamwork and collaboration
  • Cultural fit and alignment with Mercari's values

Preparation

How to prepare.

Tips

  1. Thoroughly review data structures and algorithms, focusing on time and space complexity.
  2. Practice coding problems on platforms like LeetCode, HackerRank, or AlgoExpert.
  3. Study system design principles and common architectural patterns.
  4. Prepare to discuss your past projects in detail, highlighting your contributions and the impact you made.
  5. Understand Mercari's business, products, and values.
  6. Practice behavioral questions using the STAR method (Situation, Task, Action, Result).
  7. Prepare questions to ask the interviewer about the role, team, and company culture.

Study plan

Fig · Study plan — 04 phases

01 / 04
01

Phase 01 of 04

Data Structures and Algorithms

Weeks 1-2: Data Structures & Algorithms fundamentals. Easy/Medium LeetCode.

Weeks 1-2: Focus on fundamental data structures (arrays, linked lists, stacks, queues, trees, graphs, hash tables) and algorithms (sorting, searching, dynamic programming, graph traversal). Practice implementing these and analyzing their complexity. Solve easy to medium LeetCode problems.

Questions

Commonly asked.

  • Given an array of integers, find the contiguous subarray with the largest sum.
  • Design a URL shortening service like bit.ly.
  • How would you design a system to handle real-time chat messages for a platform like Mercari?
  • Tell me about a time you disagreed with a teammate. How did you handle it?
  • What are the trade-offs between SQL and NoSQL databases?
  • How do you ensure the security of a web application?
  • Describe a complex algorithm you've implemented.
  • How would you optimize the performance of a slow API endpoint?
  • What are your strengths and weaknesses as a software engineer?
  • Why are you interested in working at Mercari?

Locations

Regional differences.

Fig · Regions — 02 locations

01 / 02

Location

Tokyo, Japan

Interview focus

Deep understanding of distributed systems and microservices architecture.Experience with cloud-native technologies (e.g., AWS, Kubernetes).Ability to design scalable and resilient systems.Strong problem-solving skills in a cloud environment.

Common questions

  • How would you design a system to handle real-time notifications for Mercari's platform?
  • Describe a time you had to optimize a slow-performing database query. What was your approach?
  • In a distributed system, how do you ensure data consistency across different services?
  • Tell me about a challenging bug you encountered and how you debugged it.

Tips

  • Familiarize yourself with Mercari's tech stack, particularly if it's cloud-based.
  • Be prepared to discuss your experience with specific cloud providers and services.
  • Practice system design questions with a focus on scalability and fault tolerance.
  • Highlight any experience with CI/CD pipelines and DevOps practices.

Rounds

Round-by-round.

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

Med

Technical Interview (Data Structures & Algorithms) · 45 min · Software Engineer (Mid-level)

This round focuses on your core data structures and algorithms knowledge. You will be presented with coding challenges that require you to implement algorithms and data structures efficiently. The interviewer will assess your ability to analyze problems, choose appropriate data structures, write clean code, and explain your thought process.

What they look for

A systematic approach to problem-solving.Proficiency in coding and debugging.Understanding of algorithmic complexity.Ability to communicate technical ideas effectively.

Evaluation

  • Correctness of the solution
  • Efficiency of the solution (time and space complexity)
  • Code clarity and readability
  • Ability to handle edge cases
  • Problem-solving approach

Sample questions

  • Given a binary tree, invert the tree.

    TreeRecursionDFS
  • Find the kth largest element in an unsorted array.

    ArraySortingHeap
  • Implement a function to check if a string is a palindrome.

    StringTwo Pointers

Prep for this round

  1. 01Practice coding problems on platforms like LeetCode, focusing on common patterns.
  2. 02Understand the time and space complexity of your solutions.
  3. 03Be prepared to explain your approach and trade-offs.
  4. 04Practice writing code on a whiteboard or in a shared editor.

Common rejection reasons

  • ×Inability to articulate thought process clearly.
  • ×Poor understanding of fundamental data structures and algorithms.
  • ×Difficulty in solving coding problems within the given time.
  • ×Lack of attention to edge cases and constraints.

DSA

Coding questions at Mercari.

Frequently reported on Mercari loops

Other guides

More at Mercari.