warp·Software Engineer·Technical Phone Screen
May 2026
Interviewed for a software engineer role at Warp and got a design question that felt very on-brand for a terminal app company. The problem was more involved than it looked at first glance.
- Design a data structure that models a terminal application with multiple tabs and split panels. Each tab should contain a panel layout modeled as a tree, where splits create child nodes. Implement methods to create tabs, split panels, serialize the full state, and deserialize it back. Write a test that creates tabs, does nested splits, serializes, deserializes, and verifies the result matches the original.
“The tree structure for panels clicked pretty fast since split panes are basically recursive by nature.”