← Back to Directory

TripStack

Small

TripStack is a travel technology company that provides virtual interlining solutions, connecting flights across different airlines to create new and affordable itineraries. It powers travel booking platforms and online travel agencies with its API-based technology and airfare aggregation services.

2 interview notes · updated Jul 2026

TripStack·Software Engineer·Onsite - System Design / Architecture

Jun 2026
TripStack software engineer interview that went deep on Go concurrency internals and database architecture. Two meaty technical topics back to back, and the system design portion at the end was the kind of open-ended thing that either goes great or falls apart depending on how you structure your answer.
  • In Go, walk through the difference between synchronous and asynchronous execution, and between blocking and non-blocking I/O.
  • Compare OS threads and goroutines across scheduler model, stack growth, memory overhead, context-switch cost, and how they communicate.
  • How does Go's concurrency model compare to another language like Java, Python, or C++? Think about threads, async/await patterns, and things like the GIL in terms of real-world throughput and latency.
  • Compare relational, document, columnar, and key-value databases across data modeling flexibility, ACID vs BASE tradeoffs, indexing and joins, and how they scale via sharding and replication.
  • Design the end-to-end storage architecture for a flight booking platform that needs to handle complex search queries and high write concurrency. Cover your primary database choice, schema or document design, caching layer, and both read and write paths.

“Started okay but I muddled the blocking vs async distinction a bit.”

View Post

TripStack·Software Engineer·Technical Phone Screen

May 2026
TripStack software engineer interview with a meaty scheduling problem that went deeper than I expected. The algorithmic angle was straightforward enough but they kept pushing on design choices and edge case handling.
  • Given n tasks as half-open time intervals [start, end) in a single day, find the minimum number of servers needed so no two overlapping tasks share a server. Design an O(n log n) solution, describe your data structures, analyze complexity, handle equal endpoint edge cases, and discuss things like empty input or duplicate intervals. Bonus: return an actual assignment of tasks to servers.

“My first instinct was a sweep line and I went with that, sorting events and using a min-heap of end times to track which servers free up.”

View Post