Technologies, at interview depth
Put a technology on the whiteboard and the next question is how it works. Each page covers the internals that matter, the limits worth knowing, and the follow-ups interviewers ask.
- RedisRedis is an in-memory data structure server used for caches, counters, sessions, rankings, and short-lived coordination state.
- Apache KafkaApache Kafka is a distributed, durable event log that lets producers publish records and multiple applications consume them independently.
- Apache CassandraApache Cassandra is a distributed wide-column database built for partitioned, replicated data and high write volume.
- Amazon DynamoDBAmazon DynamoDB is a managed key-value and document database built around partition-key lookups and predefined query patterns.
- ElasticsearchElasticsearch is a distributed search and analytics engine built on Apache Lucene.
- PostgreSQLPostgreSQL is a relational database with SQL, transactions, constraints, and flexible indexing.
- MongoDBMongoDB is a document database that stores BSON documents in collections and supports indexes, aggregation, and transactions.
- Apache ZooKeeperApache ZooKeeper is a replicated coordination service for small amounts of shared metadata, such as leader ownership, service membership, and configuration.
- etcdetcd is a distributed key-value store for small, critical coordination data such as configuration, service registrations, and leader ownership.
- Amazon S3Amazon S3 is managed object storage: applications store and retrieve objects by bucket and key through an API.
- RabbitMQRabbitMQ is a message broker that routes messages from producers into queues and delivers them to consumers.
- Amazon SQSAmazon SQS is a managed message queue that stores work until a consumer processes and deletes it.
- Amazon KinesisAmazon Kinesis Data Streams is a managed, partitioned event log that lets multiple applications read and replay the same stream independently.
- Apache FlinkApache Flink is a distributed engine for stateful stream processing and bounded-data processing.
- Apache SparkApache Spark is a distributed compute engine for processing large datasets with SQL, DataFrames, and lower-level APIs.
- Google BigtableGoogle Bigtable is a managed wide-column database for large, sparse datasets accessed by row key or row-key range.
- Google SpannerGoogle Spanner is a managed relational database that distributes data across servers and can replicate it across regions while supporting SQL and distributed transactions.
- MemcachedMemcached is an in-memory key-value cache for small, serialized values such as database rows, rendered fragments, and computed results.
- ClickHouseClickHouse is a column-oriented SQL database built for analytical queries over large datasets.
- BigQueryBigQuery is Google Cloud's managed analytical data warehouse for SQL queries over large datasets.
- HDFSHDFS, the Hadoop Distributed File System, stores large files across a cluster of machines and is built for high-throughput batch processing.
- MapReduceMapReduce is a distributed batch-processing model that transforms input records into key-value pairs, then groups and processes values by key.
- KubernetesKubernetes runs containerized workloads across a cluster and continually works to match their declared configuration.
- PrometheusPrometheus collects numeric metrics, stores them as time series, and evaluates queries and alert rules over them.
- Graph databases (Neo4j)Neo4j is a property graph database that stores entities as nodes and connections as relationships, with properties on both.
- CockroachDBCockroachDB is a distributed SQL database that spreads relational data across nodes while supporting ACID transactions.
- Apache HBaseApache HBase is a distributed wide-column database built for large datasets with frequent writes, key-based reads, and ordered range scans.
- NginxNginx is a web server, reverse proxy, and load balancer that commonly sits between clients and application servers.