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.
Weeks 9 & 10 System Design Interviews
System design interviews are now an integral part of the software engineering interview process particularly if you are applying for a senior role. These interviews have a significant impact on your hiring level.
Learn distributed systems concepts like Cap Theorem, Consistency, Partitioning, Load-Balancing etc.
Look at the course Grokking Modern System Design for Software Engineers and Managers for more design interview practice.
As part of your System Design Interviews, you are asked to design a web-scale service. Interviewers are interested in evaluating your ability to describe the different parts of a scale-able service, such as:
- How are web-servers load-balanced?
- How are large files stored?
- How is the network set up for redundancy and maximum throughput?
Youll want to practice questions like:
- Design Instagram
- Design Facebook Newsfeed
Check out my article the How to Prepare for the System Design Interview for more example questions, tips, and resources for the System Design Interview.
Stage : The Paid Work Test / Home Assignment
If you pass the coding test, some companies will send you a final check to see how you work. This stage is usually a paid assignment to perform a task that would replicate your day-to-day experience.
Why do this?
Well, its all good having the theoretical knowledge but can you actually do it on a timeframe for a project? Usually, this stage is only implemented by smaller companies.
Don’t Miss: What Questions To Ask Your Interviewer
A Few Days Before The Interview
A HUGE thing that will help you stand out from the crowd, is actually researching the company that youre going to interview with, along with the person who is going to interview you.
What does the company do? What technologies do they work with? What are your interviewers interests / beliefs?
If you don’t know who will be interviewing you, then ask the recruiter.
Because if you know who this person is, you can research them and then use that information to prepare thoughtful, specific questions to ask that demonstrate your curiosity. Maybe you have similar interests and hobbies you can talk about? These things help you stand out on the day!
Also, think through the common questions that theyre going to ask you. Be genuine, but have an answer in your head so you dont go blank when asked.
- “Why do you want to work for X company?“, or
- “What sets you apart you the other 100 candidates?“, etc
If youve already researched the company and the job, and genuinely want to work there, then you should be able to have a custom response in your mind before you even take the interview.
Practice in front of the mirror. Even better, practice in front of a friend .
It may seem like overkill but these are the things that set applicants apart.
Anything that can help them see that youre the best fit will compound your chances of getting hired.
If youre going in person, make sure you have everything ready before you head off. Charger cables, headphones, notebook, etc.
Use Books And Courses
With the links weve provided in this article, youve already got the bulk of the preparation resources you need. But sometimes youre probably going to want to go deeper and really study something inside out. Thats where books and courses can come into their own.
Heres a brief list of some of our favorite books and courses:
For coding, theres obviously Cracking the Coding Interview by Gayle Laakman McDowell, the overwhelmingly popular choice and still as relevant as ever.
We also recommend this video of Gayle going through a problem at Facebook, which is definitely worth a view as you hone your answer method.
For the system design part of your interview, we recommend starting with our guide to system design interview prep. When you want to go deeper, System Design Interview: An Insiders Guide by Alex Xu, has been recommended to us by a lot of candidates.
How Do I Know What Faang Interview Prep Resources To Use
Great question. We put together this must-use list of the top 13 FAANG interview prep materials:
Courses & Coding Platforms:
We think AlgoExpert is one of the best platforms for FAANG interview prep. Designed to help software engineers ace the technical interview, it extensively covers algorithms and data structures with video-based modules.
Onsite Interview Success Rate At Amazon Apple And Google
The onsite interviews conducted at Amazon are called âThe Loop.â The Loop has a series of technical rounds structured in a way to assess the candidateâs knowledge of data structure, system design, and algorithm. And like any other FAANG company, clearing The Loop is a tedious task, and only 3% of people pass the round.
Apple also has a low success rate too. It is around 10%.
The acceptance rate of Google is only 0.2%. The competition in itself is immense additionally, a low acceptance rate makes Google a far-fetched dream for budding software engineers and developers.
Note: These are not exact figures but just representative values based on secondary research.
Also Check: What To Say In Thank You For Interview
Preparing Tips For System Design Interviews:
- Practice for famous problems like Design Instagram, Twitter etc. and make your own solutions.
- Use Interviewhelp – it saves a lot of time.
- Make sure that you can draw and explain your solutions in 40â45 minutes.
Even if you are well prepared for an interview, you still arent immune to committing mistakes. You must know how to show your skills and knowledge in the way interviewers like it.
âFAANGâ companies hire people who do well in their interviews. Assuming that you make it to the interview stage, your interviewers performance will be much more important than any other factor in determining whether you get an offer. If you do well on the interviews, then itâs irrelevant whether you did competitive programming or have side projects. If you donât do well on the interviews, then you wonât get an offer.
To maximize your chances of being selected for an interview, however, it is useful to have impressive competitive programming accomplishments on your resume. Some recruiters will specifically search for candidates with those credentials, since they are much more likely than average to be good at programming interview questions.
When you go into those kinds of competitive coding environments, youâre encouraged to produce something quick and dirty to solve some narrow and highly artificial problems. The FAANG interviews require a lot of practice.
Fake interviews will help you spot your strengths and weaknesses, and will boost your self-confidence.
How Should You Study
I recommend a progressive system of assessment, with a timer and self reflection. Start with a certain type of question . Go ahead and set a 30-minute timer, then work through questions like so:
- Do you understand the question? At the start, it will take a while to even get a grasp of what is being asked. Research and go through notes. It might take you 30 minutes or more to even understand it and thats fine. Next time itll be faster
- Can you answer the question and solve the problem? Brilliant! Even if it took you a few hours. Again, with practice, you’ll get faster
- Can you do it in the time frame? Depending on the question, you usually only have 30-45 minutes to answer and code the solution on the day, while being monitored
- Can you do it faster? Now that youre solving these type of questions within the time limit and understand the concepts of how youre solving it, can you do it faster?
- Rotate it out for now. If you take a break from this particular type of question for a few days, can you still solve it within the time limit when you try it again next week?
As you do through, also try and work through questions that are progressively harder.
Your goal should be to get comfortable and under the time frame for each question that you work on.
Yihua has graciously allowed us to put 3 hours for free on YouTube which you can watch below. He takes you step-by-step through an easy, medium, and hard array question from LeetCode.
Also Check: How To Reject A Candidate After Interview
Common Technical Interview Mistakes To Avoid
Knowing what not to do can be just as important as knowing what to do, so lets quickly cover a few common technical interview mistakes.
1. Not preparing enough
Seriously, theres no such thing as too much coding interview preparation. The good news is, most candidates dont put in that time. So it doesnt take much to really pull ahead of the pack, says Parker . Its such a bummer as an interviewer to watch a candidate really come up short and just think to yourself, I can tell youre smartif you had just reviewed some of this stuff Im sure youd be able to get this.
2. Jumping into the code without taking a moment to think it through
You might be eager to start solving the problem, but take a few minutes to question your assumptions and make a game plan first! Starting too quickly gets a lot of people into trouble when they could have taken a moment to prevent confusion down the road, says Refael . Some of the most common mistakes candidates make are avoidable. Pause for a moment to think through the problem-solving process.
3. Being too arrogant or opinionated
4. Not making conversation/chit-chat
Facebook Onsite Interview Success Rate
Facebook onsite interview is about six hours long with various 45-minute rounds on coding, system designing, product designing, and behavioral interview. Very few candidates are shortlisted from previous levels of interviews, and it’s additionally difficult to get past this round. The percentage of candidates who pass every filter round at is mentioned below:
- Applicants who qualify HR interview: 75%
- Candidates who pass the phone screen interview: 25%
- Candidates who crack the on-site interview: 5%
Also Check: How To Ace Your First Job Interview
Time To Go Crush Your Own Technical Interviews
With these technical interview tips, youre equipped to begin your own technical interview preparation journey!
The next step is taking advantage of all the amazing resources out there that teach you how to ace a technical interview.
First, head to Interview Cake for extra training, strategies, and practice technical interview questions .
Then, acclimate yourself to live interviews by connecting with your peers on Pramp.
Above all, keep seeking out knowledge, improving your trade, and honing those coding interview skills with practice! Getting your dream coding job means getting through the interview. But if you go in prepared, the technical interview will be a piece of cake.
Note: there are affiliate links in this post.
Are You Ready For Your Technical Interview
It was the low-key quiet of the Carnegie Library of Pittsburgh that helped Felix Matathias land a coveted software engineer position at .
Matathias, a Ph.D. in nuclear physics, has worked as a software engineer for several other massive companies including Uber, Bloomberg and PNC. He knows what its like to go through the wringer known as the technical interview.
If you havent yet had your first high-stakes technical interview, its worlds away from a standard job interview. Technical interviews can take anywhere from a few hours to literal months, and include real-time coding and design challenges, as well as behavioral interviews.
As part of Technical.lys Introducedinterview series, Matathias shared advice on how to prep for a technical interview. Consider these four tips:
Also Check: How To Do A Virtual Interview
Don’t Miss: What Are Star Interview Questions
Are There Specific Language Or Framework Interview Questions
No. It’s actually quite rare and is a common misconception among people who have just learned to code and are about to do their first coding interview.
Maybe this comes from a University mindset, where you have to show what you know about a specific tool to pass an exam. This isn’t what happens in most coding interviews.
Sure, the interviewer cares that you know the most important elements of how the language, tools and libraries work , but they won’t ask specific questions about it, and if they do, its extremely rare.
Instead, the interviewer will ask you to solve technical questions and problems using that language, and there may be points where you have to explain any limitations in your solution, perhaps due to limitations in the language or framework you’re using, but that’s it.
If you were working with Solidity for a blockchain project, they may ask about smart contracts and how they work, but I doubt it.
They are more likely to ask you to explain specific decisions you made in your project or ask you what the impact would be if you made certain changes. This will give the interviewer a much better assessment of your level of understanding vs. your ability to just memorize facts / info about a language or tool.
Does that make sense?
How To Get Your Dream Job At A Faang Company
Have you dreamt of locking dream offers from Facebook or Google? A great many software engineers aspire to land attractive jobs at FAANG companies, but only a handful of them manage to beat the highly competitive pool.
If you didnât know this already, Facebook and Google select only about 2% of engineers who apply. The reason for such a low acceptance rate is that FAANG recruiters donât particularly pick developers based on how bright their academic or professional stints have been. They look for seasoned problem solvers who have the ability to solve complex modern-day engineering and technology challenges something they donât quite find in too many candidates. Thatâs precisely why you should polish your problem solving skills to ace the interview rounds at tier-1 companies.
Preparing for FAANG interviews is a coordinated and calibrated process. You canât expect to crack these interviews by being smart alone. Youâll have to ready yourself for the grind and trust the process without getting too caught up or absorbed in the outcome. Putting in the hard work is important, yes. But whatâs equally important is executing the right strategy.
The bottom line – getting your dream job at FAANG is a combination of will, persistence, strategy, and execution.
In this article, weâll look at what exactly you must do to land offers from FAANG companies.
You May Like: How To Study For Google Interview
Prepare For Behavioral Interviews
It isnât hearsay that even polished programmers get rejected at FAANG interviews because of falling short in behavioral rounds.
Practicing questions to behavioral interviews is extremely important as FAANG recruiters have become increasingly inclined towards hiring developers who are level-headed, hard-working and integrous.
Faang Interview Preparation Guide For Software Engineers
Based on my 12+ years of interviewing experience at Bloomberg, NVIDIA and talking with many folks who successfully cracked job interviews in FAANG companies, I’ve prepared this guide that can be helpful to anyone preparing to get a job at big tech companies
The video format of this guide is available here with some more details
You May Like: How To Prepare For Coding Interview In One Month
Schedule Mock Coding Interviews
You should start scheduling for mock coding interviews when you are 60% through your coding interview studying and practicing plan. Interview slots are typically provided by interviewers, so you can view them in advance and book them. The platform I have personally used and recommend is interviewing.io. Read more about different mock coding interview platforms here.
How To Prepare For A Technical Interview
Some elements of coding interview preparation should ideally start well before you even land the interview. Other job interview preparation steps can be accomplished closer to the day itself.
So, here are some of the most important coding interview preparation tips to master in the days, weeks, or months leading up to your job applications and interviews:
1. Prepare a 30-second to 1-minute elevator pitch for the tell me about yourself questionand examples/stories for other interview questions
Its important that you go prepared to talk about non-coding topics like your employment history, career goals, past projects, etc. The technical interview could just be one part of many if youre at a company with a long interview process, and youll probably have to answer some version of this question when you meet new interviewers. Its a great time to demonstrate soft skills and passion.
Its also a good idea to prepare some real-life examples and anecdotes/stories ahead of your interview. Doing this can help you prepare for pretty much any behavioral or situational interview question. This works because if you have some examples/stories ready to go, you can apply them to nearly any interview question which is important because you cant really prepare for every single software developer interview question you might come across.
So, for example:
Other stories/examples to prepare include:
2. Before you go, study up on the most important CS fundamentals
Recommended Reading: What Channel Is The Oprah Interview On