Browse everything
1,138 notes and 3,987 interview angles across 9 domains. Jump to a domain, or search with Ctrl K.
Backend
658 notesTheory foundations 7
Python core 108
- Is Python interpreted or compiled? · 5
- Mutable vs Immutable Types in Python · 9
- Variable Scope in Python · 3
- Introspection in Python · 3
- What is the difference between is and ==? · 3
- Difference Between __init__() and __new__() in Python · 3
- Types of Imports in Python · 3
- Class, Iterator, and Generator in Python · 3
- Metaclass and Loop Variable in Python · 3
- Difference Between Iterators and Generators · 3
- Difference Between staticmethod and classmethod in Python · 3
- Decorators and Context Managers in Python · 3
- args and *kwargs in Python · 3
- Testing in Python · 5
- Fixtures and Patch in pytest · 3
- Lambda Functions and Their Usage with map, filter, and reduce in Python · 3
- Shallow vs deep copy
- Hashable Objects in Python · 3
- Argument Passing in Python: By Reference or By Value? · 3
- Python, Backend, and Architecture Learning Notes · 4
- Python, Backend, and Architecture Learning Notes · 3
- Generators and Iterators in Python · 3
- __eq__ vs __hash__
- Enum vs StrEnum · 6
- Debugging and introspecting async code · 5
- Application debugging and introspection · 5
- Python memory model — allocation, refcounting, GC
- __slots__ — when it saves memory and what it breaks
- weakref — References That Don't Prevent GC · 8
- String interning and the small-int cache
- dis — inspecting Python bytecode
- dict internals
- list internals
- match/case — structural pattern matching (3.10+)
- What's new in Python 3.12-3.14 · 5
- Python Packaging — pip, Poetry, uv · 5
- Virtual Environments and Lockfiles · 6
- pyproject.toml and Building Packages · 6
- Dependency Resolution and Supply-Chain Security · 6
- Profiling Python — cProfile, pstats, timeit
- Memory profiling — tracemalloc, memory_profiler, objgraph
- Why Python is slow — and how to mitigate it
- Native extensions — Cython, Numba, ctypes, PyO3
- Async optimization — getting the most out of asyncio
- Debugging a Live Production Incident · 5
- collections — specialized containers
- itertools — efficient iterator combinators
- functools — higher-order function utilities
- contextlib — context manager helpers
- dataclasses — boilerplate-free data classes
- pathlib and logging · 5
- concurrent.futures — thread/process pools with a unified API
- dataclasses vs Pydantic v2 vs attrs · 7
- Mutable default arguments
- Late-binding closures
- is vs == and string/int interning
- bool is a subclass of int
- Class variable vs instance variable
- List multiplication and aliasing
- Chained comparisons
- Generator exhaustion
- async def returns a coroutine, doesn't run
- super() and MRO with multiple inheritance
- Walrus operator (:=) gotchas
- Comprehension scope
- += on an immutable inside a dict
- id() reuse after garbage collection
- Implicit string concatenation
- dict.get(k, default) and falsy values
- Floats and equality
- Dataclass mutable defaults
- Starred unpacking
- Exception swallowing in finally
- Circular imports
- Descriptor invocation order
- Empty class as a dict key · 4
- Metaclass vs class decorator
- pickle security
- nonlocal vs global
- yield from semantics
- Blocking calls in async def
- Decorator with arguments
- functools.wraps
- Collection complexity (list / tuple / set / dict)
- Truthiness of containers and falsy values
- Positional-only and keyword-only parameters (/ and *)
- Mutating a dict key after insertion
- True, 1, and 1.0 as the same dict key
- float('nan') as a dict key
- Self-referential dicts (and lists)
- Mutating a dict during iteration
- setdefault always evaluates the default
- __missing__ — and why .get() doesn't trigger it
- Merging dicts: {a, b} vs a | b vs update vs ChainMap
- Duplicate keys in dict comprehensions
- Inverting a dict — what could go wrong
- dict.fromkeys shares a single default object
- frozenset vs tuple as a dict key
- Dict insertion order — when did it become a guarantee?
- d[k] vs d.get(k) vs d.setdefault(k, v) vs defaultdict
- Dict shallow copy trap — nested mutables are shared
- Type hint basics: Optional, Union, Callable
- TypeVar and generics
- Protocol and structural typing
- TypedDict, Literal, Final, ClassVar
- Annotated and TypeGuard
- ParamSpec and Concatenate — typing decorators
- mypy vs pyright; strictness modes; runtime enforcement
Python OOP 10
- Magic Methods and Attributes in Python · 4
- Classes in Python · 4
- Objects in Python · 4
- Polymorphism in Python · 4
- Encapsulation in Python · 4
- Inheritance in Python · 4
- Data Abstraction in Python · 4
- Descriptors · 6
- Python Protocols and Interfaces: A Comprehensive Guide · 4
- Metaclasses — Production Patterns · 6
Async & concurrency 18
- The GIL, and free-threaded Python · 6
- Concurrency vs. Parallelism in Python Async Programming · 3
- Difference Between Threads and Processes · 4
- Context Switching in Python Async Programming · 4
- Asynchronous Python and Coroutines · 4
- Event Loop Internals · 9
- Asyncio vs Threads in Python: A Comprehensive Comparison · 4
- Python Concurrency Models: Processes, Threads, and Asyncio · 4
- When to use processes · 5
- Synchronization Primitives in Python
- Comparing asyncio.Queue and threading.Queue in Python · 4
- TaskGroup and Structured Concurrency · 5
- Cancellation, timeouts and error handling in asyncio · 7
- run_in_executor and asyncio.to_thread · 6
- Concurrent.futures in Python: A Comprehensive Guide · 4
- ProcessPoolExecutor in Python: A Comprehensive Guide · 4
- anyio and Trio — structured concurrency · 5
- Async and concurrency
Testing 18
- Integration tests · 5
- Mocking external APIs · 5
- Fixtures, parametrize and scope · 5
- Fixtures deep dive
- Parametrize patterns
- Mock, MagicMock, patch
- pytest-asyncio
- Hypothesis and property-based testing
- Coverage and branches
- Test doubles taxonomy
- Pytest Testing Framework
- QA methodology and test design · 6
- Test automation frameworks and API testing · 6
- QA engineering
- Test Strategy and the Test Pyramid · 6
- Integration and Contract Testing · 6
- Load and Performance Testing · 7
- Test Data, Flaky Tests, and CI Parallelization · 6
Web frameworks 70
- WSGI vs ASGI — Common Interview Questions and Answers · 3
- aiohttp — ClientSession Lifecycle and Connection Pooling · 6
- aiohttp — Timeouts, Retries, and Pooling Patterns · 6
- aiohttp — Streaming and Server Framework · 6
- aiohttp vs httpx · 6
- Django F Object · 7
- Django Q Object · 8
- Django Bulk Operations Guide · 3
- Django Proxy Models Guide · 3
- Django Serializers and Actions Guide · 3
- Django Models vs QuerySets: Understanding the Difference · 3
- Django middleware · 5
- Django signals · 5
- CharField vs TextField in Django · 3
- settings.py · 6
- select_related vs prefetch_related in Django ORM · 3
- Django vs Django REST Framework (DRF) Guide · 3
- Async Django, Channels, and Async ORM · 6
- Django ORM: A Comprehensive Guide · 3
- Django Migrations: A Comprehensive Guide · 4
- Django ORM Relationships: One-to-Many, Many-to-Many, One-to-One · 3
- Django REST Framework (DRF) · 4
- DRF Serializers · 5
- DRF Validation · 5
- DRF Views: APIView, GenericAPIView, ViewSet · 5
- DRF Routers and Custom Actions · 5
- DRF Permissions · 6
- DRF Authentication · 5
- DRF Throttling · 5
- DRF Pagination · 5
- DRF Filtering, Searching, Ordering · 5
- DRF Nested Writable Serializers · 5
- DRF Performance and the N+1 Problem · 6
- Testing DRF APIs · 5
- DRF Exception Handling · 5
- DRF Versioning · 5
- DRF Schema and OpenAPI · 5
- Django
- FastAPI · 5
- FastAPI Basics and Setup - Interview Questions · 4
- Pydantic models in FastAPI · 6
- Dependencies and injection · 7
- Async and performance · 6
- Security and authentication · 6
- Testing a FastAPI app · 6
- Middleware · 5
- FastAPI project structure · 5
- FastAPI — Common Interview Questions and Answers · 4
- FastAPI and the event loop · 5
- Outbound auth, logging and caching · 5
- Exception handling · 5
- Writing a client for an external API · 7
- FastAPI: sync code in an async route, run_in_threadpool · 6
- BackgroundTasks vs Celery — Decision Matrix · 6
- response_model — Advanced Patterns · 6
- OpenAPI and the generated docs · 6
- Deployment · 6
- Flask · 5
- Litestar · 4
- Pydantic — Common Interview Questions and Answers · 3
- Pydantic in practice · 5
- Validation modes: before, after, strict, lax · 5
- Streamlit Overview - Interview Questions · 3
- Streamlit Basics and Widgets - Interview Questions · 3
- Streamlit Session State - Interview Questions · 3
- Streamlit Caching - Interview Questions · 3
- Streamlit Multipage Apps - Interview Questions · 3
- Streamlit LLM Chat Apps - Interview Questions · 3
- Streamlit Deployment and Secrets - Interview Questions · 3
- Streamlit Testing and Advanced Topics - Interview Questions · 3
REST APIs 9
- Idempotency · 5
- JWT Authentication: What, When, and How · 3
- Status codes · 5
- PUT vs PATCH: Understanding the Difference · 3
- REST principles
- REST Versioning and Pagination · 6
- Richardson Maturity Model and HATEOAS · 6
- REST Error Handling and HTTP Caching · 7
- Stateful vs Stateless (REST and beyond) · 7
Databases 55
- SQL and NoSQL · 6
- NoSQL Decision Guide — Which Store, and When · 6
- Apache Cassandra · 7
- Elasticsearch — Inverted Index Fundamentals · 6
- Elasticsearch — Query DSL and BM25 Scoring · 7
- Elasticsearch — Mappings, Field Types, and Schema Evolution · 7
- Elasticsearch — Aggregations · 7
- Elasticsearch — Vector Search and kNN · 7
- Elasticsearch — Python Client and Production Pitfalls · 7
- OpenSearch and the fork · 5
- MongoDB — Overview · 6
- MongoDB — Indexes · 6
- MongoDB — Aggregation Pipeline · 7
- MongoDB — Transactions, Read & Write Concerns · 6
- MongoDB — Replica Sets and Sharding · 7
- MongoDB — Pitfalls and Performance · 7
- NoSQL Databases
- SQL fundamentals
- Database Indexes — Fundamentals · 10
- How a query is processed · 6
- SQL Transactions · 4
- Relationships and Keys in PostgreSQL · 4
- SQLAlchemy · 3
- N+1 query problem
- Transactions and isolation levels
- Connection pooling
- EXPLAIN and EXPLAIN ANALYZE
- Index types
- Window functions and CTEs
- Zero-downtime migrations
- Sharding and Partitioning · 10
- CAP, ACID, BASE, PACELC · 6
- Alembic · 6
- MySQL · 5
- SQLite · 5
- VACUUM, autovacuum, table bloat, and transaction wraparound · 7
- PostgreSQL Advisory Locks · 6
- Replication and Logical Decoding · 6
- WAL, Checkpoints, and fsync · 6
- Isolation Anomalies Across Databases — Postgres vs MySQL vs SQLite · 7
- Core vs ORM · 5
- Engine, Connection, Session · 6
- Declarative Models · 6
- Relationships · 6
- Querying — 2.0 select() style · 6
- Loading Strategies and N+1 · 6
- Unit of Work and Identity Map · 7
- Session Lifecycle · 6
- Transactions, Savepoints, Isolation · 6
- Connection Pooling · 6
- Async SQLAlchemy · 6
- Bulk Operations and Performance · 6
- Testing Patterns · 6
- Common Pitfalls · 7
- SQLAlchemy — Deep Topical Notes
Caching 9
Message queues 28
- Kafka vs RabbitMQ — choosing a message broker
- What is Celery · 7
- How to Make Retry in Celery · 4
- Celery — Common Interview Questions and Answers · 4
- Celery Task Idempotency · 6
- Dead-Letter Queue (DLQ) for Celery · 6
- Celery Canvas: Chord, Group, Chain — and Their Pitfalls · 6
- Celery Beat: HA, Scheduling, and Lock Contention · 6
- Celery
- IBM MQ — Overview for Python Backends · 7
- What is Kafka · 7
- Kafka: Log Compaction, Rebalancing, and Advanced Topics · 7
- Kafka — Schema Registry and Python Client Comparison · 7
- Kafka delivery semantics — at-most-once, at-least-once, exactly-once
- Producer configuration and durability · 6
- Apache Kafka
- NATS and JetStream · 5
- What is RabbitMQ · 5
- RabbitMQ exchanges and routing
- RabbitMQ Exchanges, Queues, DLX, and Quorum Queues · 7
- RabbitMQ — Common Interview Questions and Answers · 4
- RabbitMQ
- RQ (Redis Queue) · 5
- Stream Processing — Windowing, Watermarks, State · 7
- What is Temporal? · 3
- Workflows vs Activities · 4
- Temporal vs Celery vs Other Orchestrators · 4
- Temporal — Common Interview Questions and Answers · 4
Authentication 25
- Authentication overview · 6
- SSO · 6
- Amazon Cognito for Python Backends · 7
- JWT Basics — Structure and Encoding · 6
- JWT Signing Algorithms · 7
- JWT Claims · 7
- Access and Refresh Tokens · 8
- JWT Revocation and Logout · 7
- Python JWT with PyJWT · 7
- JWT vs Session-Based Auth · 7
- The JOSE Family — JWS, JWE, JWK, JWA, JWT · 7
- JWT and the JOSE Family
- SAML 2.0 Deep Dive · 6
- OIDC and OAuth 2.0 Flows · 7
- Tokens: ID, Access, Refresh · 7
- Session Management with SSO · 7
- Single Logout (SLO) · 6
- SCIM and User Provisioning · 6
- Group, Role, and Claim Mapping · 6
- SSO Attack Vectors · 7
- MFA and Step-Up Authentication · 6
- Multi-Tenant SSO · 6
- Python Libraries for SSO · 6
- SSO Common Pitfalls · 6
- SSO — Deep Topical Notes
Protocols 49
- API Protocols Comparison — REST, GraphQL, gRPC, SOAP · 6
- GraphQL Overview · 5
- GraphQL Schema and Types · 6
- Queries, Mutations, Subscriptions · 6
- Resolvers, N+1, and DataLoader · 6
- GraphQL Pagination — Relay Connections · 6
- GraphQL Errors and Versioning · 6
- GraphQL Security · 6
- Python GraphQL Libraries · 6
- gRPC Overview · 5
- Protocol Buffers (Protobuf) · 6
- gRPC Service Types — Unary and Streaming · 7
- gRPC's HTTP/2 Basis · 6
- Python gRPC · 6
- gRPC Interceptors, Metadata, and Auth · 6
- gRPC Error Handling · 6
- gRPC Load Balancing and gRPC-Web · 6
- HTTP
- HTTP Versions — 1.0, 1.1, 2, 3 · 6
- HTTP Semantics and Caching · 7
- How to Configure Communication Between Multiple VMs via Nginx · 3
- Nginx Architecture · 6
- Nginx Directives and Contexts · 6
- Nginx Location Matching · 6
- proxy_pass and the Trailing Slash Trap · 6
- Nginx Upstreams and Load Balancing · 6
- Nginx + Gunicorn — The Canonical Python Deploy · 6
- Nginx Caching · 6
- Nginx Static Files and Compression · 6
- Nginx WebSocket Proxying · 6
- Nginx Rate Limiting · 6
- Nginx TLS Configuration · 6
- Nginx Troubleshooting · 6
- Nginx vs Alternatives · 6
- SOAP Overview · 6
- SOAP Envelope and WSDL · 6
- WS-Security · 6
- Python SOAP Libraries · 6
- When You'll See SOAP · 6
- SOAP
- Server-Sent Events (SSE) · 7
- WebSocket Protocol · 7
- Python WebSocket Implementations · 6
- WebSocket vs Alternatives · 7
- WebSocket Authentication · 7
- WebSocket Connection Management · 7
- WebSocket Security · 7
- Scaling WebSocket Applications · 8
- WebSockets
Architecture & design 20
- GRASP — General Responsibility Assignment Software Patterns · 7
- Feature-based structure · 5
- Dependency Injection · 4
- Dependency Inversion · 4
- Why prefer composition over inheritance? · 4
- Layered Architecture · 7
- DI containers and the dependency-injector library · 7
- Monolith vs microservices · 5
- Clean Architecture · 7
- MVC pattern
- Hexagonal Architecture (Ports and Adapters) · 7
- Domain-Driven Design (DDD) · 8
- CQRS and Event Sourcing · 8
- Repository and Unit of Work Patterns · 8
- Event-Driven Architecture and Sagas · 8
- Transactional Outbox Pattern · 6
- Rate-Limiting Algorithms · 7
- Idempotency Keys (API-Level Deep Dive) · 7
- Event-Driven Architecture · 5
- The twelve-factor app
Microservices 10
- Service Discovery · 4
- Inter-service Communication · 5
- Distributed Tracing · 5
- Data Consistency Across Services · 5
- Service Mesh · 5
- API Gateway · 5
- Microservices — Common Interview Questions and Answers · 4
- Event-Driven Microservices · 6
- Resilience patterns for service-to-service calls
- Microservices Architecture
Observability 13
- Sentry · 5
- Grafana · 5
- Prometheus · 5
- Datadog · 7
- ELK Stack (Elasticsearch, Logstash, Kibana)
- Jaeger · 7
- OpenTelemetry · 7
- The Three Pillars of Observability · 7
- Choosing an Observability Stack · 6
- Correlation IDs and Trace Context in Async Python · 6
- Sampling Strategies for Tracing · 6
- SLO, SLI, SLA, and Error Budgets · 6
- Structured logging in Python
Docker 9
Kubernetes 9
IaC 9
- CloudFormation vs Terraform · 3
- Ansible · 6
- Terraform — State · 6
- Terraform — Modules and Composition · 6
- Terraform — Workspaces and Environment Strategy · 5
- Terraform — Plan/Apply Lifecycle, Drift, and Import · 6
- Terraform — Secrets, Testing, and CI/CD · 6
- OpenTofu and the Terraform licence split · 5
- Terraform
Cloud: AWS 61
- AWS Interview Essentials — Cross-Service Decision Matrices · 6
- AWS Glue
- Amazon Redshift
- Amazon Kinesis
- Amazon Athena
- AWS Analytics
- AWS SNS (Simple Notification Service) - Complete Guide
- SQS — Visibility Timeout, Consumer Patterns, and Failure Handling · 7
- AWS SQS (Simple Queue Service) - Interview Guide
- Amazon EventBridge
- AWS Step Functions
- AWS Application Integration
- AWS Cost Explorer
- AWS Cloud Financial Management
- Comparing AWS Compute Services
- Amazon EC2
- AWS Fargate
- AWS Lambda
- AWS Compute
- Amazon ECR (Elastic Container Registry)
- ECS — Task Placement and Lifecycle · 6
- Amazon ECS (Elastic Container Service)
- Amazon EKS (Elastic Kubernetes Service)
- AWS Containers
- Aurora — Backtrack, Parallel Query, Data API, and Storage · 5
- Amazon Aurora
- Amazon DynamoDB
- ElastiCache — Failover, Serverless, and Operations · 5
- Amazon ElastiCache
- Amazon RDS (Relational Database Service)
- AWS Databases
- AWS CodeBuild
- AWS Developer Tools
- AWS Auto Scaling
- AWS CloudFormation
- CloudWatch — Cost Gotchas and Advanced Patterns · 6
- Amazon CloudWatch
- AWS SSM Parameter Store
- AWS Management and Governance
- API Gateway — Advanced Patterns, Templates, and Failure Modes · 7
- Amazon API Gateway
- Amazon CloudFront
- VPC — Troubleshooting and Cost Gotchas · 6
- Amazon VPC
- Elastic Load Balancing
- Amazon Route 53
- AWS Networking and Content Delivery
- Amazon Cognito
- IAM — Advanced Role Patterns · 6
- AWS Identity and Access Management (IAM)
- Secrets Manager — Rotation, Version Stages, and Parameter Store Choice · 6
- AWS Secrets Manager
- AWS KMS (Key Management Service)
- AWS Security Identity and Compliance
- AWS Backup
- Amazon Elastic Block Store (EBS)
- Amazon Elastic File System (EFS)
- Amazon File Cache
- Amazon S3 (Simple Storage Service)
- AWS Storage Gateway
- AWS Storage
Cloud: Azure 1
Cloud: GCP 3
Git 15
- Git: the commands that get asked about · 6
- Merge vs Rebase · 5
- Interactive Rebase · 6
- reset, revert, checkout, restore · 6
- Reflog and Recovery · 6
- Bisect — Find the Commit That Broke It · 5
- Stash — Save Work Without Committing · 6
- Cherry-pick — Apply a Commit From Another Branch · 6
- Worktrees — Multiple Checkouts of One Repo · 6
- Branch Strategies · 6
- Pull Request Workflow · 6
- Merge Conflict Resolution · 6
- Git Hooks · 6
- Git Internals — Objects, Refs, the Real Storage · 7
- Dangerous Commands and Safety · 7
Linux & bash 15
- Bash: triage and scripting · 6
- Bash Scripting Essentials · 6
- Quoting and Expansion · 6
- Parameter Expansion · 6
- Pipes, Redirects, File Descriptors · 7
- Exit Codes and Strict Mode · 6
- find and xargs · 6
- grep, sed, awk · 7
- Process Management · 6
- Signals and Traps · 6
- File Permissions and Ownership · 6
- SSH — Keys, Config, Tunnels · 6
- Cron and Systemd Timers · 6
- Systemd Services and Journalctl · 7
- Shell Startup, Environment, and PATH · 6
Algorithms & data structures 19
- Common data structures and their features
- Two pointers · 4
- Sliding window · 4
- Prefix sums · 4
- Counting, deduplication, and lookup with hash maps · 4
- Linked list basics — reverse, cycle detection, merge · 4
- Tree traversals — DFS and BFS · 4
- BSTs and tries · 6
- Graph algorithms — BFS, DFS, topological sort, union-find · 4
- Dijkstra's algorithm — shortest path in weighted graph · 4
- Dynamic programming — patterns and classic problems
- 2D dynamic programming · 6
- Recursion and backtracking · 4
- Binary search variants
- Python-specific patterns: bisect, heapq, deque
- Monotonic stack · 6
- Intervals · 5
- Greedy algorithms and bit manipulation · 6
- Data structures & algorithms
Security 10
Code quality 6
CI/CD 8
Networking 17
- OSI and TCP/IP Models · 4
- TCP vs UDP · 5
- IP Addressing, Subnets, CIDR · 5
- NAT (Network Address Translation) · 5
- DNS · 5
- Ports and Sockets · 5
- Firewalls and Security Groups · 5
- VPN · 5
- VPC and Cloud Networking · 6
- Load Balancers · 6
- Proxies: Forward vs Reverse · 5
- TLS, HTTPS, Certificates · 6
- CDN (Content Delivery Network) · 6
- Network Troubleshooting Tools · 6
- Ingress vs Egress Traffic · 5
- HTTPS Handshake, mTLS, Keepalive, and the Reverse-Proxy Edge · 7
- Computer Networking
Data engineering 12
- Spark — Architecture, DAGs, and Execution · 7
- PySpark Gotchas and Databricks · 7
- Pandas — Fundamentals and Indexing · 7
- Pandas — groupby, merge, reshape · 7
- When Pandas Breaks Down — and What to Reach For · 7
- Polars — Lazy, Eager, and Expression API · 7
- Parquet — Columnar Format Fundamentals · 7
- Delta Lake — ACID Tables on Object Storage · 7
- Data mesh and federated architecture · 5
- ETL, orchestration, and dbt · 6
- Data catalogues, governance, and lineage · 5
- Data architecture
Quant & fintech 9
- Market data · 5
- Backtesting · 5
- Backtesting libraries: vectorbt, Backtrader, QuantConnect · 5
- Portfolio optimization · 5
- Machine learning for finance · 5
- FIX protocol and market connectivity · 5
- Python performance for quantitative work · 5
- Risk and running a strategy in production · 5
- Quant and fintech
Frontend
224 notesHTML 4
CSS 7
JavaScript core 17
- Array methods · 7
- JavaScript Async/Await Interview Questions & Answers · 4
- JavaScript Callbacks Interview Questions & Answers · 4
- JavaScript Promises Interview Questions & Answers · 5
- Classes · 7
- Closures · 6
- Data structures · 6
- Data types · 7
- Errors and Error Handling
- ES Modules
- The Event Loop — Macrotasks, Microtasks, Rendering
- Generators and Iterators
- Memory and Garbage Collection
- Promises — Advanced
- Prototypes and the Prototype Chain
- JavaScript Core — Senior Interview Prep
- this and Binding
Typescript 11
- TypeScript Generics
- Conditional and Mapped Types (and infer)
- Template Literal Types
- Built-in Utility Types — Reimplemented from Scratch
- Type Narrowing and Type Guards
- The satisfies Operator
- Declaration Merging and Module Augmentation
- Typing React Components
- tsconfig Strictness Flags — What Each One Prevents
- TypeScript Pitfalls — any/unknown/never, type vs interface, and Other Senior Traps
- TypeScript — Senior Interview Prep
React 30
- Concurrent Rendering — useTransition, useDeferredValue, How Priorities Work
- Context Performance Traps
- Controlled vs Uncontrolled Components · 4
- React Elements vs Components · 3
- Higher-Order Components (HOC) · 3
- Hydration — Selective, Progressive, Mismatches
- Key Property in React · 4
- React Lifecycle · 4
- MVC Pattern in React · 3
- Prop Children · 4
- React Pure Components · 3
- React: the component model · 4
- React 19 — Actions, useActionState, useOptimistic, use(), ref as Prop
- React Compiler · 6
- React Fiber · 4
- React Fragment · 3
- React.memo · 4
- React Portal · 3
- React
- React Reconciliation · 4
- Server Components (RSC) — What Runs Where, Serialization, the "use client" Boundary
- Shadow DOM vs Virtual DOM · 3
- Stale Closures and the Rules of Hooks
- React State vs Props · 4
- Suspense for Data — vs Suspense for Code, Error Boundaries, Streaming SSR
- Synthetic Events in React · 4
- useEffect Deep — Cleanup, StrictMode Double-Invoke, Dep-Array Bugs, Effect Events
- useRef Hook in React · 4
- Useful Hooks in React · 4
- Virtual DOM in React · 3
Vue 25
- Vue: the mental model · 5
- Vue Reactivity Internals — Proxy, track/trigger, Effects
- ref vs reactive vs shallowRef / shallowReactive
- computed vs watch vs watchEffect
- Composition API vs Options API (and Migration)
- Lifecycle Hooks (Composition + Options Side by Side)
- Props, Emits, and v-model
- Slots and Scoped Slots
- provide / inject — Dependency Injection
- Pinia (and Where Vuex Still Appears)
- Nuxt — SSR, SSG, ISR, Server Routes
- <Teleport>, <Suspense>, Async Components, Custom Directives
- Vue Performance — v-memo, shallowRef, markRaw, defineAsyncComponent
- Testing — Vue Test Utils + Vitest
- Vue Router · 5
- Composables and VueUse · 5
- TypeScript with Vue · 5
- Template syntax and directives · 5
- The Vue compiler and rendering pipeline · 5
- Vue versions, Vapor Mode, and what changed recently · 5
- Forms and validation · 5
- Vue component libraries · 5
- Data fetching in Vue · 5
- Vue versus React · 5
- Vue
State managers 17
- Choosing a State Library
- Jotai and Valtio
- MobX
- State Management — Senior Interview Prep
- Dispatch Function in Redux · 4
- mapDispatchToProps in Redux · 3
- mapStateToProps in Redux · 3
- Redux
- Redux Todo App Guide · 4
- Redux Middleware · 4
- Redux Toolkit Todo App Guide · 4
- Reselect in Redux · 4
- RTK Query
- Selectors in Redux · 3
- Synchronous vs Asynchronous Middleware in Redux · 4
- Server State vs Client State
- Zustand
Component libraries 10
- Design Tokens and Theming at Scale
- Headless UI and Radix
- Material-UI Advanced Theming and Components · 4
- Material-UI Components and Theming · 4
- Material-UI Core Principles · 4
- Polymorphic Components (the as prop)
- Component Libraries & Styling — Senior Interview Prep
- Styling Approaches
- Tailwind CSS Core Principles · 4
- Tailwind CSS Utility Classes · 4
Build tools 9
- Vite vs Webpack vs Turbopack vs Parcel
- esbuild vs SWC vs Babel
- Module Formats — ESM vs CJS vs UMD, the Dual-Package Hazard
- Code Splitting Mechanics — Dynamic Imports, Manual Chunks
- Source Maps — Modes and Trade-offs
- Monorepo Tools — Turborepo, Nx, pnpm Workspaces
- Package Managers — npm vs pnpm vs yarn, Lockfile Semantics
- Dev-Server Internals — HMR, Pre-Bundling, Dependency Resolution
- Build Tools — Senior Interview Prep
Testing 11
- Testing Strategy and the Pyramid for Frontend
- Vitest vs Jest — Runners and Setup
- React Testing Library — Query Priority, Role-Based Queries
- user-event vs fireEvent
- MSW — Network Mocking the Right Way
- Testing Async UI — waitFor, findBy*, Races
- Testing Custom Hooks (renderHook, act)
- Snapshot Testing — When and How (Sparingly)
- E2E Testing with Playwright
- A11y Testing + Visual Regression in CI
- Frontend Testing — Senior Interview Prep
APIs & data fetching 10
- REST vs GraphQL vs tRPC — When Each Wins
- TanStack Query — Cache Keys, Invalidation, Prefetch
- Optimistic Updates and Rollback
- Pagination — Offset vs Cursor, and Infinite Queries
- AbortController, Request Dedup, Race Conditions
- Retries, Backoff, and Idempotency (from the Frontend)
- WebSockets — Integration, Reconnection, and Real-Time UX
- Server-Sent Events vs WebSockets vs Long Polling
- File Uploads — Multipart, Presigned S3, Chunked, Resumable
- APIs & Data Fetching — Senior Interview Prep
Project structure 7
- Feature vs Layer Architecture
- Monorepo Layout — Apps, Packages, Tooling
- Barrels (index.ts) — When Helpful, When Harmful
- Next.js App Router Layout — Segments, Parallel Routes, Intercepts
- Module Boundaries — eslint-plugin-boundaries, dependency-cruiser
- Linting and Formatting — ESLint Flat Config, Prettier, husky, lint-staged
- Project Structure — Senior Interview Prep
ECMAScript features 9
- Optional Chaining, Nullish Coalescing, Logical Assignment
- Class Features — Private Fields, Static Blocks, Decorators
- Top-Level Await and Dynamic Import
- Iterators and Generators (incl. for-await-of)
- Modern Array and Object Methods
- Temporal and Modern Intl
- Promise Extensions and AbortSignal Statics
- using Resource Management, WeakRef, Import Attributes
- Modern ES Features — Senior Interview Prep
Frontend system design 10
- Design: Typeahead / Autocomplete
- Design: Infinite Feed (Twitter-Style)
- Design: Image Gallery (Responsive, Lazy, Lightbox)
- Design: Chat (Optimistic UI + WebSocket + Presence)
- Design: Collaborative Editor (CRDT / OT)
- Design: Document Comments (Google-Docs Style)
- Design: File Uploader with Resume
- Design: Notification Center
- Design: A Component Library
- Frontend System Design — Worked Examples
Performance 11
- Core Web Vitals — LCP, INP, CLS
- The Critical Rendering Path and the Rendering Pipeline
- Bundle Analysis and Code Splitting
- Tree Shaking — How It Actually Works, What Defeats It
- Lazy Loading — Route, Component, Interaction
- List Virtualization
- Image and Font Optimization
- Resource Hints — preload, prefetch, preconnect, dns-prefetch, modulepreload
- React Profiling and the Cost Model of Re-renders
- Memoization Heuristics — When useMemo/useCallback/memo Help vs Hurt
- Frontend Performance — Senior Interview Prep
Accessibility 8
Security 9
- XSS — Stored, Reflected, DOM-Based
- CSRF — SameSite Cookies, Anti-CSRF Tokens
- Content Security Policy (CSP)
- CORS — Security Implications
- Subresource Integrity, HSTS, Security Headers
- Token Storage — JWT in localStorage vs httpOnly Cookie
- OAuth 2.0 / OIDC for SPAs — Auth Code + PKCE
- Clickjacking and Supply Chain Attacks
- Frontend Security — Senior Interview Prep
Browser internals 10
- The Event Loop — Macrotasks, Microtasks, requestAnimationFrame, Idle
- Rendering Pipeline Deep Dive
- DOM, BOM, CSSOM — The Trees
- Storage APIs — localStorage, sessionStorage, IndexedDB, Cookies, Cache API, OPFS
- Service Workers and PWAs
- Web Workers, SharedWorker, BroadcastChannel
- WebRTC and WebTransport
- HTTP Caching Headers — Cache-Control, ETag, Vary
- CORS at the Protocol Level — Preflight, Credentials, Exposed Headers
- Browser Internals — Senior Interview Prep
Rendering modes 8
- CSR vs SSR vs SSG vs ISR vs Streaming SSR — The Matrix
- Hydration Models — Full, Selective, Progressive, Partial
- React Server Components — Deeper
- Streaming SSR with Suspense — Practical Patterns
- Next.js App Router Rendering Choices — Per-Route Control
- Islands Architecture — Astro, Fresh, Iles
- Edge Rendering and CDN-as-Runtime
- Rendering Modes — Senior Interview Prep
AI & ML
173 notesMaths foundations 5
ML foundations 10
Classical ML 13
- Linear regression · 6
- Logistic regression · 6
- Decision trees · 7
- Random Forest and bagging · 6
- Gradient boosting · 7
- Support vector machines · 6
- kNN and Naive Bayes · 6
- Clustering · 6
- Dimensionality reduction · 7
- Anomaly detection · 6
- Recommender systems · 6
- Time series forecasting · 6
- Classical ML
Feature engineering 7
Model evaluation 7
Deep learning 12
- Neural network basics · 6
- Activation functions · 6
- Training deep networks · 6
- Convolutional networks · 6
- RNNs and LSTMs · 6
- Normalisation and residual connections · 6
- Transfer learning · 6
- Backpropagation · 6
- Deep generative models · 6
- Multi-task and meta-learning · 6
- Graph neural networks · 6
- Deep learning
Transformers & LLMs 14
- Transformer architecture · 6
- Attention variants · 6
- Tokenization · 6
- Positional encoding · 6
- KV cache · 6
- Mixture of Experts · 6
- Reasoning models and test-time compute · 6
- Context windows · 6
- Prompt Engineering · 8
- Hallucinations, Function Calling, and Tool Use · 9
- Multimodal models · 5
- Programmatic prompt optimisation · 5
- Natural language understanding · 5
- Transformers and LLMs
Training & fine-tuning 8
Inference & serving 9
RAG & embeddings 13
- What is RAG? · 5
- What are embeddings? · 6
- RAG Architecture Patterns · 8
- Vector Databases · 8
- Chunking Strategies and Retrieval Techniques · 9
- Knowledge Graphs and GraphRAG · 6
- Structured Document Pipelines — Parsing, Tables, OCR, Extraction · 7
- Hybrid search and reranking · 6
- Agentic RAG and evaluating retrieval · 6
- pgvector in production · 5
- Fine-tuning embeddings · 5
- Qdrant in production · 6
- RAG and embeddings
Agents & orchestration 31
- What is an agent · 5
- The agent loop · 6
- LangChain and LangGraph · 6
- Multi-agent patterns · 6
- Durable execution and human-in-the-loop · 6
- Agent protocols: MCP, A2A and the interop layer · 6
- Agent failure modes · 6
- Function Calling, Tool Use, and Structured Output · 7
- LLM JSON Validation — Common Interview Questions and Answers · 4
- Agent Patterns — Plan-and-Execute, Reflection, Cost, Evaluation · 7
- Chatbot & Pydantic AI · 4
- Pydantic AI · 6
- LlamaIndex, and choosing between frameworks · 5
- Long-running agent jobs · 5
- Event-driven agents · 5
- Concurrency and backpressure · 5
- Computer-use and code agents · 5
- The agent framework landscape · 6
- The Claude Agent SDK · 6
- n8n and low-code automation · 6
- Why LangGraph · 5
- State and reducers · 5
- Nodes, edges and routing · 6
- create_agent and middleware · 5
- Persistence and threads · 5
- Human in the loop · 5
- Streaming · 5
- Multi-agent and subgraphs · 5
- Production and debugging · 6
- LangGraph, in depth
- Agents and orchestration
MCP 5
Context engineering 3
Evaluation 6
Guardrails & safety 6
MLOps & LLMOps 7
ML frameworks 7
ML system design 5
Speech & realtime 4
System design
30 notesAPI integrations 7
- Core Design Exercise — Concepts Explained (Senior-Level) · 4
- Background Discussion: API Design, Async, Python Backend, Large Codebases · 4
- System Design & Live Coding: Integrating Three External Sources (Cars, Hotels, Flights) · 5
- Designing an external API integration · 6
- Schema validation and the internal model · 6
- Async Third-Party API Integration with Clean Architecture · 4
- Follow-Up Questions: Slow/Failing APIs, Auth, Retry, Tests · 3
Resilience 5
Async patterns 1
Secrets & config 1
Observability 1
Design framework 3
Worked designs 8
- Worked Design — URL Shortener · 5
- Worked Design — Distributed Rate Limiter · 6
- Worked Design — Notification / Fan-out Service · 6
- Worked Design — News Feed / Timeline · 6
- Worked Design — Chat & Presence · 6
- Worked Design — Distributed Cache · 7
- Worked Design — Distributed Job Scheduler · 7
- Worked Design — Idempotent Payment Flow · 6
Scaling building blocks 3
Behavioural
17 notes- What was the most challenging part of a recent project? · 5
- How do you work with AI tools? · 5
- What AI tools do you use? · 4
- How exactly do you apply AI in your work? · 4
- What are the benefits of TDD for a codebase when using coding agents? · 4
- How do you think application architecture has changed with the advent of coding agents? · 4
- Joining an Existing Project: How to Read and Understand the Codebase · 4
- How would you describe your strongest project, and what questions would you expect about it? · 4
- How do you work independently without close management? · 4
- How do you handle not knowing something in an interview or on the job? · 4
- How do you approach working with new technologies? · 4
- Disagreement With a Teammate or Manager
- A Project That Failed, or a Mistake You Made
- Working With Ambiguity / Unclear Requirements
- Advocating for Tech Debt / Engineering Investment
- Mentoring, Feedback, and Helping Others Grow
- The six signals an interviewer is actually reading · 5
Tech check
11 notes- Tech Check — Theme Navigation
- Tech Check — Theme Navigation, Part 2
- Questions asked in real interviews