← Back to Directory

Liftoff

Mid-sized

Screna has 10 Liftoff interview write-ups. The most reported round is the technical phone screen (8).

10 interview notes · updated Jul 2026

Liftoff·Software Engineer·Technical Phone Screen

Jul 2026
Liftoff SWE interview had a string compression problem that looked approachable until it didn't. The DP angle was expected but the complexity analysis part is where things got real.
  • Implement an optimized run-length encoder that produces the shortest possible encoded string, where each encoded run has length at most K. You may break longer runs into repeated multi-character patterns if that yields a shorter result.
  • Walk through the algorithm design for the optimized RLE problem. Why is a DP over prefixes a natural fit, and how do you structure the transitions?
  • What is the time complexity of your solution, and how does it change depending on how you detect repeating patterns?

“The basic RLE part I had down.”

View Post

Liftoff·Software Engineer·Technical Phone Screen

Jun 2026
Liftoff SWE interview with a two-part string encoding problem. The first part was a decode function which was manageable, but the second part asking for an optimal encoder with a pattern-length constraint is where things got interesting and a bit painful.
  • Implement a decoder for a run-length encoding scheme where each token is a count followed by a pattern of lowercase letters, and token boundaries are determined by digit-to-letter transitions.
  • Given a string and an integer K, produce the shortest possible encoded string using the same RLE format where every pattern has length at most K. Optimize for minimum total character count in the encoded output.

“Parsing was the main thing to get right.”

View Post

Liftoff·Software Engineer·Technical Phone Screen

Jun 2026
Liftoff software engineer interview with a graph problem that looked like a LinkedIn-degrees-of-separation question. Pretty standard BFS territory but they wanted you to handle edge cases and optionally reconstruct the path, which is where things got more interesting.
  • Given an undirected graph of n people and a list of connections between them, find the minimum number of degrees of separation between two given people. Return 0 if they're the same person, -1 if unreachable, and optionally reconstruct the actual shortest path if asked.

“Classic BFS and I knew it immediately, which honestly made me a little sloppy at first.”

View Post

Liftoff·Software Engineer·Technical Phone Screen

Jun 2026
Liftoff software engineer screen focused entirely on a run-length encoding problem. Pretty classic coding exercise but they pushed harder than I expected on edge cases and complexity analysis.
  • Implement encode and decode functions for run-length encoding. encode should compress repeated characters into count-character pairs, decode should reverse it. Also discuss edge cases like empty strings and digit characters in the input, plus time and space complexity.

“I went with '1c' for singles instead of just 'c' and said so upfront, which I think was the right call since it simplifies decode a lot.”

View Post

Liftoff·Software Engineer·Technical Phone Screen

May 2026
Liftoff software engineer interview with a coding problem that looks deceptively simple but has a neat trick to it. Pretty standard technical screen vibe.
  • Given a list of positive integers representing daily cycling distances, compute the Eddington number: the largest integer E such that there are at least E days where the distance ridden was greater than or equal to E.

“I'd never heard of the Eddington number before so I spent an embarrassing amount of time just re-reading the definition.”

View Post

Liftoff·Software Engineer·Technical Phone Screen

May 2026
Liftoff coding screen for a software engineer role, just the one problem about computing an Eddington number from an array of distances. Pretty niche concept if you haven't seen it before.
  • Given an array of daily cycling distances, find the Eddington number E, defined as the largest integer where you have at least E days with a distance of at least E. Return that value.

“I'd never heard of the Eddington number before so I spent a minute just re-reading the problem to make sure I understood what it was asking.”

View Post

Liftoff·Software Engineer·Take-home Assignment

May 2026
Take-home assignment for a Software Engineer role at Liftoff. They asked you to build a working Tetris implementation from scratch, no GUI required, just something that runs in the terminal and covers all the real mechanics.
  • Implement a fully functional Tetris game as a take-home project. No graphical interface is needed, but it must include all seven tetromino pieces, gravity, movement and rotation controls, soft and hard drop, line clears, scoring, level progression with increasing speed, and game-over detection.

“This is a bigger scope than it looks on paper.”

View Post

Liftoff·Software Engineer·Take-home Assignment

May 2026
Liftoff gave me a take-home where I had to implement a working Tetris engine in a terminal. No UI polish needed, just solid logic and clean code structure. It was more involved than I expected going in.
  • Implement a functional Tetris game engine that runs in a terminal, covering the board, all 7 tetrominoes, movement, rotation, gravity, line clears, and game over detection.

“This took way longer than I budgeted.”

View Post

Liftoff·Software Engineer·Technical Phone Screen

Apr 2026
Liftoff software engineer interview with a pretty meaty parsing problem. Not a typical leetcode grind, more of a 'can you actually think through edge cases' kind of session.
  • Implement an IPv6 address parser that validates a string and returns its fully expanded 8-group hexadecimal form, handling '::' shorthand, leading-zero suppression, and optional embedded IPv4 notation in the last 32 bits.

“The embedded IPv4 part is what got me.”

View Post

Liftoff·Software Engineer·Technical Phone Screen

Apr 2026
Had a technical phone screen for a software engineer role at Liftoff. The whole thing was basically one meaty coding problem around IPv6 parsing, which sounds niche but ended up touching a bunch of edge cases I didn't think about until I was already halfway through my solution.
  • Write a function that takes a string and, if it's a valid IPv6 address, returns the fully expanded canonical form with exactly 8 four-digit lowercase hex groups separated by colons. If it's not valid, return "Invalid".

“My first instinct was to just split on ":" and pad each piece, and that worked fine for the simple cases.”

View Post