I am interested in learning what are the best practices when it comes to applying for a job. The goal is for this post to serve as a collection of ideas that members of this community (including me) can use. If possible break down your answer into the high level steps that cover your entire process - from search to acceptance or rejecting of a offer. Thanks for participating.
EDIT: Also indicate how you find jobs/listing in the first place. Would like to hear form people who have a big network and people who don't. This will help people who don't have networks tremendously.
1. On any interview question, and especially on coding questions, don't be afraid to take some time to gather your thoughts. You will feel like you're under the microscope and you're obligated to say something. This is normal. Tamp down that feeling. A composed reply is better than a reply that came two seconds earlier. If necessary, practicing using canned phrases as a stalling technique--just saying "Excellent question! So, you see..." buys you like two not-awkward seconds.
2. In any coding exercise, spend more time talking than coding. You will have a large instinct school that your imperative is to find the correct answer. You must fight this. Your goal is to demonstrate that you can reason clearly, even if you arrive at a different answer than your interviewer. Before starting, explain your high-level approach. Be explicit about any assumptions you're making. Any time you make a decision, no matter how trivial, state that it is a decision and preferably why you did not choose alternatives.
3. There will always be a part of the interview where the interviewer asks if you have questions. Ask a question. It doesn't need to be anything special, just have a few on-hand. My favorite is to ask what the company culture is like, since that's something the interviewer usually doesn't cover.