Preparing for Interviews <Part 1: Technical/Coding>
I have been taking mock interviews as one of my pet projects for past couple of months. Few candidates were at an initial stages where they were still finding a path to start writing code whereas few were really good at coding but were finding ways to convey their thought process since there isn’t a whiteboard and a marker anymore!
Let’s start from the basics, shall we?
- Learn and master a coding language
Choose a language: First step is to learn the programming language, if you’re completely new, start with any program language that interests you. Some of the common languages I’ve seen candidates using is Java, C++, Python.
Master the language: why? So that, when an interview question involves splitting a string as one of it’s sub parts, you don’t end up writing logic for it. You already know few basic features provided by language.
SCJP book is by far my favorite book to master Core Java. I’m sure there are more versions of this book. It answers every ‘why’ you can possibly have about Java. To add, https://www.journaldev.com/ is my favorite blog when I have any questions. Well, being certified in a language would be another add-on if you have time for it! It is not necessary.
Implement! : While you’re learning the basics of any language, make sure to implement the concepts in smallest possible units, get curious, this isn’t a production code to run a service, let it fail too!
2. Solve problems:
Before trying to code any problem, first step is to come up with a logic to solve the biiiiiig problem!
Step 1: Divide it into sub problems.
Step2 :Make sure to implement the concepts in smallest possible units
Step 3:Get curious, check how this problem is different than others.
Step 4: Brainstorm, check different cases and see how your logic reacts to it.
Step 5: Dive into coding the problem.
Tip: Initially I used to solve problems logically, without really coding each one of them, what I realized through the practice was, even though logic was on point, coding it could be a nightmare.
For example: Your logic might need usage of recursion, but coding it could be a little challenging. Good idea is to solve a few problems in each domain just to get an idea, and then there can be a leeway for a few problems.
2. Practice with Mock Interviews
Mock interviews is the best way to simulate the exact interview questions. There are bunch of tools / websites where you can create a free account try. Discuss your drafts / answers with your friends , take each other’s interviews to get more insight into your answers. Sometimes friends know some work that you’ve done and forgotten, they can remind you the good bits! Always a good idea to discuss casually or just to go for even a mock interview.
3. Apply for jobs
Focus on this but don’t have mental blockers to only go on website and apply.
Also this should ALWAYS be done as early as possible to because applying takes time!
Step 1: Make a list of companies you want to apply for. Be focused , put your energy in your favorite / most important companies first! How it helps is, you’ll try to put your best in these applications, you’ll be thorough with your research.
Step 2: Get your resume , Cover Letter , different “reaching out” emails / in-mails ready. Work on them, over and over again!
Step 3: Apply , reach out, network rigorously. More you invest your energy in this step, easy it will be to get more interviews and practice.
Step 4: Try to automate things as much as possible.
4. Before you go for the interview.
- Research company’s latest news
- Know their mission and vision to connect with the interviewers.
- Talk to people who work there.
- Search which questions company has asked in the past — make sure to go through them at least once.
- Sort out the basic things a night before , eg. what to wear , what all to carry , time, address, distance of the venue from where you stay, commute. Try to not let your mind worry about anything else than the interview.
5. After the interview.
Send a thank you note.
If selected, congratulations! , we’ll soon be talking about negotiations in upcoming blogs.
If not selected,
- Know this is not the end of the world, there are millions of more opportunities,
- Try to get a specific feedback than generic
- Understand the mistakes done and learn from them to implement in the next interview.
- Take a small break before diving into next preparation. (Well, small is quite subjective :D)
- Prepare for the next one!
About the Author: Aarti Dalvi
Aarti is Software Engineer at Microsoft Azure and has been in the tech industry for over 7 years. She is passionate about Cloud Computing and helping students. She is an advocate of diversity and inclusion at the workplace and enjoys helping and empowering others via several platforms. She is also a volunteer by heart in several organizations like AnitaB.org, Women @ Microsoft, Women Who Code, and Indian Women in Computing.
As her recent efforts for helping students or professionals in job search, she has launched, GRADMASTERS!