This action might not be possible to undo. Are you sure you want to continue?

Following post is inspired from Steve Yegge's legendary post on prepping for Google Interviews.

Coding Knowledge C/C++ and Java are the preferred programming languages for Google Interviewers. You must know at least one of them really well. You will be expected to write code in the phone screen interviews and in the onsite interviews as well.

**Recommended books for CS interviews:
**

Introduction To Algorithms - By Cormen Programming Interviews Exposed Cracking the Coding Interviews Algorithms for Interviews

Recommended websites for coding practice: InterviewStreet, Topcoder

Big-O This should be the starting point in preparing for an algorithmic interview. You must not struggle with basic complexity analysis, as it will guarantee not being hired. You should be familiar and understand the O, Θ and Ω notations. I recommend reading section on complexity analysis from Data Structures and Algorithms book.

Sorting You should be able to write algorithms O(n*lgn) like QuickSort and MergeSort with ease. Compare and understand the best, worst and average case complexities. I found this table on wiki to be very handy; it lists important properties of all sorting algorithms. Don’t neglect the basic O(n^2) algorithms like Bubble sort or Insertion sort, since other algorithms improve over these. Interviews are more about improving a basic idea, sorting algorithms will help with this process.

. Thorough knowledge about inorder. They are useful in most of the problems and frequently help us improve the time complexity of some problems by caching results. you should implement them in all basic representations. However. threads and concurrency issues. because we can solve many tree problems by doing simple modifications to one of these traversals. scheduling etc. matrix. Understand what deadlock and livelock are and how to avoid them. Trie. since it is surprisingly very useful in many ordering problems. Graphs Graphs are a very important concept in Computer Science. and adjacency list) and familiarize yourself with their pros & cons. Know about mutexes. basic graph traversal algorithms (DFS and BFS) are a must. You should be able to implement 2-3 dynamic algorithms during a 35-40 minutes time. n-ary trees etc. Operating Systems Learn about processes. think of hash tables. You should be familiar with balanced trees although you are not expected to write code for them in the interview: AVL trees. Learn about context switching. As you’ll check the resources on this blog or on the web. Trees Go through basic tree construction. postorder and preorder traversals is necessary. monitors and how they work. Red-Black trees. You should be able to implement algorithms based on binary search trees. Dynamic Programming This is probably the most important subject as the implementations are small. traversal and manipulation algorithms. You should be able to implement the Dijkstra or Floyd-Warshall algorithms as well as minimum spanning tree algorithms (Kruskal and Prim).Hash Tables When in doubt. semaphores. There is not much time during the interview so you should not expect something very complex. you’ll find that you should expect at least one dynamic programming question per interview. Learn about topological sorting. Practice the three basic representation of graphs (objects and pointers.

Google File System Google Bigtable Google MapReduce . Google's publications Read up Google's path-breaking publications listed below if you have time.Mathematics You should familiarize yourself with counting. combinatorics and probability.

- Intellectual Property Rights
- Chord implementation using RMI
- Chord implementation using RMI
- BTP Thesis
- Networking notes B.Tech
- Flipkart Interview Guide
- 3rd Semester 2013
- Sample Resume
- Algorithm Notes NSIT
- Lab Notes Microwave Engineering
- First step to wealth book by Dani Johnson
- OS-Lab Manual Nisha
- NSIT,DELHI REQUEST FOR PROPOSAL
- Advanced programming lab IT-320 NSIT
- Beej's Guide to Network Programming
- Job Description for Internship at CFBI
- ACM ICPC Amritapuri 2014
- Networking Lab
- Microprocessor File
- OS-Lab Manual Nisha
- Errata in Algorithm & Data Structure in C by narsimha Karaunmuchi
- Handa Ka Funda - Math Formulas 5.0
- SQL Tutorial
- Java Quick Guide
- MAQ Software_Job Description_Software Intern (Summer Interns

Sign up to vote on this title

UsefulNot usefulIt tells you about how should one prepare to get a job in google.

It tells you about how should one prepare to get a job in google.

- 2. Algorithms 1.ppt
- Analysis of Simple Algorithm
- Problem Set 1 GettingStarted
- Ada Theory
- C Programs With Index
- Ds Questions
- A.O.A
- 11.Sorting
- Quick Sort algorithm in Haskell
- CS6202-P&DS
- CSC301 GROUP.doc
- Formating Datastructure
- Lecture2013.04.25
- ssc syllabus for comp sc.
- Partition Sort Revisited
- The Influence of Peer-To-Peer Epistemologies on Electrical Engineering
- Shell Script Algorithms
- Algorithm Toreisia Johnson
- Introduction to Algorithms
- data structure
- 11 Sorting
- Naxalbari - communism - maoism
- Data Structures
- Mit Exercise paper 1
- rr210301-data-structures-through-c
- scimakelatex.29769.cvdgb
- Chapter1 Problem Solving Techniques
- EESD_zhang2002_1
- algorithm Analysis
- DNS Fields
- How Does One Gets Job at Google

Are you sure?

This action might not be possible to undo. Are you sure you want to continue?

We've moved you to where you read on your other device.

Get the full title to continue

Get the full title to continue reading from where you left off, or restart the preview.