What Changed in My 2024-2025 Mobile Interview Loop
A first-person report from Leo Kwan's 2024-2025 mobile interview loop: where I got humbled, what larger-company mobile interviews now reward, and why StrongYes exists.
Scope note: this is not a universal hiring map. These notes come from my own mobile engineering loop with larger tech companies in 2024-2025. Your mileage will vary by company, level, and platform.
I wrote this because the polished version of interview prep is not very useful. It is easy to say "study the patterns" or "practice system design." It is harder to explain what actually broke down once I was tired, under pressure, and trying to turn real experience into a convincing interview story.
I had already been a mobile engineer for over six years. I had shipped features used by hundreds of millions of people. I had led projects, mentored junior engineers, and navigated production incidents at 2 AM. None of that made me interview-ready.
The loop still exposed weak spots in my prep, weak spots in my storytelling, and weak spots in how I handled the logistics around offers and rejections.
Here is what I wish someone had told me before I started.
1. Experience did not save me from a full reset
The first thing I had to accept was simple: seniority did not make me interview ready.
I could still ship product, mentor teammates, and talk through tradeoffs at work. That did not mean I could cleanly solve a timed algorithm question, sketch a mobile-friendly system design, and explain my decisions out loud in a way that felt crisp to an interviewer who had just met me.
I remember the exact moment I realized how wide the gap was. I was doing a practice problem -- a medium-difficulty sliding window question I had "understood" conceptually for years. I set a 25-minute timer. After 20 minutes, I had a partial solution with two bugs. I could not explain my approach cleanly. My variable names were a mess. If that had been a real screen, I would have failed.
That gap was the real reset.
The useful framing for me was not "I am bad at interviewing." It was "interview performance is its own skill, and I have to train it on purpose." Just like you would not expect to run a fast 5K without training runs, you should not expect to pass a coding screen without dedicated reps. The distance between "I understand this concept" and "I can execute it under pressure while explaining it to a stranger" is enormous.
I spent roughly three months in active prep. The first two weeks were humbling. The last two weeks finally felt like things were clicking. Everything in between was a grind.
2. What actually changed in modern mobile loops
SwiftUI is table stakes now
A few years ago I still saw interviews where UIKit felt like a normal choice. That is not how the better mobile loops felt this time around.
Even when the problem was not explicitly "build this view in SwiftUI," the expectation was that I could think in modern Apple-platform terms, move quickly, and explain UI tradeoffs without fighting the framework. One interviewer asked me to build a scrollable list with inline editing, and the implicit assumption was SwiftUI. When I instinctively reached for UIKit patterns -- delegate callbacks, manual cell reuse -- I could feel the energy shift. Not a failure exactly, but a signal that I was solving a 2024 problem with 2019 tools.
SwiftUI is not the only thing that matters, but not knowing it cleanly is now a real drag on speed. If you are a senior mobile engineer who has been maintaining a mostly-UIKit codebase, start your SwiftUI ramp-up before you start your interview ramp-up. They are separate skills.
Apple's own SwiftUI documentation has improved substantially, and Paul Hudson's 100 Days of SwiftUI remains one of the fastest on-ramps.
The bar is more generalist than "mobile specialist"
Most large companies do not build entire interview panels out of mobile engineers. That means the loop still leans on data structures and algorithms because it is the common language across teams.
This was the hardest pill for me to swallow. I had real, shipped, complex mobile work. But in a 45-minute coding round, the interviewer does not know that. They see whether you can solve a graph traversal, explain the time complexity, and handle the follow-up. That is the evaluation surface.
You do not have to like that fact. You do have to plan around it.
The mistake is spending energy arguing with the format. I wasted at least two weeks early on feeling annoyed that the problems felt disconnected from my daily work. That resentment did not make me better at solving them. It just delayed my prep.
The more useful move is to decide that DSA is a gate, then build a repeatable way to clear it. I ended up doing about 120 problems over three months, not all unique -- some I repeated three or four times until I could solve them from memory and explain the approach in under two minutes. The repetition mattered more than the count.
A 2024 analysis by Interviewing.io found that candidates who practiced with realistic mock interviews had substantially higher offer rates than those who only did solo LeetCode. That tracks with my experience. Solving alone and explaining out loud are different skills.
System design punished vague language
The part that hurt me more than expected was system design. I knew the raw concepts, but under pressure I would drift into soft language: "we could scale this," "we would that," "eventual consistency is probably fine here."
That kind of answer sounds experienced in your own head. In the room, it often sounds like you are avoiding a decision.
I had one system design round where I spent fifteen minutes building what I thought was a solid architecture for a real-time feed. The interviewer stopped me and said something like: "You have described five things you could do. What would you actually do first, and why?" I did not have a crisp answer. I had been narrating options instead of making choices.
The better interviews rewarded concrete tradeoffs:
- what is the write path, step by step
- where is the bottleneck and what breaks first
- what happens on mobile when the network is unreliable
- what do we precompute versus fetch live
- which metric would tell us the design is failing
Once I practiced system design as a sequence of decisions instead of a cloud of concepts, my answers got much calmer. I started writing my practice designs as bullet-point decision logs rather than whiteboard diagrams, and that forced me to commit to choices instead of hedging.
Alex Xu's System Design Interview books are useful references, but I got more value from watching recordings of real mock system design interviews on YouTube and pausing after each section to see whether my answer matched the interviewer's expectations.
Behavioral rounds matter more than mobile engineers think
This one caught me off guard. I had assumed that as a technical candidate, the behavioral rounds were mostly a vibe check. They are not.
At senior levels, behavioral rounds are where companies decide whether you operate at the level they are hiring for. They want to hear about technical leadership, conflict resolution, and scope judgment -- not just "tell me about a hard project."
My first behavioral round in the loop went poorly because I told a perfectly fine story but could not articulate the decision I made or the tradeoff I navigated. I described a project. I did not describe my judgment.
After that, I rewrote every behavioral story using a stricter structure:
- What was the situation and what made it hard
- What specific decision I made and why
- What I explicitly chose not to do
- What changed because of my decision (with a number if possible)
That structure turned vague war stories into crisp interview answers.
3. The habits that actually helped
Keep a paper trail with recruiters
The lesson here is not "play games with recruiters." The lesson is to keep clean records.
After every important conversation, send the short recap email. Confirm timing. Confirm next steps. Confirm level, role, and who owns the decision.
I had at least one process go sideways badly enough that I wished every detail had been written down more clearly and earlier. A verbal commitment about timeline shifted without notice, and because I had not documented the original conversation, I had no leverage to push back. The durable habit is not drama. It is documentation.
If you are managing multiple processes in parallel -- and at senior levels, you should be -- a simple spreadsheet with columns for company, stage, recruiter name, next action, and date is worth more than any fancy tool. I used a Google Sheet and updated it after every call.
Quantify your work before you need the story
I underestimated how hard it is to reconstruct your best projects once the stress starts. The interview version of your experience needs specifics:
- what changed because of your work
- how big the surface area was (users, revenue, latency, team size)
- who you influenced and how you brought them along
- what tradeoff you made on purpose
- what metric moved and by how much
If you wait until the loop to build those stories, you spend precious energy trying to remember details you used to know cold.
The thing that saved me was a document I had started months before the loop. I called it my "brag doc" -- a running list of every project, every win, every hard decision, with numbers attached. When I needed a behavioral story about "a time you influenced without authority," I could scan the doc and pick the strongest example in thirty seconds.
I got the idea from Julia Evans' post on brag documents, and it is the single highest-ROI prep activity I did.
Mock interviews are expensive and still worth it
I resisted mock interviews for too long because they felt expensive. In hindsight, that was penny-wise thinking.
I did roughly eight mock interviews total: four with friends who were also prepping, two paid mocks through Interviewing.io, and two informal practice rounds with former colleagues. The paid mocks were the most useful because the feedback was blunt and specific. One mock interviewer told me: "You solve the problem fine, but you do not explain anything until the end. I have no idea what you are thinking for the first ten minutes." That single piece of feedback changed how I approached every subsequent round.
If your weak area is system design or live problem-solving, paying for sharper feedback is rational. Job searches are rare. The compensation swing from landing the right role at a top company can be hundreds of thousands of dollars over a few years. Spending a few hundred dollars on targeted feedback is not extravagant. It is proportional.
The useful question is not "is this annoying to pay for?" It is "what is the cheapest way to expose the weak part of my loop before the real onsite does?"
Manage your energy, not just your time
This is the lesson nobody writes about. Interview loops are physically and emotionally draining.
I had one week where I had a phone screen on Monday, a take-home due Wednesday, and a full onsite on Friday. By Friday afternoon I was flat. My answers were technically fine but my energy was low, and I could feel the difference in how I communicated. The interviewers could probably feel it too.
After that week, I started spacing things out more deliberately. I blocked the day before any onsite as a rest day -- no LeetCode, no prep, just a walk and a good night's sleep. I ate a real lunch before afternoon sessions. I stopped scheduling things back to back.
These sound like small things. They are not. Interview performance degrades sharply when you are tired, and the marginal value of one more practice problem the night before is almost always negative.
4. The numbers I can share
I am not going to name every company or share exact compensation details, but here is the rough shape of my loop:
- Applied to or was contacted by 11 companies over about four months
- Had phone screens with 8 of them
- Made it to onsite or virtual onsite with 5
- Received offers from 2
- Got rejected after onsite from 2
- Withdrew from 1 mid-process
That is a roughly 18% end-to-end conversion rate from application to offer, which is actually decent for senior mobile roles at competitive companies. But it did not feel decent while it was happening. Each rejection stung, especially the ones where I thought I had performed well.
The two post-onsite rejections taught me the most. In one case, I got feedback that my system design was strong but my coding round was "borderline" -- I had solved the problem but not handled the follow-up cleanly. In the other case, the feedback was vague, which was its own kind of painful.
The two offers came from the companies where I felt most comfortable during the interviews. In hindsight, that was not a coincidence. Comfort comes from preparation, and the preparation was cumulative. By the time I reached those onsites, I had already failed enough times to know what my weak spots were and how to manage around them.
5. Why StrongYes exists
StrongYes came out of a specific frustration: reading helped me recognize the pattern, but it did not prove I could explain the answer under pressure.
The missing step was always the spoken rep.
I would read about a pattern, nod along, feel like I understood it. Then I would try to explain it out loud -- to my wife, to my dog, to an empty room -- and the explanation would fall apart. The words were not there. The confidence was not there. The clarity was not there.
I wanted a practice loop where I could:
- pick one problem instead of browsing forever
- explain the approach out loud, in real time
- hear where the explanation got fuzzy or lost confidence
- run the rep again while the mistake was still fresh
That is the product bet behind StrongYes. Not "AI can replace interviews." Not "one tool solves everything." Just a tighter practice loop for the part that usually breaks last: saying the answer clearly while someone is watching.
6. What I would do differently next time
If I had to start a loop again tomorrow, here is what I would change:
Start the brag doc six months early. Not six weeks. The best stories need time to accumulate detail.
Do mock interviews in week one, not week six. I waited too long because I wanted to "be ready." The point of early mocks is to find out what you are not ready for.
Stop doing new problems after a certain point. My last week of prep was review-only: re-solving problems I had already done, re-explaining approaches I had already written down. That review week was more valuable than the previous two weeks of grinding new problems.
Take the behavioral round as seriously as the coding round. Every senior candidate I know who failed a loop and could not explain why eventually traced it back to a weak behavioral performance. The technical rounds get you to the table. The behavioral rounds get you the offer.
Sleep more. Not a joke. I was averaging about six hours during the heaviest prep period, and my performance in morning practice sessions was noticeably worse than afternoon sessions. When I forced myself to get seven-plus hours, my solve times dropped.
If you are in your own reset right now
The main thing I would tell you is this: do not confuse embarrassment with signal.
The shaky rep is useful. The ugly mock is useful. The rejected onsite is useful -- if it tells you what the next drill should be.
If you are a senior engineer who feels like you should be "past" this kind of grind, you are not alone. Everyone I talked to during my loop -- people at Staff level, people with a decade of experience -- was going through the same reset. The industry has made interview prep a required skill regardless of seniority.
That is the standard I want StrongYes to meet too. Less polish theater. More useful reps. The kind of practice that actually changes what comes out of your mouth when the timer starts.
Practice out loud.
Explain your thinking like you're in the interview.
First-person reporting from Leo Kwan's 2024-2025 mobile interview loop.
Last verified Apr 5, 2026.
Practice Interviews.
Reading builds recognition. Explaining builds recall. Run these problems with Fin or Coco.