1. Angular starts processing directives on the DOM when it is ready, calling compile functions to run code before child elements.
2. It then calls link functions, traversing back up the DOM to guarantee child element functions run before parents.
3. The compile pre-link function allows running code before child elements, while post-link runs after them.