There are two sorts of interviews, phone/hangout interviews and on-site interviews, according to Google's official career page. An excerpt from their official page is provided below.
For candidates for software engineering positions, we are interested in your coding abilities, technical specialties, knowledge of tools or programming languages, and broad understanding of concepts like data structures and algorithms. We prefer to challenge one other's thinking and discover new perspectives, so there is usually some back and forth in these discussions, just like there is on the job. So be ready to thoroughly discuss your solutions. Find the greatest solution by pushing your own limits—that's probably how you think anyway.
Google Questions from Medium to Hard level are as follows:
Easy Level
- Find all triplets with zero sum
- Generate all binary strings from given pattern
- Count of strings that can be formed using a, b and c under given constraints
- Find largest word in dictionary by deleting some characters of given string
- Find subarray with given sum | Set 1 (Nonnegative Numbers)
- Find the longest substring with k unique characters in a given string
- Find the two non-repeating elements in an array of repeating elements
- Flood fill Algorithm – how to implement fill() in paint?
- Meta Strings (Check if two strings can become same after a swap in one string)
- Print all Jumping Numbers smaller than or equal to a given value
- Sum of all the numbers that are formed from root to leaf paths
- The Celebrity Problem
- Unbounded Knapsack (Repetition of items allowed)
Medium Level
- Backtracking | Set 7 (Sudoku)
- Boggle | Set 2 (Using Trie)
- Check if a Binary Tree contains duplicate subtrees of size 2 or more
- Dynamic Programming | Set 33 (Find if a string is interleaved of two other stri
- Connect nodes at same level
- Count BST nodes that lie in a given range
- Dynamic Programming | Set 11 (Egg Dropping Puzzle)
- Dynamic Programming | Set 28 (Minimum insertions to form a palindrome)
- Dynamic Programming | Set 31 (Optimal Strategy for a Game)
- Dynamic Programming | Set 32 (Word Break Problem)
- Find four elements that sum to a given value | Set 2 ( O(n^2Logn) Solution)
- Given a matrix of ‘O’ and ‘X’, replace ‘O’ with ‘X’ if surrounded by ‘X’
- How to print maximum number of A’s using given four keys
- Inplace rotate square matrix by 90 degrees | Set 1
- Maximum absolute difference between sum of two contiguous sub-arrays
- Merge two BSTs with limited extra space
- Merge Overlapping Intervals
- Modular Exponentiation (Power in Modular Arithmetic)
- Paper Cut into Minimum Number of Squares | Set 2
- Sum of bit differences among all pairs
Hard Level
- Allocate minimum number of pages
- Given an array arr[], find the maximum j – i such that arr[j] > arr[i]
- Given a sorted dictionary of an alien language, find order of characters
- Hungarian Algorithm for Assignment Problem | Set 1 (Introduction)
- Implement LRU Cache
- Length of the longest valid substring
- Median in a stream of integers (running integers)
- Sum of bit differences among all pairs
- Travelling Salesman Problem | Set 1 (Naive and Dynamic Programming)
- Word Break Problem using Backtracking
No comments:
Post a Comment