Implement a RESTful Q&A service

Quick Overview

This question evaluates a candidate's ability to design and implement a RESTful web service, covering HTTP API design, CRUD operations, data modeling and persistence choices, input validation, pagination/sorting, and basic testing and documentation practices.

Implement a RESTful Q&A service

Company: Rippling

Role: Software Engineer

Category: Software Engineering Fundamentals

Difficulty: medium

Interview Round: Onsite

You are asked to build a small REST service (in any language/framework you choose) that resembles a minimal Stack Overflow-style Q&A system. Design and implement an HTTP API that supports at least: - Posting a new question (title + body; optionally tags, author) - Querying/searching questions (e.g., by keyword in title/body, optionally by tags) - Fetching a question by id Clarify and decide reasonable defaults for: - Data persistence (in-memory vs database) - Pagination/sorting for queries - Validation and error handling (e.g., missing title/body, invalid id) - Basic non-functional expectations (readability, tests, documentation, how to run) Provide a brief README explaining how to run the service and example requests/responses.

Quick Answer: This question evaluates a candidate's ability to design and implement a RESTful web service, covering HTTP API design, CRUD operations, data modeling and persistence choices, input validation, pagination/sorting, and basic testing and documentation practices.

|Home/Software Engineering Fundamentals/Rippling
Rippling logo
Rippling
Jan 16, 2026, 12:00 AM
mediumSoftware EngineerOnsiteSoftware Engineering Fundamentals
35
0

You are asked to build a small REST service (in any language/framework you choose) that resembles a minimal Stack Overflow-style Q&A system.

Design and implement an HTTP API that supports at least:

  • Posting a new question (title + body; optionally tags, author)
  • Querying/searching questions (e.g., by keyword in title/body, optionally by tags)
  • Fetching a question by id

Clarify and decide reasonable defaults for:

  • Data persistence (in-memory vs database)
  • Pagination/sorting for queries
  • Validation and error handling (e.g., missing title/body, invalid id)
  • Basic non-functional expectations (readability, tests, documentation, how to run)

Provide a brief README explaining how to run the service and example requests/responses.

Loading comments...