- Backend Dev – The Java and the JVM You Actually Need
You do not need all of Java before you start a framework, but you do need a specific subset — and one that is not the subset a beginner course teaches. Collections and which one to reach for, equals and hashCode, Optional, streams, exceptions that mean something, records, and the handful of JVM facts that explain your production bugs.
- Quick Sort
Partition around a pivot and recurse. Sorts in place and is usually the fastest in practice, but has an O(n^2) worst case — and the input that triggers it is the already-sorted array you are most likely to be handed. Median-of-three, and the recursion trick that caps the stack at O(log n).
- Spring Boot – Async Work and Thread Pools
@EnableAsync, @Async and a ThreadPoolTaskExecutor sized on purpose rather than left at the default. What the queue and rejection policy actually do under load, @Scheduled for recurring work, and why an @Async method that returns void throws away its own exceptions.
- iOS – Forms, Text Input and Validation
The keyboard is part of your UI. keyboardType, textContentType and AutoFill, the autocapitalisation default that breaks every email field, @FocusState and moving between fields, and a validation model that keeps the rules out of the view and testable in microseconds.
- Python – Exception Handling
try, except, else and finally, catching the exception you meant rather than all of them, raising your own, chaining with `raise ... from`, and why a bare `except:` is the line that hides the bug you are looking for.