Algorithms and Data Structures
Big O, Omega and Theta, complexity classes, abstract data types, arrays, linked lists, stacks, queues, hash tables, trees, heaps, graphs, sorting, search and common algorithmic techniques
Big O, Omega and Theta, complexity classes, abstract data types, arrays, linked lists, stacks, queues, hash tables, trees, heaps, graphs, sorting, search and common algorithmic techniques
API Routes in pages/api, submitting a form to an API Route, validation and errors
File conventions of the app/ directory, segments, route groups, parallel and intercepting routes
Array methods by group, mutating and non-mutating, common pitfalls
Primitives, any, unknown, never, void, arrays, tuples, unions and literals
Naming, DRY / KISS / YAGNI and when DRY hurts, Clean Code principles, code smells
bind(), call(), apply()
Content, padding, border and margin, box-sizing, margin collapsing, block vs inline, block formatting context, overflow, logical properties
Cookies vs localStorage vs sessionStorage, cookie attributes and security
Legacy class components, lifecycle methods and their hook equivalents
Class syntax, inheritance, private fields and static methods
A function that remembers the variables of the scope it was created in
An index of live-coding tasks - bind, call/apply, Promise.all, debounce, deep copy, memoize, flat, event emitter, LRU cache - and where each is solved
reset vs revert vs restore, reset modes, reflog, stash, switch, fetch vs pull, tags
Components, elements and JSX, purity, fragments
View, Text, Image, TextInput, Pressable, ScrollView, Modal and their native views; text only inside Text, network images need a size, expo-image
Same-Origin Policy, what an origin is, preflight and credentials
CSS variables, var() with a fallback, cascade and inheritance, invalid at computed-value time, @property, theming with light-dark() and color-mix(), vs Sass variables
Tracks and fr, repeat() with auto-fill vs auto-fit, line placement and grid areas, implicit grid, subgrid, Grid vs Flexbox
Combinators, attribute selectors, :nth-child vs :nth-of-type, :focus-visible, pseudo-classes vs pseudo-elements, :has(), right-to-left matching
Transitions vs keyframe animations, why to animate transform and opacity, will-change, CSS vs JavaScript animations, reduced motion
What data types exist in modern JS
PostgreSQL data types, integers, numeric vs floating point, text, timestamp vs timestamptz, boolean, uuid, json vs jsonb, identity columns
React Native DevTools and its panels, LogBox, native logs from Xcode and logcat, crash reporting in production with source maps
Console, breakpoints, DevTools panels, React and Redux DevTools
SDLC stages, Waterfall vs Agile, Scrum roles and events, Kanban, Scrum vs Kanban
Capturing and bubbling, target vs currentTarget, delegation, listener options
Numeric, string and const enums, and why unions often replace them
NEXT_PUBLIC_ variables inlined at build time vs server variables read at runtime, .env file order, one Docker image for several environments
throw, try...catch...finally, custom errors and errors in async code
EventEmitter, synchronous listeners, the special error event, once and promises, listener leaks, EventEmitter vs EventTarget
The fs module, promise vs callback vs sync APIs, common operations, paths, existence checks, streams for large files
Main and cross axes, container and item properties, flex-grow / shrink / basis and flex 1, gap and wrapping, the min-width trap, order
How Flexbox in React Native differs from the web, alignment properties and their values
Function Declarations, Function Expressions, and Arrow Functions
Type parameters, constraints, defaults and generic React components
pushState and replaceState, the popstate event, hash vs history routing, and the Navigation API
Built-in hooks at a glance, the Rules of Hooks and custom hooks
From a URL to pixels - DNS, connection, parsing, the rendering pipeline
Semantic markup, script loading, nesting rules, data attributes, viewport, form validation
Methods, status codes, caching, HTTP versions and requests with fetch
Creating an HTTP server with node:http, request and response as streams, reading the body, headers, making requests with fetch
IntersectionObserver, ResizeObserver and MutationObserver, when their callbacks run, lazy loading, infinite scroll and the ResizeObserver loop error
Rendering lists with map, choosing a key, an index as a key, resetting state with a key
Merge vs rebase, fast-forward and merge commits, squash, interactive rebase, cherry-pick and conflicts
Link and prefetching, useRouter, usePathname, useSearchParams, redirect and where to redirect
React Navigation vs Expo Router, stack / tabs / drawer, screens that stay mounted, navigate vs push vs popTo, typed params, auth flow
What Next.js adds to React, App Router vs Pages Router, when not to use it
Cloning objects, accessing properties, iterating, Object static methods
Object shapes, interfaces, optional and readonly properties, index signatures
Encapsulation, inheritance, polymorphism and abstraction with TypeScript examples, composition over inheritance
npm, pnpm, Yarn and Bun, lockfiles, semver ranges, dependency types, workspaces, Corepack, install scripts
pages/ routing, dynamic routes, _app and _document, navigation and redirects
Platform-specific file extensions, Platform.OS, Platform.select and Platform.Version
position values, containing block, why sticky does not stick, stacking context and z-index, top layer, anchor positioning, ways to center an element
Imperative vs declarative programming, with examples in JavaScript
Passing data and callbacks, default values, children, typing and prop drilling
createContext, providers, useContext and use, re-renders of consumers
React Router modes, nested routes, navigation hooks, loaders and protected routes
useRef, DOM refs, callback refs, ref as a prop and useImperativeHandle
Creating regular expressions, flags, methods and basic syntax
One-to-one, one-to-many and many-to-many relationships, how each is built with foreign keys, junction tables, querying with JOIN
SSG, ISR, SSR and CSR in the Pages Router, automatic static optimization
Mobile-first media queries and range syntax, CSS units, clamp() / min() / max(), container queries, srcset and sizes vs picture, user preference queries
useEffect dependencies, cleanup order, StrictMode, race conditions and useLayoutEffect
Cascade order, specificity, :is() / :where() / :has(), nesting, @layer, inheritance and the inherit / initial / unset / revert keywords
DML, DDL, DCL and TCL, SELECT and the logical order of clauses, JOIN types, GROUP BY and HAVING, subqueries and CTEs, upsert and RETURNING
NOT NULL, UNIQUE, PRIMARY KEY, FOREIGN KEY with ON DELETE actions, CHECK and DEFAULT, and how NULL interacts with them
useState and useReducer, state as a snapshot, batching, immutable updates
AsyncStorage, MMKV, SecureStore and SQLite, where each kind of data goes on the device, tokens in Keychain / Keystore, persisting app state
StyleSheet API, how styles differ from CSS, responsive sizes with useWindowDimensions, custom fonts
Event handlers, SyntheticEvent, event delegation on the root and differences from DOM events
Types of tests, pyramid vs trophy, test doubles, coverage, AAA, TDD and BDD, test runners and E2E tools
What the `this` keyword refers to in JavaScript
The as syntax, as const, satisfies, non-null assertion and when a type guard is safer
typeof, instanceof, in, equality, discriminated unions, type predicates and assertion functions
Declaration merging, extends vs intersection, implicit index signatures and which one to choose
Props, children, events, hooks, context, wrapping native elements and ref as a prop in React 19
Parts of a URL, new URL and URLSearchParams, percent-encoding, encodeURI vs encodeURIComponent
Partial, Required, Readonly, Pick, Omit, Record, Exclude, Extract, NonNullable, ReturnType, Parameters, Awaited and NoInfer
var, let and const, hoisting and the temporal dead zone
WCAG and its levels, semantic HTML, accessible names, keyboard and focus, ARIA rules, contrast, testing
What Node.js is, V8 and libuv, the thread pool, non-blocking I/O, when Node fits and when it does not, release lines
What React Native is, how it differs from React for the web, Flutter and native apps, Expo vs bare projects
Controlled and uncontrolled inputs, form Actions in React 19, form libraries