iosNudge

1 week

1 Week Plan

This plan is for you if your interview is in a few days. It covers only the topics that come up most often. You need some iOS experience already.

7 parts43 items 8h 39m in total3–4 hours a day
0/43 completed0%

Day 1 — Swift basics

0/7 done

Day 2 — Memory and ARC

0/6 done
  • ARC counts strong references to each class instance and frees the instance as soon as the count reaches zero, with retain and release calls inserted by the compiler.

    QuizMedium3 mins
  • A strong reference keeps an object alive, a weak reference does not and becomes nil when the object dies, and an unowned reference does not and crashes if used after the object dies.

    QuizEasy3 mins
  • A retain cycle happens when objects hold strong references to each other so their counts never reach zero; you break it by making one link weak or unowned.

    QuizMedium2 mins
  • A capture list, like [weak self] or [count], controls how a closure captures values, either by making references weak or by copying a value at creation time.

    QuizMedium3 mins
  • Build a generic cache that drops the least recently used item when it is full. Every operation must be O(1).

    Swift codingMedium30 mins10 tests
  • Group words made of the same letters by using a dictionary with a smart key.

    Swift codingMedium20 mins9 tests

Day 3 — Concurrency

0/7 done
  • GCD is a lightweight C-based API for running closures on queues, while OperationQueue is a higher-level Objective-C API built on GCD that adds dependencies, cancellation and concurrency limits.

    QuizMedium2 mins
  • An async function can pause at each await without blocking its thread, letting Swift run other work on that thread until the result is ready.

    QuizMedium2 mins
  • An actor is a reference type that protects its mutable state by running only one task at a time on it, and reentrancy means its state can change while one of its methods is suspended at an await.

    QuizMedium2 mins
  • @MainActor is a global actor that runs code on the main thread, and marking UI types and methods with it lets the compiler check that UI updates happen there.

    QuizMedium2 mins
  • A deadlock is when threads wait for each other forever, a data race is unsynchronized access to the same memory with at least one write, and a race condition is a logic bug that depends on timing.

    QuizMedium3 mins
  • Run an action only after the calls stop for a short time, like a search box that waits until the user stops typing.

    Swift codingMedium25 mins9 tests
  • Build a bank account as an actor so many tasks can deposit, withdraw and transfer at the same time without data races.

    Swift codingEasy15 mins10 tests

Day 4 — UIKit and SwiftUI

0/6 done

Day 5 — Architecture and networking

0/6 done

Day 6 — Algorithms in Swift

0/6 done
  • When to use two pointers, sliding window, hashing, binary search and prefix sums, with a short Swift template for each.

    GuideEasy3 mins
  • Merge overlapping calendar events into busy blocks by sorting first, then scanning once.

    Swift codingMedium20 mins9 tests
  • Count how often each hashtag is used and return the k most popular ones.

    Swift codingMedium20 mins9 tests
  • Find the longest run of unique characters with a sliding window and a dictionary.

    Swift codingMedium20 mins10 tests
  • Reverse a singly linked list in place by turning every next pointer around.

    Swift codingEasy15 mins8 tests
  • Count connected regions of filled pixels in a mask with flood fill (the "number of islands" problem).

    Swift codingMedium20 mins9 tests

Day 7 — System design and behavioral

0/5 done
  • A step-by-step plan for the round, with time boxes, what to say at each step, and a worked example.

    GuideEasy5 mins
  • Build a Kingfisher-style library with a memory and disk cache, shared in-flight requests, downsampling, and safe cancellation in reused cells.

    System designHard1h
  • Design a social feed with cursor pagination, prefetching, optimistic likes and an offline cache that opens instantly.

    System designMedium45 mins
  • Build a list that loads the next page before the user reaches the end, with loading, error and empty states.

    SwiftUIMedium45 mins
  • How to answer "Tell me about a time…" questions with the STAR method, with 10 common questions and short sample answers from iOS work.

    GuideEasy9 mins