Do you prefer to create programs aligned with interfaces or implementations, and why?
Creating programs aligned either with interfaces or implementations are two methodologies used when developing software. Knowing the differences between these, including their benefits and liabilities, is important. Being able to describe this to the Amazon interviewer will help you establish your qualifications for this role and separate you from the other candidates. Since this is a technical question, keep your answer brief and to the point.
"Creating programs aligned with interfaces refers to the client code holding the interface object. Coding for the implementation requires that the class must have already been implemented. I prefer creating programs aligned with interfaces since these can control what operations are performed and allow them to be changed by the program at runtime. Programs aligned with interfaces are also easier to maintain."
