Strava Software Engineer Interview Experience — Phone Screen: Climb Detection on Elevation Samples, Then Tolerating Partial Descents

Strava·Software Engineer·Sep 2026
Technical Screenmedium

Climb Detection

Given an array of elevation samples taken at regular intervals, return the [startIndex, endIndex] of the first climb. Return [] if no climb exists.

Part 1 — Strict Climb

A climb:

  • Starts when elevation begins increasing.
  • Can stay flat.
  • Cannot decrease.
  • Ends at the highest elevation reached during the climb.

Example: [3, 2, 1, 0, 0, 1, 2, 2, 3, 5, 10, 10, 7, 15] → [4, 10]

Part 2 — Tolerate Partial Descent

Modify Part 1 so that a climb may temporarily descend and then continue.

A descent is allowed only if:

  • The elevation lost during the descent is ≤ 20% of the net elevation gained so far.
  • After the descent, the elevation eventually rises above the previous maximum elevation.

If both conditions are satisfied, the descent remains part of the same climb. Otherwise, the climb ends at the highest elevation reached before the descent.

Published

Curated and edited by PracHub

Practice the questions from this interview

Discussion

Sign in to join the discussion. The author is notified of every comment.

Loading comments…

Interview at a glance

Company
Strava
Role
Software Engineer
Rounds
Technical Screen
Difficulty
medium
Interview date
Sep 2026
Questions from this interview
1 question

Real Strava interview experiences

First-hand reports from Strava candidates — the rounds, the questions they were asked, and how it went.

All 6 Strava interview experiences