Software Engineer II

Software EngineerL5Medium to Hard

The interview process for a Software Engineer II (L5) at Box is designed to assess a candidate's technical proficiency, problem-solving abilities, system design skills, and cultural fit. The process typically involves multiple rounds, including technical interviews, a system design interview, and a behavioral/managerial interview.

Rounds·3

Timeline·~14d

Experience·4 - 8 yrs

Comp band·US$130000 - US$175000

Interview time·150 min

Evaluation

What they measure.

  • Problem-solving skills: Ability to break down complex problems into smaller, manageable parts.
  • Technical depth: Understanding of core computer science concepts and relevant technologies.
  • System design: Ability to design scalable, reliable, and maintainable systems.
  • Coding proficiency: Clean, efficient, and well-structured code.
  • Communication: Clarity in explaining technical concepts and thought processes.
  • Collaboration: Ability to work effectively with others.
  • Cultural fit: Alignment with Box's values and work environment.

Preparation

How to prepare.

Tips

  1. Review fundamental data structures and algorithms.
  2. Practice coding problems on platforms like LeetCode, HackerRank, or Coderbyte.
  3. Study system design concepts, including scalability, availability, and distributed systems.
  4. Prepare to discuss your past projects in detail, focusing on your contributions and the impact.
  5. Research Box's products, culture, and recent news.
  6. Understand the STAR method (Situation, Task, Action, Result) for behavioral questions.
  7. Prepare thoughtful questions to ask the interviewer.

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. Practice coding.

Weeks 1-2: Focus on core data structures (arrays, linked lists, trees, graphs, hash maps) and algorithms (sorting, searching, dynamic programming, graph traversal). Practice implementing these in your preferred language and analyze their time and space complexity.

Questions

Commonly asked.

  • Given an array of integers, find the contiguous subarray with the largest sum.
  • Design a URL shortening service like bit.ly.
  • Describe a time you disagreed with a teammate and how you resolved it.
  • How would you design a system to handle real-time notifications for a social media platform?
  • What are the trade-offs between using a relational database and a NoSQL database?
  • Explain the concept of eventual consistency.
  • Tell me about a project you are particularly proud of and why.
  • How do you approach testing your code?
  • What are the principles of RESTful API design?
  • Describe a situation where you had to deal with ambiguity or incomplete information.

Locations

Regional differences.

Fig · Regions — 02 locations

01 / 02

Location

Remote/Hybrid

Interview focus

Emphasis on practical application of distributed systems knowledge.Understanding of cloud-native architectures (AWS, Azure, GCP).Experience with CI/CD pipelines and DevOps practices.Strong communication skills for explaining technical concepts to a diverse audience.

Common questions

  • Discuss a challenging technical problem you solved at your previous company.
  • How do you approach debugging a complex distributed system?
  • Describe a time you had to mentor a junior engineer.
  • What are your thoughts on the current state of cloud computing?
  • How do you stay updated with new technologies and best practices?

Tips

  • Familiarize yourself with the specific cloud provider most relevant to the role (e.g., AWS for many Box roles).
  • Be prepared to discuss your experience with containerization (Docker, Kubernetes).
  • Highlight any experience with infrastructure as code (Terraform, CloudFormation).
  • Showcase your ability to collaborate effectively in a remote or hybrid environment.

Rounds

Round-by-round.

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

Med

Technical Phone Screen / Coding Interview · 45 min · Software Engineer

This round focuses on your fundamental coding skills. You will be asked to solve one or two algorithmic problems, typically involving data structures like arrays, linked lists, trees, or hash maps. The interviewer will assess your ability to write clean, efficient, and correct code, as well as your approach to problem-solving and your communication skills.

What they look for

Ability to translate a problem into code.Efficiency of the solution.Clarity and correctness of the code.Ability to articulate the solution and its trade-offs.

Evaluation

  • Coding proficiency
  • Problem-solving approach
  • Understanding of data structures and algorithms
  • Communication of thought process

Sample questions

  • Given a binary tree, invert the tree.

    TreeRecursionIteration
  • 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 regularly.
  2. 02Focus on understanding the time and space complexity of your solutions.
  3. 03Be prepared to explain your thought process step-by-step.
  4. 04Write code that is readable and well-commented.

Common rejection reasons

  • ×Inability to write clean, working code.
  • ×Poor understanding of fundamental algorithms and data structures.
  • ×Difficulty in explaining thought process.
  • ×Not meeting the expected time/space complexity requirements.

DSA

Coding questions at Box.

Frequently reported on Box loops

Other guides

More at Box.