GE Interview Question

What are the best practices need to be considered while developing for multi threading application?