A senior Android engineer's systematic return to DSA fundamentals —
solved in Kotlin, documented for depth.
After 10+ years of building production Android applications, I made a deliberate decision to return to the fundamentals that senior engineering interviews demand.
This repository is not a collection of copied solutions. Every problem here is solved independently, explained in plain language, and written in idiomatic Kotlin — the same language I use daily in production.
It is part of a broader six-month preparation roadmap targeting senior Android engineering roles at world-class companies in Australia.
Each solution includes:
- Problem summary — what is being asked, in my own words
- Approach — the reasoning before the code
- Complexity analysis — time and space, explained
- Kotlin implementation — clean, readable, no magic
dsa-practice-kotlin/
├── arrays/
├── linked-lists/
├── trees/
├── graphs/
├── hashmaps/
├── sorting/
└── dynamic-programming/
| Topic | Solved | Difficulty spread |
|---|---|---|
| Arrays | 1 | - |
| Linked Lists | 0 | - |
| Trees | 0 | - |
| Graphs | 0 | - |
| HashMaps | 1 | - |
| Sorting | 0 | - |
| Dynamic Programming | 0 | - |
Updated as problems are solved. Started July 2025.
- Language: Kotlin
- IDE: IntelliJ IDEA
- Test runner: JUnit 5
Senior Android Engineer with 10+ years of native Android experience.
Currently preparing for senior roles in Australia.
LinkedIn · GitHub