Tip #: Justify Your Choices
As a software developer, you’ll like work on a team of people with a diverse array of experiences and assumptions about coding, logic, and design. So as you go through your online interview, its thoroughly important that you communicate the Why behind your decisions. Why did you take that shortcut? Why did you write it this way?
Getting used to explaining your thought process out loud helps in two ways. First, it forces you to get a grip on complexity by breaking things down to simpler component parts. If you cant clearly explain the reasoning for each decision you make, you might not actually understand the problem at hand. In an online interview, talking through your decision will show the interviewer your command of the problem. They’ll be able to spot the difference between candidates who truly understand the problem, versus those hiding behind technical jargon.
Second, justifying your choices helps the interviewer understand the assumptions you’re testing, your approach to problem solving. It’s a great chance to show off the unique perspective you bring to the table.
Do Coding Interview Questions While Youre Learning
THIS IS VERY IMPORTANT.
Start doing coding interview questions while youre learning data structures and algorithms.
You need to apply what youre learning to solving problems, or youll forget. I made this mistake.
Once youve learned a topic, and feel somewhat comfortable with it, for example, linked lists:
Keep doing problems while youre learning all this stuff, not after.
Youre not being hired for knowledge, but how you apply the knowledge.
There are many resources for this, listed below. Keep going.
How To Crack The Microsoft Interview
Today we’re welcoming Kavya Sukumar, a Microsoft developer who can share some insights on the interview process and how to crack it!
HackerRank : Hello Kavya, thank you for accepting the invite! Our readers would like to know a little bit about you, so…
Kavya Sukumar : Yep, sure! I currently work as an Software Development Engineer in Test at Microsoft. I joined Microsoft’s India Development Center after graduating in Computer Science and Engineering. After a year in IDC, I moved here to Redmond, WA.
HR: What’s the interview process in top tech companies like Microsoft?
KS: In Microsoft, there is no fixed interview process or format. It changes with product groups or teams. The most commonly followed interview process consists of four to five rounds, each focusing on analytical, problem-solving, designing, coding and testing the skills of the candidate.
It starts with a screening round, which may be submitted in written format, via telephone or in person. In Microsoft, there are three engineering profiles: development, test and program management.
Apart from screening candidates, the initial round also decides the profile best suited for you. Once you clear the screening, you proceed to the next round, which is called a loop. A loop usually consists of three to four people who interview you separately.
HR: Thanks Kavya! That was indeed a detailed explanation. Now, how does a candidate prepare herself/himself for the interview?
Recommended Reading: What To Take To A Job Interview
Is Hackerrank Good For Learning
Search around and youll hear a few different arguments about the effectiveness of HackerRank as a learning tool. Some developers swear by it and have gotten job offers based on their competition scores. Others revile it and think it should be avoided for anyone looking to do serious development work. Like all good things, the answer is usually in the middle somewhere.
If you are trying to learn front-end development, check out one of the boot camps on Udemy or a Nanodegree from Udacity. Both offer a far more immersive and in-depth experience than learning on HackerRank.
However, HackerRank is a good resource for learning algorithms and data structures. A lot of the questions on HackerRank are the same trivia-style algorithm questions from coding interviews. It is a fantastic place to learn the basics of these skills and challenge your understanding of these concepts.
HackerRank also has a slight lean towards back-end development with Ruby, C++, Python, databases, and SQL comprising a large number of their skills. It is still good for front-end developers but other learning resources may be more useful.
What Happens When You’re Done Preparing
Of course, preparation is a continuous process that, in some cases, doesnt end until the minute before the test or interview. However, with the content of a technical interview being open-ended for the most part, it’s more helpful to be confident in what you know than it is to know as much as possible.
Once youve gone through questions and read up on important concepts, try to to set up a mock interview with someone you know.
Not only does this let you put your skills to the test, but it also helps you get comfortable with the otherwise unnerving interview environment.
Following this, the final step is to reflect on what youve learned and, most importantly, to have a good nights rest before the day of the interview!
Recommended Reading: How To Prepare For Microsoft Interview
What Does Leetcode Do
LeetCodes mission is to assist software engineers in strengthening their skills, learning how to use them, prepare for technical interviews, and expand their knowledge. They offer more than 1,800 questions which are divided into three skill levels:
Premium members also have access to problem sets that are based on company questions.
Today, LeetCode remains one of the largest communities for developers. They continue to have thousands of active users and a robust discussion board.
To challenge themselves and earn rewards, users can participate in contests. Some contests are sponsored by big companies searching for potential hiring candidates.
LeetCode includes 14 coding languages mentioned above, and users can write, debug, and test their projects online through their playground.
Recommended Reading: Design Interview Preparation
Why Work With Algorithmic Problems
A lot of people look at a tool like HackerRank and pose the following questions: Why would I practice with these algorithmic problems when this is not what I do at work?. Fair question. Here are a few reasons to do that:
- Solving algorithmic problems teaches programming techniques that can be applied in different contexts.
- Non-trivial efficiency problems come up from time to time in most projects. When you work with algorithmic challenges, you are well equipped to handle them.
- You may be asked similar questions in an interview. Even if you are not looking for a new job, you may be required to participate in an interview. This is common for us in the consulting business, but it may also happen for start-up employees, as their company is being bought.
- It makes you a better interviewer. Expert skill in solving these kinds of problems helps you to quickly understand what others are trying to write and debug their code in your head.
- You may get to practice parts of your programming language that you are not using that often.
- It can be really fun.
I am sure there are many other benefits of doing these kinds of problems. If I missed something important, let me know in the comments.
You May Like: Questions To Ask Cfo During Interview
You May Like: How To Do Better In Interviews
Your Guide To Hackerrank Success
HackerRank, a coding-based technical skills and assessment platform, is one of the many tools used by Goldman Sachs to assess candidates for roles within Engineering. Marisa, an Associate on the Engineering Campus Recruiting team, shares her advice for applicants taking the HackerRank assessment.
What is the application and interviewing process for engineering roles at Goldman Sachs?
As part of the application process, all applicants will get to choose which technical assessment they would like to complete as part of the interview process. You can choose from a programming or programming and math assessment. This is an opportunity for you to showcase your technical skills and for us to gain some insight into the types of problems that you can solve at Goldman Sachs. The platform we use is powered by HackerRank, a popular evaluation system used by many technology firms to help match applicants with technical and coding skills to the right roles. If we are impressed with your application and you perform well in the HackerRank assessment, you may be invited to take part in a virtual video interview â a prerecorded set of questions to which you will record back your responses. The final round of interviews take place via live video conference or in our offices, where you would meet with three to four engineers at both junior and senior levels.
How should I prepare for HackerRank?
You can also hosted by our engineers.
Use Hackerrank To Land A Job
Once you have got a few projects under your belt and got a portfolio set up, then head over to HackerRank. By this point, youll have enough technical experience to discuss your projects in your interviews.
What you need now is to focus on the technical aspects of the interview. These can come in the form of technical tasks which you are sent away to do. Or more commonly questions on a coding assessment platform.
Most jobs will rarely require you to fix a problem in the same way as you do on LeetCode or HackerRank. They just dont match the reality of problem-solving on the job. However, you will definitely be asked these types of questions in the majority of programming roles.
If someone competing for a role knows more about answering algorithm questions they are likely to stand out in the technical stages. Top FAANG companies expect candidates to be able to nail these types of questions, so a solid technical interview will go some way to landing you the job you want.
There is a shift in the industry to more open-ended interviews but the reality of the job means you are always going to be tested on your technical ability.
Read Also: How To Answer Tough Interview Questions
Live Text Audio And Video Chat
The participants can use text, audio, and video conference to interact with each other according to their preferences and requirements. You can click the chat window to expand it and click the required icon to make a video call or phone call.
Tip: You can move the Chat Window on the interview screen.
Dont Miss: Interview With Cfo
How Do You Pass A Challenge In Coding
9 Essential Tips on How to Tackle a Coding ChallengeRead the instructions very carefully.Sketch out a plan.Make it simple to run and include a great Readme.Drive out your solution with tests.Focus on the test input, then handle edge cases.Make it readable.Follow the programming style of your language.Remember that its OK to get help.More itemsOct 16, 2015
Recommended Reading: How To Send A Rejection Email For A Job Interview
What Does Hackerrank Do
HackerRank was the first programming platform from India to receive sponsorship from the American seed money startup accelerator, Y Combinator.
The company has now grown to become the leading technical skill assessment program for developers.
Most of the high-ranking tech companies use HackerRank to provide coding tests and technical interviews to their candidates.
HackerRank also offers practice questions for software engineers who want to train for technical interviews in similar environments theyll be tested in.
The program can also assist people looking to learn new skills and languages.
Each question is classified by skill level in algorithms, data structures, various languages, and general math.
HackerRank also features contests users can participate in, and a job board aspiring software engineers can use.
Their programming challenges have solutions in multiple programming languages and go through various computer science domains.
Regarding the consumer side, when a programmer presents a solution to a challenge, their submission is scored by the precision and exactness of their resulting product.
Programmers from all over the world are then scored and ranked on the HackerRank leaderboard. From there, they can earn badges based on their achievements to push more competition among the programmers.
Add Hackerrank Stage To Jobs Interview Plan
Once the Greenhouse/HackerRank integration is enabled for your organization, you will be able to add the HackerRank assessment as an Interview stage.
To do this for an existing job, navigate to a job and click Job Setup from the Job navigation bar.
From the Job Setup page, navigate to Interview Plan on the left-hand panel. Scroll down the page and click + Add a Stage.
From the Add Stage dialog box, select the HackerRank stage. When finished, click Add to apply the stage to the jobs interview plan.
You May Like: What Should Females Wear To A Job Interview
Recommended Reading: How To Track Exit Interview Data
How Is Hackrank Useful
The reality is that if developers dont know data structures and algorithms they may struggle to get a good job.
HackerRank and other sites like it have become extremely useful as they allow candidates to practice the type of questions they will be asked at a technical interview.
In this article, we wont discuss the validity of the tests as a barometer of technical prowess as that is still open for debate. We also wont discuss whether you should focus on technical challenges or learning a language, as there are merits to both.
Instead, lets why HackerRank is useful for various aspects of programming and how you can take advantage of it.
Other Resources You Can Use In Your Preparation
Sometimes, it also helps to predict what kind of questions you might get in an interview and focussing your preparation based on that. In fact, the recurrence of popular questions has been pretty common in recent IT hiring cycles.
Fortunately, there is no shortage of helpful forums on the internet where you can find everything from common questions that people have encountered to personal recommendations that successful candidates might have.
Also Check: How To Relax Before An Interview
Tip #5 Look At Other Peoples Code
Reviewing other programmers’ code helps you understand the format, design patterns, styling, and naming conventions consistency throughout the code. For that, you can find and explore the online communities of programmers like Stash, GitHub, Codeacademy Forums, and Bitbucket.
When you take part in code review platforms like GitHub and Stash, you need a pull request. This means the original programmer will add you as a reviewer, and when you finish your code review, the website will track all changes you make. You could also be conducting an internal code review at work, either in person or through a version control system that your company has implemented.
Phases Of A Coding Interview
Congratulations, you are ready to put your skills to practice! In a coding interview, you will be given a technical question by the interviewer. You will write the code in a real-time, collaborative editor or on a whiteboard , and have 30 to 45 minutes to solve the problem. This is where the real fun begins!
Your interviewer will be looking to see that you meet the requirements of the role. It is up to you to show them that you have the skills. Initially, it may feel weird to talk while you code, as most programmers do not make a habit of explaining out loud their thoughts while they are typing code.
However, it is hard for the interviewer to know what you are thinking by just looking at your code. If you communicate your approach to the interviewer even before you start to code, you can validate your approach with them. This way, the two of you can agree on an acceptable approach.
Preparing for a remote interview
For phone screens and remote interviews, have a paper and pen or pencil to jot down any notes or diagrams. If you are given a question about trees and graphs, it usually helps if you draw examples of the data structure.
Use earphones. Make sure you are in a quiet environment. You do not want to be holding a phone in one hand and typing with the other. Try to avoid using speakers. If the feedback is bad, communication is made harder. Having to repeat yourself will just result in the loss of valuable time.
What to do when you get the question
Starting to code
Recommended Reading: What To Write In A Post Interview Email
What Is A Technical Interview
Dont let the name fool you. There is a lot more to technical interviews than just testing your programming or technical proficiency. In reality, its a multi-step and multi-faceted assessment of your overall abilities as a potential IT professional.
In most cases, a technical interview is a specialized and rigorous process that tests your coding skills, problem-solving abilities, and personality. Generally, this process consists of whiteboard challenges, remote or onsite problem solving, and code walkthroughs.
With so many aspects of the interviewee being put to the test, a tech interview can last anywhere from an entire workday to several sittings across multiple days.
Bigger companies even have multiple rounds of the same process so as to make sure that a person really is what their sparkly resume portrays them to be.
Of course, if you claim to be a full-stack developer or an expert in data analytics, rather than take your word for it, employers would want to see those skills and knowledge in action.