A. FRQ of Inheritance or Interface
For inheritance FRQ(Q1), ask yourself:
what are the classes? which one should be a parent? which one should be a child?
What is common to both parent and child classes? what is different?
For interface FRQ(Q2), ask yourself:
What are the methods of this interface?
Which class implements the method? Be sure to write method implementation in this class.
Which class uses the interface method?
B. FRQ of instance(Q2) methods and constructors
C. Recursion Methods:
All recursion methods can be replaced by iterations.
Exit condition is always checked first
Each call to the method itself should lead to the exit condition
It's a good practice to write the recursion methods as a helper method, keeping the method as concise as possible.