Networking
137 bites tagged Networking — interview questions with model answers, and 60-second explainers.
Cloud Subnets: Your Virtual Network's Neighborhoods
Think of a subnet as a neighborhood in your virtual network (VPC), giving a block of IP addresses to a group of resources. Use them to isolate web servers from databases or apply specific firewall rules.
CIDR: Flexible IP Address Blocks
CIDR groups IP addresses into flexible blocks, replacing rigid A/B/C classes. You use it to define network ranges like `10.0.0.0/16` for a VPC. The footgun: a smaller slash number like /16 means a *larger* network than a bigger number like /24.
VPC: Your Private Slice of the Public Cloud
A Virtual Private Cloud (VPC) is your private, fenced-off section of a public cloud. You use it to launch resources like servers and databases in a logically isolated network, controlling all traffic.
Storage Gateway: Your On-Prem to Cloud Translator
A storage gateway is a translator, letting your on-prem applications talk to cloud storage without learning its native API language. It presents cloud storage as a local file share or block device, enabling hybrid cloud backups and data tiering.
Cloud Load Balancer: Your App's Traffic Cop
A cloud load balancer is a traffic cop for your servers, distributing requests across a pool of machines to prevent overload. It's essential for scaling apps and ensuring high availability.
eBPF: Run Sandboxed Programs in the Linux Kernel
eBPF lets you run sandboxed programs directly in the Linux kernel, like adding programmable event handlers to your OS. This enables high-performance networking, security, and observability without changing kernel code.
CNI: The Universal Plug for Container Networking
CNI is the standard API that decouples container runtimes from network implementations. In Kubernetes, it lets you swap networking plugins like Calico or Flannel.
Service Mesh: The Network Layer for Your Microservices
A service mesh acts as a dedicated network layer for microservices, handling complex communication logic outside your application. It enables features like mTLS and canary releases.
Kubernetes Ingress: The Cluster's Front Door
Kubernetes Ingress is the smart receptionist for your cluster. It routes external HTTP/S requests to internal services based on hostnames or paths, letting you expose multiple apps under one IP.
Kubernetes Service: A Stable Address for Ephemeral Pods
A Kubernetes Service provides a stable IP address and DNS name for a group of ephemeral Pods. It acts like a load balancer, distributing traffic so you don't have to track individual Pod IPs, which can change at any time.
Android Network Security Configuration
Define your app's network trust rules in a simple XML file instead of writing complex code. Use it to block cleartext (HTTP) traffic, trust self-signed certs in debug builds, or pin certificates.
Retrofit Converters: Speaking Your API's Language
A Retrofit Converter is a translator that turns raw network data into your app's data classes (e.g., JSON to Kotlin objects). You add a converter factory, like for Moshi or Gson, when building your Retrofit instance. The footgun: converter order matters.
OkHttp Caching: Beyond Simple Hits and Misses
OkHttp's cache acts like a browser's, saving network trips by storing responses on disk. It handles not just full hits and misses, but also validates stale data with the server. Use it for repeatable requests.
Certificate Pinning: Trusting Only Your Own Servers
Certificate pinning hardcodes your server's public key hash into your app, rejecting any other certificate. This prevents man-in-the-middle attacks from compromised CAs. The footgun: if the server certificate changes, your app breaks until you update the pin.
OkHttp: A Smarter HTTP Client for Your App
OkHttp is a smart, resilient HTTP client for Android and Java. It automatically handles complexities like connection pooling, caching, and GZIP compression to make requests faster and more reliable.
Retrofit: Turn Your HTTP API into an Interface
Retrofit turns your HTTP API into a simple interface, letting you define network calls as annotated methods. It's the standard for most Android network tasks. Footgun: forgetting to run calls off the main thread will crash your app.
REST: The Architectural Style for Web APIs
REST is the architectural style for web APIs, using standard HTTP methods like GET and POST to manage data. Your Android app uses it to fetch user profiles from a server. The footgun is treating REST as a strict protocol; it's a set of guidelines.
Get Networking bites daily.
Five a day, five minutes, offline. With quizzes so it sticks.
Open testing — you’ll join as an early tester.