SharpSpring interview question

Explain a DOM. Good practices on designing APIs.