← Coinbase Interview Insights

Coinbase·Frontend Engineer·Take-home Assignment·Intermediate

Intermediate
Apr 2026

Summary

Take-home assignment for a frontend role at Coinbase. Pretty straightforward on paper but the component structure part is where they actually care, not just whether it renders.

Questions Asked (1)

Q1

Build a small React app that reads blog post data from a local JSON file and displays a list of posts, each showing its title and body. Clean component structure and basic styling required.

Technical Trade-offsSystem Design
Author's notes

Seemed simple enough and it mostly was.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying requirements and outlining the component hierarchy, then walk through the data flow from JSON import to rendering. Emphasize clean separation of concerns, such as a PostList component and a Post component, and discuss basic styling approaches like CSS modules or styled-components.

Pro tip: Mention that you'd handle edge cases like empty states and loading states, and that you'd structure the JSON import to be easily replaceable with an API call later, showing foresight for scalability.

1. Clarify requirements and constraints

Ask about expected data shape, number of posts, and whether any interactivity is needed. Confirm that local JSON is acceptable and discuss potential future API integration.

2. Design component structure

Propose a component tree: App -> PostList -> Post. Explain how each component receives props and maintains single responsibility.

3. Implement data loading and rendering

Describe importing the JSON file directly or using fetch, then mapping over the data to render Post components. Mention key prop usage and conditional rendering for empty states.

4. Apply styling and ensure responsiveness

Discuss styling approach (e.g., CSS modules, inline styles, or a UI library) and how to make the list visually clean and responsive.

5. Review and discuss trade-offs

Summarize choices made, such as direct JSON import vs. fetch, and mention potential improvements like pagination or error handling.

Key Points to Mention

  • Component separation: PostList and Post components for reusability and testability
  • Data handling: importing JSON vs. fetching, and implications for build process
  • Styling approach: CSS modules or styled-components for scoped styles
  • Edge cases: empty state, loading state, and error handling
  • Performance: key prop, memoization if list grows
  • Scalability: easy transition to API by abstracting data fetching

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.