Most employers these days have a series of preliminary interview to screen out the weaker(or unprepared) candidates. Generally you will encounter the following in the wild, in rough order:
- Phone Interview. Generally most interview processes start with a phone interview as it saves your potential employer having to pay for your visit. This is usually a character or very high level technical interview where the hiring manager is trying to see if you are a fit for the company.
- Technical Challenge. This is usually somewhat rare but includes a set technical challenge that you complete at home with some skeleton code. This is to see how you deal with reading code and adapt a solution. Some may even ask you to read a Wikipedia article and implement what you have read.
- Skype Interview. Generally these are quite casual but can include technical questions. Be prepared for technical issues (your interviewer will be), don't hesitate to offer a call instead if it persists.
- On-Site Interview. Usually a later stage of interviewing when the potential employer will reimburse your travel to travel to their office. Generally there are a few interviews throughout the day and with different expertise. Employers generally make the decision to hire based off of sheets that will be filled in during or after the interview as to how well the interviewer thought you did.