Interview process

Applying for a technical job is, in many ways, a unique experience. The interview process is unlike any other. Applicants who do not know what to expect are at a severe disadvantage. The purpose of this chapter is to acquaint you with the process so that, instead of being surprised, you will have an advantage over your competition. By understanding the process, you will be prepared for even the toughest interviews and have the opportunity to let your talents dictate your success. 

Types of Interviews
It is often a long journey before a candidate receives an offer. Typically, a phone interview is the first step in the process. If it goes smoothly, a candidate may receive an invitation for one or more rounds of on- site interviews. 

Phone Interviews
During the phone-interview phase, interviewers examine candidates via phone calls. Many interviewers discuss time frames with candidates and schedule a specific time for the interview in advance, but others do not. In some areas of the world, such as India, it is even possible for a candidate to receive an unexpected phone call and be expected to perform an interview at that moment.
Whether the interview comes at an expected time or not, it is a good practice to find a comfortable and quiet place to take the call. The place should be free of distractions so that the candidate and interviewer can hear each other.
Compared to on-site interviews, during the phone interview the two sides on the phone can only communicate via voice. It is more difficult for candidates to describe their ideas without auxiliary tools, including body language and facial expressions, especially when describing complex data structures and algorithms. For example, it is quite easy for a candidate to describe a binary tree during an on-site interview because he or she can draw it on paper. However, interviewees on the phone can express a clear idea about a binary tree only after describing the binary tree itself in detail, including what the left child and right child of each node are. This kind of explanation can make for an awkward interview or perhaps make it bog down in unnecessary detail.
Sometimes voices are not very clear over phones. If candidates cannot hear interviewers' questions or requirements clearly, they should feel free to ask the interviewers to clarify. Providing answers irrelevant to the question should be avoided. Actually asking for more clarification is a good way for candidates to show their communication skills. In some cases, it can also buy time to think of a good response. During real software development, requirements are usually ambiguous at first, and engineers have to ask end users for clarification. Therefore, the skill of asking for clarification is an important component of the communication skills set an employer is likely to appreciate.Candidates should communicate their thoughts in sufficient detail during phone interviews so that they are convinced interviewers understand their responses. 

Phone-Screen Interviews
To facilitate phone interviews, many companies utilize online word-processing tools, such as Google Docs and Collabedit, which allow candidates to easily share and collaborate with interviewers in real time. Even though the two parties participating in the interview do not physically sit together, interviewers can examine how candidates write code on their desktop screens. An interview that occurs on the phone and uses these word-processing tools is often referred to as a phone-screen interview.
Interviewers pay a lot of attention to candidates' programming skills and habits. In most cases, they look for the following programming habits:
  • Thinking carefully before programming. It is not usually a good idea for a candidate to begin coding hastily once he or she hears an interview question. Without reflecting on the process, a candidate will be prone to write buggy code. Remember that the interview situation puts more pressure on the candidates than they feel when they are doing their day-to-day work. Candidates usually are fearful, and sometimes panic, when their bugs are pointed out by interviewers. If they have answered in too much haste, their code might be modified to create an even bigger mess in such situations. A much better strategy for candidates is to implement code after they have clear ideas about their solutions, including data structures and algorithms to utilize, time and space efficiencies, cases requiring error handling, and so on. Generally, the interviewer will respect the thoughtfulness taken to arrive at the best result.
  • Readable naming convention and indentation. Meaningful names of variables and functions as well as clear, logical indentation improve code readability dramatically, and they help interviewers to read and understand code. They also help if you have to debug your code as it will be read more simply.
    More advanced collaboration tools are used in some interviews, such as Microsoft Lync and Cisco WebEx. Candidates share their desktops with remote interviewers to show their programming and debugging processes in an IDE, such as Visual Studio or Eclipse.
    What interviewers usually require is an ability to develop a function in order to solve a certain problem. Candidates demonstrate their professional developing skills if they write unit test cases immediately after they finish implementing functions. It is a good practice for a candidate to ask his or her interviewer to review code only after all unit tests pass. It is more impressive if a candidate writes test cases before functional code since test-driven developers are somewhat rare. 

    On-Site Interviews
    If a candidate performs well during a phone interview, it is quite possible for him or her to receive an invitation for an on-site interview.
    A day or two before the on-site interview, a candidate should consider the following items:
    • Scheduling. Candidates need to plan how they will get to the interview, estimate how much time is needed, and leave about half an hour or more for unexpected situations such as traffic jams.
    • Wearing comfortable clothes. The dress code in most IT companies is quite casual, so usually it is not necessary for engineer candidates to be formally dressed. They can choose whatever is comfortable within reason.
    • Paying attention to the interview process. On-site interviews often contain several rounds. For example, there are usually five rounds of on-site technical interviews for Microsoft. It is quite common to feel fatigued after long interviews. Candidates may wish to bring some vitalizing drinks or food.
    • Asking a few questions. Interviewers generally leave a few minutes for candidates to ask some questions before a round of interview ends. Candidates would be wise to prepare some questions in advance.
      On-site interviews are the most important part of the whole interview process because interviewers examine candidates' programming skills as well as their communication skills, learning skills, and so on. appreciates your contribution please mail us the questions you have to so that it will be useful to our job search community

No comments: