Hiring volume
- Total Hires: 500+ freshers across India offices
- Software Engineer L3: 450+ selections
- Product Manager: 30+ selections
- Data Scientist: 20+ selections
- Growth: 15% increase from 2023
This page collects Google placement papers from 2024 with previous-year questions, solutions, and the 2024 exam pattern. It is useful when you want real drive history: what the OA looked like, which question types repeated, and how solutions were approached. Work through the papers below to build speed and accuracy, then compare against newer 2025 material so your prep matches both established Google patterns and the latest shifts.
| Section | Questions | Time | Difficulty | Focus Areas |
|---|---|---|---|---|
| Coding Problem 1 | 1 | 30 min | Medium | Arrays, strings, two pointers |
| Coding Problem 2 | 1 | 30 min | Hard | Trees, graphs, dynamic programming |
| CS Fundamentals MCQs | 18 | 30 min | Medium | DSA, time complexity, system design basics |
Total: 20 questions, 90 minutes
Key Changes in 2024:
This section contains practice questions styled on Google placement papers 2024 (previous-year pattern), with worked solutions. Use them as timed sectional drills - from student reports drives vary by college and role, so treat this as a high-signal practice bank, not an official paper dump.
Problem Statement: Find the longest common prefix string amongst an array of strings.
Example:
Input: ["flower","flow","flight"]Output: "fl"Solution (Java):
public String longestCommonPrefix(String[] strs) { if (strs.length == 0) return ""; String pref = strs[0]; for (int i = 1; i < strs.length; i++) { while (!strs[i].startsWith(pref)) { pref = pref.substring(0, pref.length() - 1); if (pref.isEmpty()) return ""; } } return pref;}Time Complexity: O(S)
Space Complexity: O(1)
Problem Statement: Given a string of brackets, determine if it is valid.
Example:
Input: "()[]{}"Output: trueSolution (Java):
public boolean isValid(String s) { Deque<Character> st = new ArrayDeque<>(); Map<Character, Character> pair = Map.of(')', '(', ']', '[', '}', '{'); for (char c : s.toCharArray()) { if (pair.containsValue(c)) st.push(c); else if (st.isEmpty() || st.pop() != pair.get(c)) return false; } return st.isEmpty();}Time Complexity: O(n)
Space Complexity: O(n)
Problem Statement: You can climb 1 or 2 steps. How many distinct ways to climb n stairs?
Example:
Input: n = 4Output: 5Solution (Java):
public int climbStairs(int n) { if (n <= 2) return n; int a = 1, b = 2; for (int i = 3; i <= n; i++) { int c = a + b; a = b; b = c; } return b;}Time Complexity: O(n)
Space Complexity: O(1)
Problem Statement: Return the first non-repeating character in a string, or ‘_’ if none.
Example:
Input: "swiss"Output: 'w'Solution (Java):
public char firstUnique(String s) { int[] freq = new int[256]; for (char c : s.toCharArray()) freq[c]++; for (char c : s.toCharArray()) if (freq[c] == 1) return c; return '_';}Time Complexity: O(n)
Space Complexity: O(1)
Problem Statement: Given a string, return it reversed.
Example:
Input: "placement"Output: "tnemecalp"Solution (Java):
public String reverse(String s) { return new StringBuilder(s).reverse().toString();}Time Complexity: O(n)
Space Complexity: O(n)
Problem Statement: Return true if the linked list has a cycle.
Example:
Input: 3→2→0→-4→(back to 2)Output: trueSolution (Java):
public boolean hasCycle(ListNode head) { ListNode slow = head, fast = head; while (fast != null && fast.next != null) { slow = slow.next; fast = fast.next.next; if (slow == fast) return true; } return false;}Time Complexity: O(n)
Space Complexity: O(1)
Problem Statement: Return the level-order traversal of a binary tree.
Example:
Input: [3,9,20,null,null,15,7]Output: [[3],[9,20],[15,7]]Solution (Java):
public List<List<Integer>> levelOrder(TreeNode root) { List<List<Integer>> res = new ArrayList<>(); if (root == null) return res; Queue<TreeNode> q = new ArrayDeque<>(); q.add(root); while (!q.isEmpty()) { int sz = q.size(); List<Integer> level = new ArrayList<>(); for (int i = 0; i < sz; i++) { TreeNode n = q.poll(); level.add(n.val); if (n.left != null) q.add(n.left); if (n.right != null) q.add(n.right); } res.add(level); } return res;}Time Complexity: O(n)
Space Complexity: O(n)
Solution:
TCP is connection-oriented; UDP is connectionless.
Answer: TCP
Solution:
Each step halves the search space → O(log n).
Answer: O(log n)
Solution:
1NF: atomic values. 2NF: no partial dependency. 3NF: no transitive dependency.
Answer: 3NF
Solution:
This is the definition of Encapsulation (often paired with abstraction in interviews).
Answer: Encapsulation
Hiring volume
Salary packages
Process changes
Coding Problems:
System Design:
Based on candidate experiences from 2024 Google interviews:
2024 Interview Process:
Common 2024 Interview Topics:
2024 Interview Questions Examples:
Success Tips:
Difficulty Rating: 3.4-3.5/5 (Most challenging among FAANG)
For detailed interview experiences, visit Google Interview Experience page.
Google 2024 paper 1
Complete 2024 online assessment with coding problems and MCQs
Google 2024 paper 2
Additional 2024 questions with detailed solutions
2024 coding examples
Collection of 2024 coding problems with solutions
Based on 2024 Online Assessment Pattern: