Get a concise overview of key system design concepts commonly covered in technical interviews, including REST, sessions, CI/CD, data pipelines, and architectural patterns. Perfect for rapid review before an interview.
Which feature is a key characteristic of a RESTful API in modern system design?
Explanation: RESTful APIs are stateless, meaning each request from a client contains all the information needed for the server to process it, enhancing scalability. Maintaining long-lived server sessions is typical of stateful systems. Custom binary protocols are not part of REST; REST relies on standards like HTTP and JSON. There's no requirement for a fixed port, as REST commonly uses port 80 or 443 but is not limited to them.
What is a primary difference between sessions and cookies in web applications?
Explanation: Sessions store user data securely on the server-side, while cookies store small data pieces on the user's device. Browsers can ban cookies, not sessions. Cookies are not always encrypted by default, and both can carry user information if configured.
What is the main benefit of using a CI/CD workflow in software development?
Explanation: CI/CD workflows automate building, testing, and deployment, leading to faster and more reliable software releases. Source control is still necessary for tracking code changes. CI/CD does not guarantee bug-free production nor does it eliminate the need for code reviews, which ensure code quality.
What is a common use case for Kafka in distributed system architectures?
Explanation: Kafka excels at real-time data streaming and message queueing between distributed services, making it a popular choice for event-driven systems. ORMs relate to databases, RMI refers to synchronous operations, and session management isn't typically handled by Kafka.
In a typical data pipeline, what is the main role of an ETL (Extract, Transform, Load) process?
Explanation: ETL processes are designed to gather data from diverse sources, transform it as required for analysis, and load it into a storage or analytics system. Encrypting data, load balancing, and authentication are important, but they are outside the focus of ETL pipelines.