In India, Developers are in huge demand in startups and tech giants alike. For Women Restarters who have engineering backgrounds, the world is your oyster right now. Having said that, they aren’t just giving jobs away. You still need to go through specialized interview processes— and all the more to prove that you haven’t lost the skills. Below Interview Tips can help you sailing through some of these interviews.
Getting the Basics right!
Make sure that you have brushed up on the absolute basics: data structures, algorithmic complexity analysis, class design. Regardless of the latest technology – the basics are just the same. The interviewer is trying to see - How you think through the problem, organize your thoughts, and express your answer.
At this stage, you should be comfortable talking about graphs, stacks, queues, strings, arrays, basic syntax, data types, linked lists and hash tables.
Prepare for the Interview.
Know the company you’re applying to and how your interests and experience relate to their requirement. Use Linkedin, Twitter and their website to research about the Organization. Read the Job Description thoroughly; The HR spends a lot of time putting it together, and every single word on the JD is well researched. What does the Employer want to see in the resume? What type of candidate are they looking for —personality, strengths, and technical skills? What is the possible format of the technical interview? Major organizations often post the interview process online. You can also talk with people who have recently been hired or are otherwise familiar with the hiring process.
Prepare your responses for each of these:
- a challenging technical problem you solved
- an interpersonal conflict you overcame
- your favorite language and something you do and don't like about it
- ask the company's product/business
The more you practice, the better prepared you’ll be for the technical coding interview. This is true for most things but particularly pertinent to technical interviews—they require you to warm up your brain.
Have a friend, who is not in technical field, ask you the interview questions, and walk them through your answers. If you can explain it to him or her, you can surely explain it to your technical interviewer.
Use some of the prep tools that are out there. They often offer great insight into the interview process and have practice questions too. Some of the technical interview prep websites are
Telephonic or Videoconference Interviews
The phone interview is still more widespread, but some companies have started to use video-conference interview as a way to size up the candidate visually and gauge their Presentation Skills. Few things should be kept in mind when you prepare for a Videoconference Interviews. It would be ideal to Rehearse, the interview with a friend. There should be ample light and ensure that there won't be any unexpected interferences at that time.
When the interviewer asks you a question solely on your fundamentals, they would like to see how you can use them in practice.
No matter what the question or what solution you choose, make sure to think out loud! Don’t be afraid to ask questions if something is unclear or there’s not a lot of detail provided. This shows that you’re thinking, too—and gives the interviewer a sense of how you would work with others.
Finally, ensure that you run through a few test cases verbally before you say you’re finished. This allows the interviewer that you’re checking your code.
The Homework Assignment:
It is a widespread practice to give Homework Assignments as a part of the technical interview. It enables the manager to have firsthand look at your approach, efficiency, quality, turn-around time, communication and presentation style. They can observe how serious you are about the position. Few useful points while working on a Homework assignment:
- Ask questions to confirm your understanding
- Ask for Data
- Outline the main points in your solution – You do not need to share the details
Sometimes you'll get stuck. Don't panic. It doesn't mean you've failed. The interviewer wants to see your ability to tackle the problem. Continue to try and solve using different approaches.
Draw pictures. Draw a couple of different test inputs. Then translate your strategy into code.
Solve a simpler version of the problem. Not sure how to find the 3rd largest item in the set? Think about how to find the largest item and see if that leads you to a different approach.
Think out loud and say what you know. Say what you thought might work and why it won't work. You might get a hint. Or sometimes, even the interviewer might give you an indication. But don't expect the interviewer to answer you.
First and foremost, think about how you would appraoch the problem and worry about the details at the end. Call a helper method and keep moving. Just skip its implementation, if you can't immediately think of how to implement some part of your algorithm, big or small. Write a call to a reasonably-named helper method, saying its functionality and keep going. If the helper method is trivial, you may not have to even implement it.
Don't worry about syntax. Just breeze through it. Save it for checking at the end. Don't worry about whether your for loop should have "<<" or "<=<=." Make a point of it to remind yourself to check it at the end. Just work on the general algorithm.
Use descriptive variable names. Even if it takes time, it will help you to keep a track of what your code is doing.
Clean up when you're done.
Walk through your solution by hand, out loud, with an example input. Write values the variables hold as the program is running. It will help you debug and clear up any confusions your interviewer might have.
Test edge cases. These might include empty sets, single-item sets, or negative numbers. Bonus: mention unit tests! Some interviewers won't be so particular about these cleanup steps. If you're unsure, ask them if they would like you to proceed with that next?"
Ask the Interviewer if he/she is satisfied with the solution and they have any more questions for you.
Ask Questions about the Project and the Company
Interviews are a two way process, and you’re evaluating the company too. The interviewer also wants to see that you are interested in learning about the company, thinking about how you’d fit in the position and that you’re an inquisitive, smart person.
Technical interviews(especially coding) may seem to be pretty daunting, but with the right types of focused practice, you’ll be ready to ace them. Remember to focus on fundamentals, and practice a lot. Follow the tips above, and you’ll be prepared for your next technical coding interview.
Some other useful references:
Shared Programming/ Coding