Software Engineer

Software EngineerL3Medium

The interview process for a Software Engineer (L3) at Cruise is designed to assess a candidate's technical proficiency, problem-solving abilities, and cultural fit within the company. The process typically involves multiple rounds, starting with an initial screening and progressing through technical interviews, a system design round, and a final behavioral/managerial interview.

Rounds·3

Timeline·~14d

Experience·1 - 3 yrs

Comp band·US$100000 - US$130000

Interview time·150 min

Evaluation

What they measure.

  • Problem-solving skills
  • Coding proficiency
  • Algorithmic thinking
  • Data structures knowledge

Preparation

How to prepare.

Tips

  1. Review fundamental data structures and algorithms.
  2. Practice coding problems on platforms like LeetCode or HackerRank.
  3. Study system design concepts and common patterns.
  4. Prepare examples for behavioral questions using the STAR method.
  5. Research Cruise's mission, values, and recent projects.
  6. Understand the basics of autonomous vehicle technology.

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. Aim for at least 5-10 problems per data structure/algorithm type.

Questions

Commonly asked.

  • Given an array of integers, find the contiguous subarray with the largest sum.
  • Design a URL shortening service like bit.ly.
  • Tell me about a time you disagreed with a decision. What did you do?
  • How would you design a system to track the location of all vehicles in a city?
  • What are the trade-offs between using a relational database and a NoSQL database for a large-scale application?
  • Describe a situation where you had to explain a complex technical concept to a non-technical audience.

Locations

Regional differences.

Fig · Regions — 02 locations

01 / 02

Location

San Francisco

Interview focus

Adaptability to local team dynamicsUnderstanding of local market challenges (if applicable)

Common questions

  • Tell me about a challenging technical problem you solved at your previous role.
  • How do you approach debugging a complex issue?
  • Describe a time you had to work with a difficult teammate.

Tips

  • Research the specific office culture and any local initiatives.
  • Be prepared to discuss how your skills align with the needs of the local team.

Rounds

Round-by-round.

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

Med

Technical Interview (Coding) · 45 min · Software Engineer

This round focuses on your fundamental programming 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 understanding of algorithmic complexity. You'll be expected to explain your thought process throughout the problem-solving exercise.

What they look for

Clean, well-structured codeLogical approach to problem-solvingUnderstanding of time and space complexityAbility to communicate the solution effectively

Evaluation

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

Sample questions

  • Given a binary tree, invert the tree.

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

    ArraySortingHeap

Prep for this round

  1. 01Practice coding problems on platforms like LeetCode, focusing on medium-difficulty questions.
  2. 02Review common data structures (arrays, linked lists, trees, graphs, hash maps) and algorithms (sorting, searching, dynamic programming).
  3. 03Be prepared to discuss the time and space complexity of your solutions.
  4. 04Practice explaining your approach out loud as you code.

Common rejection reasons

  • ×Inability to articulate thought process clearly
  • ×Poor coding practices
  • ×Fundamental misunderstanding of data structures or algorithms

DSA

Coding questions at Cruise.

Frequently reported on Cruise loops

Other guides

More at Cruise.