Hiring volume
- Total Hires: 600+ freshers expected
- SDE-1 Selections: 350+ selections expected
- SDE-2 Selections: 180+ selections expected
- Growth: 20% increase from 2024
This page is a working set of Ola placement papers from 2025: from student reports questions, the 2025 online assessment pattern, and step-by-step solutions. Use it to see what Ola actually asked in the latest cycle, how hard the rounds were, and which themes (DSA, system design, aptitude, or role-specific topics) mattered most. Practice the problems below under timed conditions, then cross-check with the interview and preparation guides if you are targeting an upcoming Ola drive.
The 2025 exam pattern remains similar to 2024. For detailed exam pattern, see 2024 Papers.
Note: The pattern may have minor variations. Check the latest updates from the company.
This section contains practice questions styled on Ola placement papers 2025 (recent-cycle 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: Rotate the array to the right by k steps.
Example:
Input: [1,2,3,4,5,6,7], k = 3Output: [5,6,7,1,2,3,4]Solution (Java):
public void rotate(int[] nums, int k) { k %= nums.length; reverse(nums, 0, nums.length - 1); reverse(nums, 0, k - 1); reverse(nums, k, nums.length - 1);}void reverse(int[] a, int l, int r) { while (l < r) { int t = a[l]; a[l++] = a[r]; a[r--] = t; }}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: 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: 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)
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: Merge two sorted linked lists and return a new sorted list.
Example:
Input: 1→2→4 , 1→3→4Output: 1→1→2→3→4→4Solution (Java):
public ListNode mergeTwoLists(ListNode a, ListNode b) { ListNode dummy = new ListNode(0), cur = dummy; while (a != null && b != null) { if (a.val <= b.val) { cur.next = a; a = a.next; } else { cur.next = b; b = b.next; } cur = cur.next; } cur.next = (a != null) ? a : b; return dummy.next;}Time Complexity: O(n + m)
Space Complexity: O(1)
Problem Statement: Find the contiguous subarray with the largest sum.
Example:
Input: [-2, 1, -3, 4, -1, 2, 1, -5, 4]Output: 6 // [4, -1, 2, 1]Solution (Java):
public int maxSubArray(int[] nums) { int best = nums[0], cur = nums[0]; for (int i = 1; i < nums.length; i++) { cur = Math.max(nums[i], cur + nums[i]); best = Math.max(best, cur); } return best;}Time Complexity: O(n)
Space Complexity: O(1)
Solution:
OS uses demand paging (and sometimes segmentation) to implement virtual memory.
Answer: Demand paging
Solution:
1NF: atomic values. 2NF: no partial dependency. 3NF: no transitive dependency.
Answer: 3NF
Solution:
Each step halves the search space → O(log n).
Answer: O(log n)
Solution:
FIFO = First In First Out → Queue. Stack is LIFO.
Answer: Queue
Hiring volume
Salary packages
Process changes
DSA Focus:
New Topics:
Difficulty:
Based on recent candidate experiences from 2025 Ola interviews:
2025 Interview Process:
2025 Interview Trends:
Common 2025 Interview Topics:
2025 Interview Questions Examples:
Success Tips:
Interview Experience Rating: 4.1/5 (based on 321+ experiences) Process Duration: 74% completed in less than 2 weeks
For detailed interview experiences from 2025, visit Ola Interview Experience page.
Ola 2025 paper 1
Latest Ola OA 2025 paper with 3 coding problems and solutions.
Ola 2025 paper 2
Ola OA 2025 paper with DSA problems and system design questions.
2025 System Design examples
System design problems from 2025 Ola interviews.