In this lesson, we’ll identify and design the classes, abstract classes, and interfaces based on the requirements we have previously gathered from the interviewer in our Stack Overflow system.

Components of Stack Overflow

As mentioned earlier, we will design the Stack Overflow system using a bottom-up approach.


The Account class is used to identify a Stack Overflow user using their username, email, and id. Users with an account will have the option to create questions and add answers and comments to questions.

Here's what the class definition looks like:

Level up your interview prep. Join Educative to access 70+ hands-on prep courses.