Browse everything
1,286 notes and 5,360 interview angles across 9 domains. Jump to a domain, or search with Ctrl K.
Backend
725 notesTheory foundations 8
- SOLID Principles in Python · 4
- Understanding Big O Notation in Python · 4
- Programming Paradigms in Python · 3
- DRY and KISS Principles in Python · 3
- Creational Design Patterns (GoF) · 7
- Structural Design Patterns (GoF) · 7
- Behavioral Design Patterns (GoF) · 9
- Dependency inversion vs dependency injection · 5
Python core 111
- Is Python interpreted or compiled? · 5
- Mutable vs Immutable Types in Python · 7
- 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
- Imports and the module system · 4
- Metaclasses · 4
- Difference Between staticmethod and classmethod in Python · 3
- Decorators · 5
- 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
- Error handling with try and except · 4
- Iterables and iterators · 7
- __eq__ and __hash__ · 7
- 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
- Generators · 6
- Stack and heap in Python · 4
- The allocator: heap, arenas, pools, blocks · 3
- Python memory in production · 6
- 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, memray, and what holds memory · 4
- 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
- Context managers: the with protocol and contextlib · 5
- dataclasses — boilerplate-free data classes
- pathlib and logging · 5
- concurrent.futures · 5
- dataclasses vs Pydantic v2 vs attrs · 7
- Mutable default arguments · 3
- Late-binding closures · 3
- 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 · 3
- 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
- Two awaits for one HTTP request · 4
- 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
- Type-driven development: make illegal states unrepresentable · 4
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
- Interfaces in Python: duck typing, ABCs and Protocols · 4
- Metaclasses — Production Patterns · 6
Async & concurrency 21
- The GIL, and free-threaded Python · 5
- Concurrency and parallelism · 4
- Threads and processes · 5
- Context switching: threads vs coroutines · 4
- Coroutines and async def · 5
- Event loop internals · 6
- asyncio and threads · 5
- CPU-bound versus I/O-bound · 6
- When to use processes · 5
- Synchronization primitives · 5
- Comparing asyncio.Queue and threading.Queue in Python · 4
- TaskGroup and structured concurrency · 7
- Cancellation, timeouts and error handling in asyncio · 6
- run_in_executor and asyncio.to_thread · 5
- ProcessPoolExecutor: what processes add · 4
- anyio and Trio — structured concurrency · 5
- Async AWS calls: aioboto3 and the alternatives · 5
- Blocking and non-blocking I/O · 5
- Free-threaded Python · 4
- Async Python, end to end · 6
- Async and concurrency
Testing 19
- 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
- BDD, ATDD and Specification by Example · 4
Web frameworks 72
- 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 vs DRF serializers · 3
- Django Models vs QuerySets: Understanding the Difference · 3
- Django middleware · 5
- Django signals · 5
- CharField vs TextField in Django · 3
- settings.py · 6
- N+1 in Django: select_related, prefetch_related, fetch modes · 4
- Django vs Django REST Framework · 3
- Async Django, Channels, and Async ORM · 6
- Service layer vs fat models in Django · 5
- 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 and DRF: the request path · 5
- 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 · 5
- 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 · 6
- 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
- NestJS · 6
- 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 11
- Idempotency · 5
- JWT authentication for REST APIs · 3
- Status codes · 5
- PUT vs PATCH: which writes are safe to retry · 4
- REST principles · 4
- REST Versioning and Pagination · 6
- Richardson Maturity Model and HATEOAS · 6
- REST Error Handling and HTTP Caching · 7
- Stateful and stateless · 7
- Webhooks · 5
- Contract-first API design · 4
Databases 65
- SQL and NoSQL · 6
- NoSQL Decision Guide — Which Store, and When · 6
- Apache Cassandra · 7
- Elasticsearch · 6
- 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 · 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 · 6
- How a B-tree index works · 8
- How a query is processed · 6
- Transactions and ACID · 6
- Relationships and Keys in PostgreSQL · 4
- SQLAlchemy · 3
- N+1 query problem
- Transaction isolation levels · 6
- Connection pooling · 4
- Reading a query plan · 8
- Index types · 7
- Window functions
- 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 · 5
- Triggers in practice · 7
- CTEs and recursive queries · 7
- Functions and procedures · 5
- Views and materialized views · 4
- Why your index is not being used · 6
- Partition lifecycle: retention without bloat · 5
- PostgreSQL architecture · 5
- pg_stat_statements · 4
- 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
- SQLAlchemy connection pooling · 6
- Async SQLAlchemy · 6
- Bulk Operations and Performance · 6
- Testing Patterns · 6
- Common Pitfalls · 7
- SQLModel · 5
- SQLAlchemy — Deep Topical Notes
Caching 11
Message queues 29
- Kafka vs RabbitMQ — choosing a message broker · 5
- arq and dramatiq: the Celery alternatives · 6
- What is Celery · 8
- How to Make Retry in Celery · 4
- Celery — Common Interview Questions and Answers · 4
- Consumer 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 · 6
- 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 27
- 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 · 6
- JWT Revocation and Logout · 4
- Python JWT with PyJWT · 7
- JWT vs Session-Based Auth · 7
- The JOSE Family — JWS, JWE, JWK, JWA, JWT · 7
- Refresh Token Rotation · 4
- 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
- Choosing an identity provider · 6
- SSO — Deep Topical Notes
Protocols 59
- 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
- RPC and gRPC · 4
- 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.1, 2 and 3 · 4
- HTTP semantics and caching · 4
- Short Polling vs Long Polling · 4
- Matrix and Synapse · 5
- Sygnal: the Matrix push gateway · 4
- VoIP calls on Matrix · 4
- Matrix
- 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
- OpenResty: Lua inside Nginx · 4
- Firebase Cloud Messaging and APNs · 4
- Push notifications
- 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) · 4
- Streaming LLM responses over SSE · 4
- The WebSocket protocol · 4
- Python WebSocket Implementations · 6
- WebSocket vs Alternatives · 7
- WebSocket and SSE Authentication · 5
- WebSocket Connection Management · 7
- WebSocket Security · 7
- Scaling WebSocket Applications · 8
- Socket.IO: rooms, namespaces and scaling · 5
- WebSockets
Architecture & design 24
- 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
- Sagas and compensation · 7
- The transactional outbox · 7
- Rate-Limiting Algorithms · 7
- Idempotency keys · 7
- Event-Driven Architecture · 5
- The twelve-factor app
- Multi-tenant data isolation · 6
- Authorization: RBAC, ABAC and where to enforce them · 6
- Architecture decision records · 5
- Vertical slice architecture · 4
Microservices 11
- Service Discovery · 4
- Inter-service Communication · 5
- Distributed Tracing · 5
- Data consistency across services · 6
- Service Mesh · 5
- API Gateway · 5
- Microservices in production · 4
- Event-Driven Microservices · 6
- Resilience patterns for service-to-service calls
- Internal SDKs for inter-service calls · 5
- Microservices Architecture
Observability 15
- Sentry · 5
- Grafana · 4
- Prometheus · 5
- Datadog · 7
- ELK Stack (Elasticsearch, Logstash, Kibana)
- Jaeger · 7
- OpenTelemetry · 8
- The Three Pillars of Observability · 4
- Choosing an Observability Stack · 6
- Trace context in async Python · 7
- Sampling Strategies for Tracing · 6
- SLO, SLI, SLA, and Error Budgets · 6
- Structured logging in Python
- Cost as a signal · 6
- Incident response, runbooks and postmortems · 4
Docker 11
- Docker and Docker Compose Command Guide · 3
- Docker image vs container · 4
- Purpose of Containerization · 3
- Docker image layers and build caching · 4
- Docker Compose · 4
- Scaling containers · 6
- Docker network modes · 5
- Multi-stage builds · 5
- Volumes, bind mounts and tmpfs · 5
- ADD vs COPY · 2
- Multi-arch builds · 4
Kubernetes 10
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 62
- 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 Amplify Gen 2
- 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 6
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 · 4
- 2D dynamic programming · 6
- Recursion and backtracking · 4
- Binary search variants · 4
- Python-specific patterns: bisect, heapq, deque · 5
- Monotonic stack · 6
- Intervals · 5
- Greedy algorithms and bit manipulation · 6
- Data structures & algorithms
Security 12
- OWASP Top 10 (2025)
- SQL injection · 5
- XSS and CSRF
- Password hashing
- OAuth 2.0 and OpenID Connect · 9
- JWT pitfalls · 6
- Secrets management and rate limiting
- Pickle, YAML, and Deserialization Attacks (Python-Specific) · 6
- SSRF and Command Injection · 6
- CORS — The Deep Dive · 7
- SOC 2, ISO 27001 and GRC for engineers · 5
- Zero Trust, IAM and security operations · 4
Code quality 7
CI/CD 8
Networking 21
- 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
- Email deliverability and sending infrastructure · 4
- What happens when you enter a URL · 4
- STUN, TURN and coturn · 4
- Cloudflare in front of your origin · 5
- Computer Networking
Data engineering 16
- 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
- Data profiling and validation · 4
- 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
- Lambda and Kappa architectures · 5
- Snowflake, BigQuery, Databricks and Synapse · 7
- BI and dashboarding tools · 5
- Data architecture
Quant & fintech 10
- 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
- The double-entry ledger · 4
- Quant and fintech
Healthcare & regulated 5
Blockchain 2
Frontend
227 notesHTML 4
CSS 7
JavaScript core 17
- Data types · 7
- Data structures · 6
- Array methods · 7
- this and Binding · 3
- Closures · 6
- Prototypes and the Prototype Chain · 4
- Classes · 7
- ES Modules · 4
- Errors and Error Handling · 4
- The Event Loop — Macrotasks, Microtasks, Rendering · 4
- Generators and Iterators · 4
- Promises — Advanced · 4
- Memory and Garbage Collection · 4
- JavaScript Callbacks Interview Questions & Answers · 4
- JavaScript Promises Interview Questions & Answers · 5
- JavaScript Async/Await Interview Questions & Answers · 4
- JavaScript Core — Senior Interview Prep
Typescript 11
- TypeScript Generics · 5
- Conditional and Mapped Types (and infer)
- Template Literal Types · 5
- Built-in Utility Types — Reimplemented from Scratch
- Type Narrowing and Type Guards
- The satisfies Operator · 5
- Declaration Merging and Module Augmentation
- Typing React Components · 5
- tsconfig Strictness Flags — What Each One Prevents · 4
- TypeScript Pitfalls — any/unknown/never, type vs interface, and Other Senior Traps · 6
- TypeScript — Senior Interview Prep
React 30
- React: the component model · 4
- React Elements vs Components · 3
- React State vs Props · 4
- Prop Children · 4
- React Fragment · 3
- Key Property in React · 4
- Virtual DOM in React · 3
- Shadow DOM vs Virtual DOM · 3
- React Fiber · 4
- React Reconciliation · 4
- Concurrent Rendering — useTransition, useDeferredValue, How Priorities Work · 4
- React Lifecycle · 4
- Synthetic Events in React · 4
- React Portal · 3
- The hooks, and which note goes deep on each · 4
- useEffect Deep — Cleanup, StrictMode Double-Invoke, Dep-Array Bugs, Effect Events · 5
- useRef Hook in React · 4
- Stale Closures and the Rules of Hooks · 5
- Controlled vs uncontrolled components · 4
- React Compiler · 6
- React.memo · 4
- React Pure Components · 3
- Context Performance Traps · 4
- React Server Components · 8
- Hydration — Selective, Progressive, Mismatches · 5
- Suspense for Data — vs Suspense for Code, Error Boundaries, Streaming SSR · 5
- Higher-Order Components (HOC) · 3
- MVC, and what React actually is · 4
- React 19 — Actions, useActionState, useOptimistic, use(), ref as Prop · 4
- React
Vue 25
- Vue: the mental model · 5
- Vue Reactivity Internals — Proxy, track/trigger, Effects · 5
- ref vs reactive vs shallowRef / shallowReactive · 4
- computed vs watch vs watchEffect · 5
- Composition API vs Options API (and Migration) · 4
- Lifecycle Hooks (Composition + Options Side by Side) · 5
- Props, Emits, and v-model · 5
- Slots and Scoped Slots · 5
- provide / inject — Dependency Injection · 5
- Pinia (and Where Vuex Still Appears) · 6
- Nuxt — SSR, SSG, ISR, Server Routes · 5
- <Teleport>, <Suspense>, Async Components, Custom Directives · 5
- Vue Performance — v-memo, shallowRef, markRaw, defineAsyncComponent · 4
- Testing — Vue Test Utils + Vitest · 5
- 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
- Server State vs Client State · 4
- Choosing a State Library · 4
- Zustand · 5
- Jotai and Valtio · 3
- MobX
- State Management — Senior Interview Prep
- Redux Todo App Guide · 4
- Redux Toolkit Todo App Guide · 4
- RTK Query · 4
- Redux Middleware · 4
- Synchronous vs Asynchronous Middleware in Redux · 4
- Dispatch Function in Redux · 4
- Selectors in Redux · 3
- Reselect in Redux · 4
- mapStateToProps in Redux · 3
- mapDispatchToProps in Redux · 3
- Redux
Component libraries 10
- Headless UI and Radix · 4
- Polymorphic Components (the as prop) · 3
- Design Tokens and Theming at Scale · 4
- Styling Approaches · 4
- Material-UI Core Principles · 4
- Material-UI Components and Theming · 4
- Material-UI Advanced Theming and Components · 4
- Component Libraries & Styling — Senior Interview Prep
- Tailwind CSS Core Principles · 4
- Tailwind CSS Utility Classes · 4
Build tools 9
- Vite vs Webpack vs Turbopack vs Parcel · 4
- esbuild vs SWC vs Babel · 4
- Module Formats — ESM vs CJS vs UMD, the Dual-Package Hazard · 5
- Code Splitting Mechanics — Dynamic Imports, Manual Chunks · 5
- Source Maps — Modes and Trade-offs · 5
- Monorepo Tools — Turborepo, Nx, pnpm Workspaces · 5
- Package Managers — npm vs pnpm vs yarn, Lockfile Semantics · 5
- Dev-Server Internals — HMR, Pre-Bundling, Dependency Resolution · 4
- Build Tools — Senior Interview Prep
Testing 11
- Testing Strategy and the Pyramid for Frontend · 5
- Vitest vs Jest — Runners and Setup · 4
- React Testing Library — Query Priority, Role-Based Queries · 5
- user-event vs fireEvent · 4
- MSW — Network Mocking the Right Way · 5
- Testing Async UI — waitFor, findBy*, Races · 4
- Testing Custom Hooks (renderHook, act) · 5
- Snapshot Testing — When and How (Sparingly) · 5
- E2E Testing with Playwright · 6
- A11y Testing + Visual Regression in CI · 5
- Frontend Testing — Senior Interview Prep
APIs & data fetching 10
- REST vs GraphQL vs tRPC — When Each Wins · 4
- TanStack Query and server state · 8
- Optimistic Updates and Rollback · 4
- Pagination — Offset vs Cursor, and Infinite Queries · 4
- Race conditions and AbortController · 7
- Retries, Backoff, and Idempotency (from the Frontend) · 5
- WebSockets — Integration, Reconnection, and Real-Time UX · 4
- Streaming an LLM answer into a React UI · 4
- File Uploads — Multipart, Presigned S3, Chunked, Resumable · 5
- APIs & Data Fetching — Senior Interview Prep
Project structure 7
- Feature vs Layer Architecture · 5
- Monorepo Layout — Apps, Packages, Tooling · 5
- Barrels (index.ts) — When Helpful, When Harmful · 5
- Next.js App Router Layout — Segments, Parallel Routes, Intercepts · 5
- Module Boundaries — eslint-plugin-boundaries, dependency-cruiser · 4
- Linting and Formatting — ESLint Flat Config, Prettier, husky, lint-staged · 5
- Project Structure — Senior Interview Prep
ECMAScript features 9
- Optional Chaining, Nullish Coalescing, Logical Assignment
- Class Features — Private Fields, Static Blocks, Decorators · 4
- Top-Level Await and Dynamic Import · 4
- Iterators and Generators (incl. for-await-of) · 5
- Modern Array and Object Methods · 5
- Temporal and Modern Intl · 4
- Promise Extensions and AbortSignal Statics · 5
- using Resource Management, WeakRef, Import Attributes · 4
- Modern ES Features — Senior Interview Prep
Frontend system design 10
- Design: Typeahead / Autocomplete · 4
- Design: Infinite Feed (Twitter-Style) · 6
- Design: Image Gallery (Responsive, Lazy, Lightbox) · 6
- Design: Chat (Optimistic UI + WebSocket + Presence) · 6
- Design: Collaborative Editor (CRDT / OT) · 6
- Design: Document Comments (Google-Docs Style) · 5
- Design: File Uploader with Resume · 6
- Design: Notification Center · 6
- Design: A Component Library · 8
- Frontend System Design — Worked Examples
Performance 11
- Core Web Vitals · 8
- The Critical Rendering Path and the Rendering Pipeline · 6
- Bundle Analysis and Code Splitting · 6
- Tree Shaking — How It Actually Works, What Defeats It · 6
- Lazy Loading — Route, Component, Interaction · 5
- List Virtualization · 6
- Image and Font Optimization · 6
- Resource Hints — preload, prefetch, preconnect, dns-prefetch, modulepreload · 5
- React Profiling and the Cost Model of Re-renders · 5
- Memoization Heuristics — When useMemo/useCallback/memo Help vs Hurt · 5
- Frontend Performance — Senior Interview Prep
Accessibility 8
Security 9
- XSS — Stored, Reflected, DOM-Based · 6
- CSRF — SameSite Cookies, Anti-CSRF Tokens · 6
- Content Security Policy (CSP) · 5
- CORS — Security Implications · 5
- Subresource Integrity, HSTS, Security Headers · 6
- Token Storage — JWT in localStorage vs httpOnly Cookie · 5
- OAuth 2.0 / OIDC for SPAs — Auth Code + PKCE · 6
- Clickjacking and Supply Chain Attacks · 5
- Frontend Security — Senior Interview Prep
Browser internals 10
- The Event Loop — Macrotasks, Microtasks, requestAnimationFrame, Idle · 6
- Rendering Pipeline Deep Dive · 5
- DOM, BOM, CSSOM — The Trees · 6
- Storage APIs — localStorage, sessionStorage, IndexedDB, Cookies, Cache API, OPFS · 6
- Service Workers and PWAs · 5
- Web Workers, SharedWorker, BroadcastChannel · 6
- WebRTC and WebTransport · 5
- HTTP Caching Headers — Cache-Control, ETag, Vary · 6
- CORS at the Protocol Level — Preflight, Credentials, Exposed Headers · 6
- Browser Internals — Senior Interview Prep
Rendering modes 8
- CSR vs SSR vs SSG vs ISR vs Streaming SSR — The Matrix · 5
- Hydration Models — Full, Selective, Progressive, Partial · 6
- React Server Components — Deeper · 5
- Streaming SSR with Suspense — Practical Patterns · 5
- Next.js App Router Rendering Choices — Per-Route Control · 5
- Islands Architecture — Astro, Fresh, Iles · 5
- Edge Rendering and CDN-as-Runtime · 4
- Rendering Modes — Senior Interview Prep
Angular 3
AI & ML
217 notesMaths foundations 5
ML foundations 10
Classical ML 14
- Linear regression · 6
- Logistic regression · 6
- Decision trees · 7
- Random Forest and bagging · 6
- Gradient boosting · 10
- 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 NLP · 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 · 9
- Mixture of Experts · 6
- Reasoning models and test-time compute · 6
- Context windows · 7
- 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 13
- LLM inference fundamentals · 6
- Batching and serving engines · 6
- Model-provider abstraction and LLM resilience · 7
- The chat API surface · 5
- Which model for which task · 5
- The LLM gateway and caching · 6
- Azure and Vertex · 6
- Model export and inference runtimes · 5
- AWS Bedrock and AgentCore · 7
- Determinism and reproducible LLM tests · 3
- The Claude Messages API in practice · 4
- The OpenAI API in practice · 4
- Inference and serving
RAG & embeddings 17
- What is RAG? · 5
- What are embeddings · 7
- RAG Architecture Patterns · 8
- Vector Databases · 5
- Chunking · 6
- 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
- Milvus in production · 6
- ANN indexes and how HNSW works · 6
- Ingestion pipelines and keeping an index in sync · 5
- RAG on large data volumes · 4
- RAG and embeddings
Agents & orchestration 34
- What is an agent · 5
- The agent loop · 7
- LangChain, LangGraph and the agent stack · 3
- Multi-agent patterns · 7
- Durable execution and human-in-the-loop · 7
- Agent protocols: MCP, A2A and the interop layer · 6
- Agent failure modes · 8
- Function calling and structured output · 6
- 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
- Agent harnesses · 6
- Zapier, Make and choosing an automation platform · 4
- n8n at scale: topology, connections and retention · 5
- 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 8
MLOps & LLMOps 8
ML frameworks 7
ML system design 8
Speech & realtime 6
Computer vision 13
- The computer vision task taxonomy · 3
- OpenCV and classical preprocessing · 4
- Object detection · 4
- Segmentation architectures · 4
- Geometry: homography, rectification, vanishing lines · 4
- Monocular depth estimation · 3
- Contours, polygons and vector geometry · 4
- OCR inside a vision pipeline · 4
- CV pipelines and designing for imperfect input · 4
- Evaluating vision models and pipelines · 5
- Synthetic data and image normalization · 3
- Floor plan recognition and takeoff · 4
- Computer vision
Vision language models 11
- How a VLM sees an image · 4
- Open-weight VLMs: the landscape · 4
- VLM failure modes in production · 4
- Structured extraction from documents · 4
- Constrained decoding on self-hosted models · 4
- Serving VLMs · 4
- Fine-tuning VLMs · 4
- Sizing GPUs against an SLA and a budget · 4
- Evaluating document extraction · 4
- Layout detection and OCR engines · 4
- Vision-language models
System design
35 notesAPI integrations 9
- 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
- Web scraping and browser automation · 4
- Google Workspace APIs: Sheets and Drive · 6
Resilience 5
Async patterns 1
Secrets & config 1
Observability 1
Design framework 3
Worked designs 10
- 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 · 7
- Worked Design — LLM usage metering · 4
- Worked Design — File and image processing pipeline · 4
Scaling building blocks 4
Tech check
30 notes- Tech Check — Theme Navigation
- Tech Check — Theme Navigation, Part 2
- Questions asked in real interviews
14august 4
5october ver 1 5
5october ver 2 5
5october ver 3 1
Company A 3
Fresh check 3
LangGraph 1
Senior review 1
Senior review 2 1
Streamlit 1
Behavioural
22 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
- Describing your strongest project · 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 · 4
- Advocating for Tech Debt / Engineering Investment
- Mentoring, Feedback, and Helping Others Grow
- The six signals an interviewer is actually reading · 5
- The questions you ask, and the red flags in your answers · 3
- Leading technical direction on R&D work · 4
- Working directly with clients · 4
- Leading a team of five to ten · 4
- Presales and scoping AI work · 4
Methodologies
12 notes- Agile Manifesto and Principles · 6
- Scrum · 7
- Kanban · 7
- Waterfall · 7
- XP, Lean, and Other Methodologies · 7
- Estimation and Planning · 8
- Comparison and Choosing a Methodology · 6
- AI-assisted development and AI-DLC · 6
- Spec-driven development · 4
- Process mapping and choosing what to automate · 5
- X-driven: the map · 6
- Methodologies