went through okta's coding interview process earlier this year for a mid-level SWE role on their identity platform team. wanted to write this up because the format is a little different from what i expected.
there are two stages before you ever talk to an engineer:
stage 1: recruiter screen before any coding, there's a 30-min call with a recruiter. pretty standard. they confirm your experience level, go over the role, ask why okta. nothing technical.
stage 2: async coding assessment they send a HackerRank link. you get 90 minutes for 3 problems. in my batch it was: one easy string manipulation problem (warmup) one medium array/hashmap problem (classic frequency-count type thing) one medium-hard graph traversal (finding cycles, BFS-ish)
difficulty felt like solid Leetcode medium, maybe one step below Google's bar. the graph one would trip up anyone who hasn't reviewed BFS/DFS recently. i'd say you need to be comfortable with hashmaps, sliding window, and graph traversal basics.
one thing that surprised me: the assessment is timed per-problem, not cumulative. you can't bank time from the easy one. read the instructions carefully before you start.
after the OA: if you pass, it goes to a technical phone screen (45 min, live coding) and then the onsite loop. the live screen was about the same difficulty as the OA but you're talking through your approach out loud the whole time, which is a different skill.
overall difficulty: compared to AWS or Google, okta's coding bar felt a bit more approachable. less focus on system design at the coding stage. more focus on clean, working code over theoretical complexity optimization. i got feedback that my graph problem solution was O(n log n) when O(n) was possible, but they passed me anyway because the code was readable and correct.
if you're prepping: grind LC mediums in graphs, arrays, strings. don't go too deep on hard dp problems for this stage. good luck.