, Network flow and some other miscellaneous topics in algorithms. You should have a good understanding of each of the topics above in bold study the chapter in a few days, and do the 50 or so problems in the end. Because there are only a manageable number of problems in each chapter, you can solve most problems in a reasonable amount of time. Depending on availability of time, you may want to solve only a fraction of the problems, by yourself or with little help.
My answer might not be perfect. But I think you will do well if you plan your preparation this way.
Start with the sourcecheck outfor info on how Google hires. Then watchthis videofrom Google about what interviewers look for in the interview, and finally check outan example interviewfeaturing real Google engineers.
Now that you know how prepared you need to be, figure out where you are right now. UseCTCIfor this. Take a couple of questions from each section and solve them using thesix steps I mentioned earlier. Keep track of how long it takes you to reach an optimal solution for each problem you solve.
Some info about myself, I was selected for the Google on-site interviews after clearing Google APAC during my final year of undergrad (September, 2016). The time between the onsite invitation and interview was aroundthree weeks. This was followed by three weeks of concentrated effort to prepare myself for D-Day.
Interviewers expect you to code every question they ask you about and I think this code is also submitted when your interviews are to be rated.
6) Relax and get some good sleep (day 30)
, attended interviews with Google, FB, Amazon, Yelp, Yahoo, Quora, and many more
Be nice to the recruiter, not in a boot-licking way, but just be nice and courteous. Reply to mails on time. Be jovial, as they see loads of Google fanatics daily.
These are the most important things IMO. I made a mistake by not practicing a lot. Try to finish steps 1,2 in 1.5 weeks max. Spend at least a week on solving problems unknown to you on paper or notepad (without code complete). 1/2 days on whiteboard coding.
Start out with a brute force solution. Always. Once you have it penned down, you will be able to find things which can be done faster. I believe optimization is more structured when done incrementally. This also gives the interviewer a chance to see your logic. Finally, DO NOT forget the f**kin HashMap, cuz its just awesome. An example of incremental optimization would be: doing a brute force n^2 search – n log n sort, followed by binary search – HashMap,
fairly good. Again, there are chapters on each important topic (albeit more fine-grained than the above book). For each chapter, there are a set of about 10 problems. I usually skip the easier ones and only pick the 1 or 2 most challenging problems from the set. Depending on your level, you may want to do the same, or try all problems.
How do I prepare for an interview with Google?
What should I do to prepare for a software engineer interview at Google in 10 days?
For each problem you solve, write code from scratch
Had multiple side projects. Ive always tried to explore and learn about new fields; mostly by working on challenging projects. If required, you can refer to my answer on
Once you have a solid foundation, Id recommend following up by readingCTCI. Particularly focus on chapters 5 and 6 entitledBehavioral QuestionsandTechnical Questions.
Heres athreeweek plan I had drafted when I was appearing for my interviews. It helped me secure an offer from Google. Hope it would be helpful to you too.
Is this answer still relevant and up to date?
Coderust 2.0: Faster Coding Interview Preparation using Interactive Visualizations
Software Engineering Intern at Google (2018-present)
How can I get a job at Facebook or Google in 6 months? I need a concise work-plan to build a good enough skill set. Should I join some other s…
: Again, Cracking the Coding Interview has some good problems in this area. Practice them.
The feedback you provide will help us show you more relevant content in the future.
By now, you should have a pretty good handle on the skills you need to succeed on interview question. Starting with CTCI, tackle every single programming problem you can, again usingthe six steps. Devote about half your study time to this while you spend the other half reviewing items from your study list.
Congratulations! Youve worked really hard. Theres nothing else you can do. Relax and get into your good place. Youve made it this far. That means you either really enjoy coding or that you will stop at nothing to get that job at Google. I think you will genuinely enjoy your interview experience. Make sure to have fun! I look forward to seeing you in the meeting room.
Revise Data structures and Algorithms:
notation and make sure you can deduce the time complexity of any algorithm (at least the ones you write)
How do I prepare for a Google Interview in a UX role?
Memorizing graph traversal algorithms (BFS, DFS, and a shortest path algorithm like Dijkstras)
What should I expect in a Software Engineer interview at Google and how should I prepare?
5) Tackle as many programming questions as you can (days 1630)
This was going to be myfirst(proper) interview in a tech company, so was nervous due to the lack of time for preparation. I converged on the following plan for the next three weeks. Note that this plan should be valid even when the time-frame is larger i.e. months.
How should I prepare for my Google interview for an Android engineer role in 1 year?
This is really important. You will realize this when you actually write code. The amount of space wasted in auxiliary data structures, and random arrays and hashmaps for various purposes is phenomenal.
in the language of your choice. During implementation, try to write code without external reference for things like getting console input, file operations and so on. If you do refer, make sure you dont have to look again.
: At this stage, you will want to look at online resources, like
How should I prepare for Googles SRE software engineer onsite interview with 3 weeks left?
There are two pieces that you can work on for emotional readiness:
How do I prepare for a Google interview if I have 10-12 months left?
Implement different versions each optimized for time or space complexity as you will be given problems in which input takes a lot of space and need a lot of time to parse. So you need to think in 2 dimensions (time and memory footprint.
Review principles of basic discrete mathematics and statistics
Go through standard algorithms which you learn in school e.g. different sorting algorithms, graph traversals, MST, shortest path, etc.
(In fact, stop using IDE as far as possible in your daily work. That will be a good practice for learning the language you are working on.) At the time of writing the code, think about the readability, modularity and efficiency of your code. Finally, read the provided solutions.
How do I prepare for a Google internship interview?
If youre doing well, youll probably start to run out of questions in the book. You can find tons more of real samples online from sites likeCareerCuporInterview Cake. Or, just use your favorite search engine. I know apretty good oneyou can use ;).
Stay calm, stay focused. Do not waste time.
Practice solving questions loudly:
Practice interview questions. Pick up a book like Cracking the coding interview or Programming Challenges by Skiena and solve a considerable number of problems both on PC with IDE as well as on paper/ whiteboard.
Apart from this I think solving some problems on many of the coding interview sites like top-coder and spoj, project euler might hone your coding skills.
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 waywhen I failed at my first attempt after emphasizing brain teasers over studying algorithms and data structures.
Now copy what youve written to your favorite IDE and compile. Take note of any compilation errors so that you can avoid them when you repeat the exercise again. You can and should also create unit tests to verify the correctness of your code.
In my case, I skimmed through the lecture slides of the Algorithms course taught in our college. I mainly focused on the following,
, Computer Science Undergraduate, IIT Kanpur
are popular choices among candidates) which youll be using to code solutions during your interviews. Brush up the basics of the language and look at the
How do I prepare for a Java MTS 1 and/or senior software engineer role on-site PayPal interview?
Practice a few times with another person, both with someone technicalandsomeone non-technical. Ask them if:
Relax. Read a good book, if that helps you. Watch a movie. Listen to music. Hangout with comfortable family or friends.
Used to compete in competitive programming contests till the end of my second year (Although strictly as a hobby; would rate myself as above-noob). This helped me develop a knack for swiftly thinking and coding up solutions.
This would really get you into the comfort zone of the language that you, till date, thought you were an expert at.
I had my interview scheduled exactly one month after I was informed. I went about reviewing my various algorithms. Used the famous CLRS book. Knowing the algorithm is one thing, coding it is another. Make sure u can write a program for every algorithm.
How do I prepare for a Google interview if I have 10-12 months left?
How do I prepare for software interviews?
I am an experienced software engineer. How do I prepare for Google interview?
: For this step, pick a language when you begin, and practice using that language only. I find
How do I prepare for a Java MTS 1 and/or senior software engineer role on-site PayPal interview?
present at the awesome hotel Google has booked for you!
How should I prepare for my Amazon SDE interview in 2 months?
We enter the final week which is mainly for consolidation of what weve learnt till now. If needed you can alsoextendthe problem practicing phase partially into this week (Extra practice never hurts anyone!).
HiredInTechs Training Camp for Coding Interviews
. For some reason, this book is not as popular as the other algorithms books out there, but it is very well-organized. The entire set of algorithms is neatly divided into a few chapters
Memorizing two good sorting algorithms and
Do this for every section. When done, you can prioritize the sections that you didnt do so well on up front in your practice regimen and leave the other sections for later. You should repeat this exercise just before your interview so that you know your weak spots going into the day of the interview.
1) Learn as much as you can about the Google interview process (days 12)
Ask probing questions about which team and what technologies the interviewer is working for/on. This gives them a chance to talk and feel good about themselves.
How should I prepare for an interview?
This week is mainly about kicking off your preparations and getting into the groove. We focus mainly on the essentials right now.
If you panic or get intimidated by the sheer awesomeness of the work they do or the rockstar computer scientists they have on-board, you will most certainly not make it.
Grokking the System Design Interview
How should I prepare for an interview?
Coding Interview Preparation Bootcamp, Large Scale Systems Design Interview Preparation Bootcamp
Technically, if you are not prepared now, there is nothing substantial you can do in a month to change that. It takes years of training and experience to prepare one to be a competent software engineer and a week more or less can not make a meaningful difference.
The interviews are a very fun process and thinking things in different ways should get you to the solution
I have 24 hours left before my onsite interview at Google for Software Engineer role. What can I do best to prepare for it?
Pick a two or three items from your list and commit about two or three hours each day working on these things (e.g. 1 hr before work, lunch break, 1 hr after work). As you memorize things, test yourself by writing out an algorithm or data structure on paper or on a whiteboard. Write down the worst case Big-O time and space complexities for the algorithm when youre done. Always check your work, always!
With the exception that we change Apple to Google and one week to one month.
Revise the working and use of popular data structures like linked list, trees (binary, treap, (red black, avl : optional)), priority queues, heap (min, max heaps), stack, hashtable
Still have a question? Ask your own!
Read about other candidates interview experiences and familiarize yourself with the interview process. A few resources include:
The feedback you provide will help us show you more relevant content in the future.
– Free coding interview with senior engineers
How do I prepare for an on-site interview at Google for a software engineer tools and infrastructure role?
GeeksforGeeks A computer science portal for geeks
What should I expect in a Software Engineer interview at Google and how should I prepare?
This is all covered inCTCIand your favorite algorithms book.Note:the point of the memorization is understanding! You will probably never be asked to write out an algorithm verbatim. Rather, youll be expected to know each well enough that you can use them creatively to solve a problem youve never seen.
Getting your basics right seems like something one should get done. Make sure you understand all your concepts ground up, as the interviewers do ask a few questions to see if you know your basics.
Your mind and your body are connected, in case you had not noticed. Take care of your body and it will help your mind. Get plenty of sleep. Eat and drink regularly and in moderation … eat things you like (comfort food) but not to excess. Dont eat things that disagree with you or drink to excess. Get yourself into a regular rhythm on a daily basis between now and the interview. Take some long walks or other moderate exercise that fits your current level of physical fitness and activity.
Here are a few useful links referred in the answers:
The feedback you provide will help us show you more relevant content in the future.
For example, try to implement in-place versions of the various sorting algorithms you studied.
How can I get a job at Facebook or Google in 6 months? I need a concise work-plan to build a good enough skill set. Should I join some other s…
Start solving problems on sites containing interview question banks. They compile problems using inputs from other candidates which make them a very popular location for practicing interview specific problems. Examples of such resources are,
Step 2 : Data structures and Programming
Using the data you acquired from the previous step, make a prioritized list of things you need to study. This list should include:
You should have done enough by now, just relax and let things flow on their own now.
Had prior exposure to Algorithms through my college courses
Practice bit manipulation exercises (working with bit maps, bit shifting)
This is almost the same question as the one for which I wrote this answer:Marc Donners answer to How should I prepare for the phone interview with Apple for a software engineering internship next week?
Learn the implementation differences in these as you have to write real code, not pseudo code during the interview.
Pack your bags, board a flight and check in to your lovely hotel (All
Cannot stress the importance of a mock interview before the real thing.
thing of the whole trip. Enjoy the awesome
Emotional readiness is another story. Self-confidence is really a key to interview performance. That does not mean arrogance, it means the ability to maintain ones composure in the moment. Avoiding stress and panic is the key here.
How should I prepare for Googles SRE software engineer onsite interview with 3 weeks left?
Algorithm Design: Kleinberg / Tardos
By now, we should be fairly comfortable with algorithmic problems. We now focus on another class of problems:
You would typically be interviewed on algorithms / data structures (and analytical skills), programming and system design. Heres an overview of how you can get better at these skills:
) and theyve been gaining traction quickly.
Things start getting serious starting from this week. By now, we should have finished building up our foundations.
Review basic software engineering skills and techniques. Interviews are generally about demonstrating your command of basic knowledge, so take some time and review some of your textbooks. Dont go wild here, go through the table of contents and read the section headings reflectively. Perhaps review some of the material that you might be rusty on – algorithm analysis, say, or data structures, or OO design. Whatever strikes your fancy. The main point here is to refresh your memory for all of the funny vocabulary and techniques that you may not have used explicitly in the last year or two. Read some of your old code, if its easily available. Think about some of your past projects, the ones you loved and the ones you hated. Think about the reasons for success and failure and the lessons you learned from the projects.
Once you have done this a few times, time yourself. Simply because you cant take forever. My last interview was a screw up because I just took too long, and I didnt articulate my ideas clearly.
to be the best as far as interviews are concerned Object-oriented which helps write modular code more easily, has type-checking making reasoning about correctness of code easier (unlike Python), and has good libraries for data structures and for handling strings (unlike C++). I found
, Interned at Google in summer 2016
It is equally important to not panic. It might help if you purposefully try to think that you are better than Google standards.
Greedy Algorithms, Dynamic Programming, Divide and Conquer, etc
Force yourself to solve it to the end irrespective of how lame your answer is.
Know the collections and math APIs for your given programming language
What is the best way to prepare for Google interview in 3 months?
How do I prepare for a Google and Facebook interview in 2 months if I have been working as an SDE for 2 years?
to make a good profile for a tech company.
How should I prepare for my Google interview for an Android engineer role in 1 year?
Practice solving problems on whiteboard and try to speak out your logic as you arrive at the solution. You have to have sound explanations for choosing a particular algorithm or a data structure.
By the time you finally read my short article about thesix things you absolutely need to doduring the actual interview, you should have a good grasp of what a well prepared candidate looks like.
promoted by Jobefore℠ International
Also sometimes the simplest of solutions are starting point. I find that for solving many problems starting with a brute force approach and bettering involves a good thinking process which helps you understand a lot of things.
Graph Theory, Greedy Algorithms, Divide and Conquer, Dynamic Programming
Assume things will go bad. This way, the only emotion you can ever experience during the interview is excitement from having figured out how to solve the problem.
Had just participated in Google APAC and had a decent rank. Also given my prior competitive coding experience, I managed to code pretty comfortably.
How do I prepare for an interview with Google?
Practice speaking your thoughts while tackling problems as this is what we need to do during the interviews. Convince a friend to review your performance (A piece of chocolate should do the trick).
I very recently answered a similar question Prasoon Goyals answer to How do I increase my coding skills within 3 to 5 months?. Heres the answer tailored for the shorter time span:
Related QuestionsMore Answers Below
This question has been answered countless times by recruiters, employees and candidates in full capacity. But I will summarize it for you based on what I did and my mistakes.
Object-Oriented Programming terminology (abstraction, inheritance, cohesion, coupling)
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, isambitiouslydefined 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.
What is the best way to prepare for Google interview in 3 months?
There are two parts to the answer to this question.
Then, based on your self-analysis, you may want to go back to one or more of these steps, and continue to work on particular skills.
Learn the equivalent of these theoretical data structures in the language of your choice. e.g. in Java you have HashMap, LinkedHashMap, TreeSet, HashSet, etc.
How do I prepare for an interview at a hotel?
Programming Interview Questions CareerCup
I have 24 hours left before my onsite interview at Google for Software Engineer role. What can I do best to prepare for it?
Take a rest and enjoy a few non-distracting activities (Going out for a walk, travelling around the new city).
Memorizing how to implement basic data structures such as hashmap, linked list, stack, queue, and trees (n-ary, trie, heap) and
. I personally love these problems, as I think they help make a much better judgement of the candidate. As the name suggests, these problems involve designing systems. There are many resources you can refer to,
How do I apply for an interview in Google?
Recursion, backtracking, and memoization
If and only if youve solved the problem yourself, take a look at the accompanying solution to assess how you did. Did you reach the optimal solution or at least progress beyond the naive/brute force answer? How long did it take you? Was your code written in the fewest lines possible?
4) Practice algorithms and data structures daily (days 630)
Break into Google: Recruiters guide how to pass all interview stages from the first shot
Keep doing this until you can transcribe and compile your code without logical or syntactical errors.
How should I prepare for my Google interview if I have 1 month left and Im applying for a software engineer role?
former Software Intern at Google (2017)
have a system design round in my set of interviews (Google trolled me) but Ive faced such questions while interviewing for other companies (such as
Google seems to ask each candidate to pick a language you are good at. Make sure you pick one you know. That means if you pick Java you better know about Generics,Iterators, inheritance etc. The interviewers are selected based on the language of choice.