Do Coding Interview Questions While You’re Learning
THIS IS VERY IMPORTANT.
Start doing coding interview questions while you’re learning data structures and algorithms.
You need to apply what you’re learning to solving problems, or you’ll forget. I made this mistake.
Once you’ve learned a topic, and feel somewhat comfortable with it, for example, linked lists:
Keep doing problems while you’re learning all this stuff, not after.
You’re not being hired for knowledge, but how you apply the knowledge.
There are many resources for this, listed below. Keep going.
Tip #5 Know More About The Company
Prepare well for questions like why you want to join us. For many companies like Facebook, you will be asked for this question for sure.
More importantly, every company will evaluate the so-called culture fit. You should have a clear reason why you are best fit for this company and vise versa. From this perspective, doing an investigation to know about the company more than its name can make a big difference.
Also asking yourself why you want to join the company helps you better understand whether you are making the right decision. I encourage people to work for companies that resonate with them, otherwise, you might end up with a terrible work life even if you get paid well.
The Google Phone Interview
For the phone screen, you are interviewed by at least one Google employee who provides you with a coding question. You share a Google document with the interviewer and use it to write code for the question asked by the interviewer.
Protip: Coding in Google Docs sucks, but if you update your preferences it can make your life 1000x better. Learn how to do that here.
This interview will focus on your ability to produce code without an IDE . Typically, the question asked will be one that can be solved by a brute-force solution, and then progressively improved upon.
The phone interview is about 30-45 minutes. Assuming you did well, the Google recruiter will reach back out to you to give you the next steps if they decide to move along with you.
Dont be disappointed if they ask to do a second phone interview. Thats totally normal if they dont feel like they were able to adequately assess you the first time and doesn’t have any bearing on your later interviews.
You May Like: What Are My Weaknesses Job Interview
The Google Onsite Interview
The Google onsite round involves speaking to a number of Googlers. Usually this will include four to six separate interviews, including one lunch interview.
Generally, you will be asked primarily coding interview questions and potentially one or two system design questions as well.
The more experience you have, the higher proportion of system design and topic-specific questions you can expect to be asked. Google rarely asks any system design questions to engineers with less than 5 years of experience.
Each interviewer collects feedback on how well you performed during the one-on-one interview with you. This feedback is collected by each interviewer independently as to eliminate cross-chatter and biases between your interviewers. If you felt as if you performed subpar in one of the interviews, that baggage stays there and does not follow you into the next interview.
Week 0 What Programming Language Should You Use
Pick a programming language and then stick with it. Im often asked: what if I know more than one? Would, for example, Python be better than Java?
The answer, of course, is that the best programming language for your coding interviews is the language that youre most comfortable with. Most companies/interviewers dont care as long as you can show proficiency in any one mainstream programming language.
In some of the worst cases, Ive seen people deciding to switch to a different programming language in the middle of the interview. Thats a big turn-off and a waste of time. Dont do that. Pick one early, and stick to it throughout.
Recommended Reading: What Do You Wear To A Job Interview
The 6 Best Interview Prep Programs
The technical interview can be daunting for both new and experienced tech professionals. Nailing the tech interview requires practice, and interview prep programs exist to give their students the support and confidence-building they need to land their tech dream job. Whether youre a coding bootcamp graduate, a self-taught software engineer, or an experienced developer, weve rounded up the 6 best interview prep programs to accelerate your career!
Tip #7 Connect With Friends At Your Target Company
If you have some friends working at your target company, its a great chance to get more information about the interview.
Im not saying that you can ask things like common interview questions they usually ask, what I would suggest is to know more about the interview process, what interviewers care and anything that is potentially useful.
For instance, some companies like Facebook care about product sense for engineers. In their interviews, they might discuss with you about specific features and ask your feedback. For Airbnb, they will evaluate if candidates share the same passion for its mission. If you can have more information about your target company, you can be better prepared for sure.
You May Like: What Questions Can You Not Ask In An Interview
Learn About The Company
Needless to say, another preparatory piece of reading for you is learning about the company.
Some of the questions you should ask yourself are:
- What is its mission statement?
- Who is/are its CEO?
- How do I fit in the big picture?
- What appeals to me?
And so on. This isn’t elementary school, so, nobody is going to ask you directly about any of this. However, having a good understanding of these topics will lead to really sane conversations with the people you meet.
My Guide To Preparing For The Google Technical Interview
TODO: Upvote my original post and other good answers on Quora. The following is my answer to the question “How should I prepare for my Google interview if I have 1 month left?”
With over ten years of programming experience and a CS degree, it took me about a month and a half of daily practice to get ready for the interview. Ready, for me, is ambitiously defined as the ability to tackle almost any technical interview question in 30 minutes or less and reach an optimal solution. The following is based upon what I did to prepareyour mileage may vary.
- About two years of solid coding experience
- Pencil and paper
- Your favorite algorithms bookIntroduction to Algorithms, The Algorithm Design Manual, and Programming Pearls are a few good choices. Might I suggest you go low tech and buy physical copies?
- Two or three hours a day
- Highly recommended: Whiteboard
- Optional: MIT OpenCourseware or another learning site
1) Learn as much as you can about the Google interview process
Just like an incomplete understanding of a technical question will ruin you in the actual interview, misinformation will derail your preparation leading up to it. I learned this the hard way when I failed at my first attempt after emphasizing brain teasers over studying algorithms and data structures.
Once you have a solid foundation, Id recommend following up by reading CTCI. Particularly focus on chapters 5 and 6 entitled Behavioral Questions and Technical Questions.
Don’t Miss: What To Do Before An Interview
How Would You Find The Maximum Chain Length Of A Pair
You may find that preparing for the hard skills portion of your programming interview is fairly straightforward. You can find practice tests in books and online that offer you a chance to simulate the technical elements of your programming interview. You can focus your studies on understanding and being able to explain the processes you may use.
Be thorough in your response and use the correct terminology for elements and systems you reference. After you explain your method, write out the code for your solution.
Example:I would use a sorting mechanism to sort within the given parameters for the pair. Then, I would use a LIS process to compare the elements. There are other methods, but I would try this one first. Would you like me to write the code out?
Related: How to Prepare for a Technical Interview
Who This Course Is For:
- College Student, Junior or Senior Software Engineers who want to find a new job in a short amount of time
- 4.9 Instructor Rating
- 1,010 Students
- 1 Course
* Software Engineer in one of the FLAG companies and 7+ years of experience as a programmer.
* 1000+ interview questions experience including coding and system design
* ACM Medalist
* Graduated from top school CS department
Don’t Miss: How To Prepare For A Machine Learning Interview
Coding Bootcamps Vs Interview Prep Programs
Coding bootcamps are specialized programs often geared towards career changers and/or those looking to break into tech. Coding bootcamps educate bootcamp students on all of the programming languages and tools they will need to start working as a developer or software engineer, plus help students gain the software engineer or developer mindset.
Interview prep programs are intended as a last-mile program for someone who already has programming experience and/or a coding bootcamp graduate who may need extra help with interviewing. Interview prep programs are nota replacement for a coding bootcamp!
While many coding bootcamps include career services in their curriculum, some coding bootcamp alumni may want extra career support after bootcamp graduation. Interview prep programs are designed to prepare students for interviews through:
- Mock interviews -1:1 practice interviews with personalized feedback
- Whiteboard practice – Writing out your code and then receiving feedback from a career coach
- Algorithm practice -Rehearsing commonly used algorithms to show you can solve problems
Chap 02 Binary Search And O Algorithms25 Lectures 1hr 42min
- Prior knowledge about Binary SearchPreview10:13
- Code First Position of Target Solution01:04
- Code Last Position of Target Solution01:00
- Binary Search on Index AABB Model09:39
- Code First Bad Version Solution01:10
- Code Find K Closest Elements Solution01:49
- Code Search in a Big Sorted Array Solution01:27
- Code Find Minimum in Rotated Sorted Array Solution00:59
- Code Max Number in Mountain Sequence Solution01:08
- Code Search 2D Matrix Solution01:21
- Code Search 2D Matrix II Solution01:15
- Code Smallest Rectangle Enclosing Black Pixels Solution03:05
- Code Find Peak Element Solution01:23
- Code Search in Rotated Sorted Array Solution01:22
- Code Fast Power/Pow Solution01:43
- Code Minimize Max Distance to Gas Station Solution01:12
Recommended Reading: Why Did You Choose Cyber Security Interview Questions
Algorithms And Data Structures
For this topic, I had to choose a foundational book, and between Robert Sedgewick’s book and CLRS, I decided to read CLRS first. I don’t like Robert Sedgewick’s book on algorithms for two reasons:
NOTE: That is by no means meant to disrespect the author or his work. I’m purely writing from the point of view of someone short on time and out of touch with the basics.
Skiena’s book is more of a supplementary book, since it glosses over a lot of the important algorithms and data structures, but offers a lot of great insight when it comes to the real world applications of these algorithms. I particularly love its graph section, dynamic programming chapter, and its study of heuristic approaches.
So, I decided that I would first read a section thoroughly, then, I would go back to it, reread it, and take notes, and finally, I would sit down and implement the algorithms and data structures I learned in Java. It should be noted that I had first started to implement a bunch of these algorithms back in 2015. So, this time around, instead of implementing them, I would read through my code, annotate them with comments, and read the tests I had written for them to make sure I remembered their implementations.
I created a GitHub repository and started to upload my code there. You can find this repository here:
What Programming Languages Do You Know
Use your response to this question to show that you prepared for the interview and researched what language the company uses. Consider including more than one example of your experiences with different languages in your response, and show your portfolio that includes the languages youve used. You can also explain languages currently popular in the industry if you feel itll set you apart from other candidates.
- Action: Explain how you handled the situation.
- Result: Describe the outcome.
Example 2:When I was at Local Bakery, I was working as a developer using a CMS editor to update the companys website. I used CSS code to customize and code the site for greater efficiency and additional features.
Related: What Is CSS?
Also Check: How To Reject An Applicant After Interview
How To Prepare For Top Mncs
This post was residing in my draft for quite long. I finally got some time out of my busy schedule to refine it.The first question quickly pops up on why am I writing this post at all. There are already tens of hundreds of similar compilations on web that talks about this.
Well, following reasons compelled me to do so:
Please note that this article is purely a reflection of my learnings, what I followed through the years and my experience. This is NOT the only way to improvise on what is needed your coding skills, strengthening DS & Algorithms and boosting problem solving skills. I repeat, this is NOT the only way. There are things I couldnt follow because of time constraints or didnt follow because I was just not aware. Please comment if I missed anything which is worth mentioning here.
The Top 6 Interview Prep Programs
Its important to evaluate interview prep programs to find a quality program that works for you. Many interview prep programs are asynchronous, allowing you to watch videos and perform practice tests in your own time, while other programs may be more structured with live class instruction time. Regardless, a quality interview prep program should include:
- Career skills development
- Variety of techniques
- Industry-specific guidance, including realistic interview questions
- Practice problems, including algorithms
- Access to career materials and/or support after program completion
To find out more about a program, reach out to the programs admissions team who will be able to answer all of your questions about curriculum and coaching.
Length: 5.5 hours Curriculum: Video-based curriculum that covers data structures and algorithms with practice problems, whiteboard, and tech interview strategies. Cost: $49
You May Like: What Are The Best Interview Questions To Ask A Candidate
Which Programming Language Do You Prefer
In your response, you may discuss a language youd prefer for responding to technical questions. Pick one you can explain to someone who may not know it as well as you. If youre familiar with multiple languages, choose a more dynamic language than an older one like HTML.
Example:Although different languages work best with certain projects, I like Python for solving algorithmic problems. I find that its simple to use and offers attractive features. After my experience with it at Global Company, I wanted to develop my Python understanding further, so I designed and developed a software application for a mobile game to practice speaking elements while learning a new language. I feel that I have a strong understanding of Python based on my professional and personal experience.
Related: How To Become a Python Developer
What Concepts Are Emphasized During A Coding Interview
Concepts frequently emphasized include arrays and strings, binary trees, dynamic programming, and linked lists. According to CoderPad, other common interview topics include breadth-first search algorithms, palindrome checker, and sorted lists of numbers. Interviewers may emphasize data structures and algorithms.
Common data structures tested include arrays, linked lists, stacks, and queues. Common algorithms tested include recursion, bubble sort, insertion sort, and binary search.
Of course, the interview topics will also depend on the role you are interviewing for and the skills and tools that will likely be needed for the job.
In addition to assessing your technical skills, the interviewer will also be watching for examples of creative thinking and the ability to receive and apply feedback. They may look for signs that tell them how you may fit in with the team and company culture, and judge your understanding of the role and the company’s work.
Also Check: How To Bring A Resume To An Interview
Frequently Asked Questions About Coding Interviews
The phone screen portion of the coding interview typically lasts up to one hour. The second, more technical part of the interview can take multiple hours.
There are many ways to practice coding and prepare for your coding interview. LeetCode provides practice opportunities in more than 14 languages and more than 1,500 sample problems. Applicants can also practice their coding skills and interview prep with HackerRank.
There are a variety of indicators that your coding interview went well. These may include going over the allotted time, being introduced to additional team members, and receiving a quick response to your thank you email.
How To Apply For Microsoft
I get many messages asking me for a favour to refer them. When I ask them how much comfortable they are with DS and Algos, they say good enough. Then I rephrase my question to how do they feel when they solve interview experiences at GeeksforGeeks. Either they havent heard of GeeksforGeeks or they never read. This is not a surprise. GeeksforGeeks is still growing. But when I ask them a problem on DS by tweaking already existing famous ones, all they say is they havent solved this problem before. Please do NOT do that. Dreaming is good, but it will come true only when you work towards making it a reality.
If you are not able to clear the interviews, you will have wait again for 6-12 months depending on the company policy before you can apply again. Now coming to the point, you can apply for a position at Microsoft either through Careers page or through referral. Referral usually bumps chances of getting an interview call because your resume gets to the system through a person Microsoft trusts to be a good engineer. How do you ask for a referral? Its simple. Forward your resume to someone you know working there. No one will say NO unless your resume is filled with something which doesnt fit company requirements. Rule of thumb is we believe in solving problems and if you are good at it, we would love to see you here. Remember, everyone wants to work with a smart person. And this is usually true for any company, not just for Microsoft.
Don’t Miss: What Do They Ask In Interviews