Ola Placement Papers 2026
Last Updated: March 2026
Ola Placement Papers 2026 - Complete Preparation Guide
📋 Company Overview
Ola (ANI Technologies Pvt. Ltd.) is an Indian multinational ride-sharing company. It was one of the first ride-hailing apps in India and has since expanded to include electric vehicles (Ola Electric), financial services, and cloud kitchens. Ola Electric has become a major player in India's EV revolution.
Key Highlights:
- Founded: December 2010 (as OlaCabs)
- Headquarters: Bangalore, Karnataka, India
- Industry: Transportation / Mobility / Electric Vehicles
- Employees: 10,000+ globally
- Presence: India, Australia, UK, New Zealand
Eligibility Criteria 2026
| Parameter | Requirement |
|---|---|
| Education | B.Tech/B.E (CS, IT, ECE, EEE) |
| Batch | 2024, 2025, 2026 |
| Minimum CGPA | 7.0/10 or 70% |
| Backlogs | No active backlogs |
| Skills | Strong coding, Problem-solving |
Ola CTC for Freshers 2026
| Component | Amount (Approx.) |
|---|---|
| Base Salary | ₹12-18 LPA |
| Joining Bonus | ₹1-2 Lakhs |
| ESOPs | Variable |
| Benefits | Health Insurance, Relocation |
| Total CTC | ₹15-25 LPA |
📝 Exam Pattern
Ola's recruitment process typically consists of 3-4 rounds:
| Round | Duration | Questions | Topics |
|---|---|---|---|
| Online Assessment | 90 mins | 2-3 | Coding Problems |
| Technical Interview 1 | 45-60 mins | - | DSA, Problem Solving |
| Technical Interview 2 | 45-60 mins | - | System Design, Projects |
| HR Interview | 30-45 mins | - | Behavioral, Culture Fit |
Key Points:
- Strong focus on data structures and algorithms
- Problem-solving approach matters more than syntax
- Expect questions on scalability and real-world scenarios
🧮 Aptitude Questions (15 with Solutions)
Question 1: Numbers
What is the sum of all prime numbers between 50 and 70?
Solution: Prime numbers between 50-70: 53, 59, 61, 67 Sum = 53 + 59 + 61 + 67 = 240
Question 2: Percentage
The price of sugar increases by 25%. By what percentage should consumption decrease to maintain the same expenditure?
Solution: Shortcut formula: % decrease = [x/(100+x)] × 100 = [25/125] × 100 = 20%
Question 3: Ratio & Proportion
If A:B = 2:3, B:C = 4:5, and C:D = 6:7, find A:D.
Solution: A:B:C:D = 2×4×6 : 3×4×6 : 3×5×6 : 3×5×7 = 48 : 72 : 90 : 105 = 16 : 24 : 30 : 35
A:D = 16:35
Question 4: Profit & Loss
A shopkeeper buys 30 articles for ₹450. He sells 20 articles at a profit of 20% and the remaining at a loss of 10%. Find overall profit/loss%.
Solution: CP of 30 articles = ₹450 CP per article = ₹15
SP of first 20 = 20 × 15 × 1.2 = ₹360 SP of remaining 10 = 10 × 15 × 0.9 = ₹135 Total SP = ₹495
Profit = 495 - 450 = ₹45 Profit% = (45/450) × 100 = 10%
Question 5: Time & Work
P can complete a work in 15 days, Q in 20 days. They work together for 5 days, then P leaves. How long will Q take to complete the remaining work?
Solution: P's 1 day work = 1/15 Q's 1 day work = 1/20 Together in 5 days = 5 × (1/15 + 1/20) = 5 × (7/60) = 35/60 = 7/12
Remaining work = 1 - 7/12 = 5/12 Q's time to complete = (5/12) ÷ (1/20) = (5/12) × 20 = 25/3 = 8.33 days
Question 6: Speed & Distance
A bus covers a distance in 8 hours at 60 km/h. What speed is needed to cover the same distance in 6 hours?
Solution: Distance = 60 × 8 = 480 km Required speed = 480/6 = 80 km/h
Question 7: Simple Interest
A sum amounts to ₹9800 in 2 years and ₹12005 in 5 years at simple interest. Find the principal.
Solution: SI for 3 years (5-2) = 12005 - 9800 = ₹2205 SI for 1 year = 735 SI for 2 years = 1470
Principal = 9800 - 1470 = ₹8330
Question 8: Probability
Two cards are drawn from a deck without replacement. What is the probability both are kings?
Solution: P(first king) = 4/52 = 1/13 P(second king | first king) = 3/51 = 1/17
P(both kings) = (1/13) × (1/17) = 1/221
Question 9: Series
Find the next term: 1, 4, 10, 19, 31, ?
Solution: Differences: 3, 6, 9, 12 (increasing by 3) Next difference = 15 Next term = 31 + 15 = 46
Question 10: Coding-Decoding
If DELHI is coded as CCIDD, how is MUMBAI coded?
Solution: Pattern: Each letter -1, -2, -3, -4, -5 D→C(-1), E→C(-2), L→I(-3), H→D(-4), I→D(-5)
MUMBAI: M→L(-1), U→S(-2), M→J(-3), B→X(-4), A→V(-5), I→D(-6) = LSJXVD
Question 11: Blood Relations
Pointing to a lady, Arun said, "She is the daughter of my grandfather's only daughter." How is the lady related to Arun?
Solution: Grandfather's only daughter = Arun's mother (if Arun has no aunt) Daughter of Arun's mother = Arun's sister
The lady is Arun's sister
Question 12: Direction Sense
A man walks 10m North, turns right and walks 15m, turns right and walks 10m. How far is he from start and in which direction?
Solution: North 10m, East 15m, South 10m Net: 15m East from start
15m East
Question 13: Logical Reasoning
All cars are vehicles. Some vehicles are red. Which conclusion follows? a) All cars are red b) Some cars are red c) Some red things are vehicles d) None
Question 14: Calendar
What was the day of the week on August 15, 1947?
Solution: 1600 years = 0 odd days 300 years = 1 odd day 46 years = 35 normal + 11 leap = 35 + 22 = 57 = 1 odd day Jan to Aug 15 = 31+28+31+30+31+30+31+15 = 227 days = 3 odd days
Total = 0 + 1 + 1 + 3 = 5 odd days Friday
Question 15: Data Interpretation
Ola ride bookings: Monday=500, Tuesday=600, Wednesday=550, Thursday=700, Friday=800. Find average daily bookings.
Solution: Average = (500 + 600 + 550 + 700 + 800) / 5 = 3150 / 5 = 630 rides
💻 Technical/CS Questions (10 with Solutions)
Question 1: Data Structures
Find the middle element of a linked list in one pass.
class ListNode:
def __init__(self, val=0):
self.val = val
self.next = None
def find_middle(head):
slow = fast = head
while fast and fast.next:
slow = slow.next
fast = fast.next.next
return slow.val
Time Complexity: O(n), Space Complexity: O(1)
Question 2: Algorithms
Implement binary search iteratively.
def binary_search(arr, target):
left, right = 0, len(arr) - 1
while left <= right:
mid = (left + right) // 2
if arr[mid] == target:
return mid
elif arr[mid] < target:
left = mid + 1
else:
right = mid - 1
return -1
Time Complexity: O(log n), Space Complexity: O(1)
Question 3: Operating Systems
Difference between process and thread.
| Feature | Process | Thread |
|---|---|---|
| Memory | Separate address space | Shared address space |
| Creation | Heavyweight | Lightweight |
| Communication | IPC required | Direct sharing |
| Crash impact | Isolated | Affects entire process |
| Resource | More resources | Fewer resources |
Question 4: DBMS
Explain database normalization and its forms.
Benefits: Reduces redundancy, prevents anomalies
Question 5: Networks
Explain HTTP vs HTTPS.
| Feature | HTTP | HTTPS |
|---|---|---|
| Security | Unencrypted | Encrypted (SSL/TLS) |
| Port | 80 | 443 |
| Certificate | Not required | SSL certificate required |
| SEO | No boost | Search engine boost |
| Use case | Testing | Production |
Question 6: OOP
Explain method overloading vs overriding.
# Overloading (simulated in Python)
def greet(name, greeting="Hello"):
print(f"{greeting}, {name}!")
# Overriding
class Parent:
def show(self):
print("Parent")
class Child(Parent):
def show(self): # Override
print("Child")
Question 7: System Design
Design a rate limiter for an API.
import time
from collections import defaultdict
class RateLimiter:
def __init__(self, max_requests, window_seconds):
self.max_requests = max_requests
self.window = window_seconds
self.requests = defaultdict(list)
def is_allowed(self, user_id):
now = time.time()
user_requests = self.requests[user_id]
# Remove old requests
while user_requests and user_requests[0] < now - self.window:
user_requests.pop(0)
if len(user_requests) < self.max_requests:
user_requests.append(now)
return True
return False
Question 8: SQL
Write a query to find duplicate emails in a table.
SELECT email, COUNT(*) as count
FROM users
GROUP BY email
HAVING COUNT(*) > 1;
-- Or to get all duplicate records
SELECT u1.*
FROM users u1
JOIN users u2 ON u1.email = u2.email AND u1.id != u2.id;
Question 9: Algorithms
Find the longest palindromic substring.
def longest_palindrome(s):
if len(s) < 2:
return s
def expand_from_center(left, right):
while left >= 0 and right < len(s) and s[left] == s[right]:
left -= 1
right += 1
return s[left + 1:right]
result = ""
for i in range(len(s)):
# Odd length
odd = expand_from_center(i, i)
# Even length
even = expand_from_center(i, i + 1)
result = max(result, odd, even, key=len)
return result
print(longest_palindrome("babad")) # Output: "bab" or "aba"
Question 10: Java/Python
Difference between ArrayList and LinkedList in Java.
| Feature | ArrayList | LinkedList |
|---|---|---|
| Implementation | Dynamic array | Doubly linked list |
| Access | O(1) random access | O(n) sequential access |
| Insert/Delete | O(n) | O(1) at ends |
| Memory | Less overhead | More overhead (pointers) |
| Use case | Frequent access | Frequent modifications |
📝 Verbal/English Questions (10 with Solutions)
Question 1: Synonyms
Choose the word closest in meaning to "NIMBLE": a) Slow b) Agile c) Heavy d) Clumsy
Explanation: Nimble means quick and light in movement; agile means the same.
Question 2: Antonyms
Opposite of "FRUGAL": a) Economical b) Wasteful c) Careful d) Thrifty
Explanation: Frugal means economical; wasteful means using resources carelessly.
Question 3: Error Spotting
Identify the error: "The number of vehicles on road have increased."
Explanation: "The number" is singular, so use "has increased".
Question 4: Sentence Completion
The electric vehicle market is _______ rapidly in India. a) shrinking b) stagnating c) expanding d) decreasing
Question 5: Para Jumbles
Arrange: (A) has transformed (B) Ola (C) urban transportation (D) in India
Question 6: Reading Comprehension
Passage: "Electric vehicles are gaining popularity due to rising fuel costs and environmental concerns..."
Question: Why are EVs becoming popular? Answer: Rising fuel costs and environmental concerns.
Question 7: Idioms
Meaning of "to burn the midnight oil": a) To waste time b) To work late into the night c) To study briefly d) To start a fire
Question 8: One Word Substitution
A person who travels regularly to work: a) Tourist b) Commuter c) Passenger d) Voyager
Question 9: Active to Passive
Convert: "Ola launched its electric vehicle in 2021."
Question 10: Analogy
Battery : Electric Car :: Fuel : ? a) Station b) Petrol Car c) Engine d) Tank
Explanation: A battery powers an electric car; fuel powers a petrol car.
💻 Coding Questions (5 with Python Solutions)
Question 1: Valid Parentheses
Check if string has valid balanced parentheses.
def is_valid(s):
stack = []
mapping = {')': '(', '}': '{', ']': '['}
for char in s:
if char in mapping:
top = stack.pop() if stack else '#'
if mapping[char] != top:
return False
else:
stack.append(char)
return not stack
# Examples
print(is_valid("()")) # True
print(is_valid("()[]{}")) # True
print(is_valid("(]")) # False
print(is_valid("([)]")) # False
Time Complexity: O(n), Space Complexity: O(n)
Question 2: Maximum Subarray (Kadane's Algorithm)
Find contiguous subarray with maximum sum.
def max_subarray(nums):
if not nums:
return 0
current_sum = max_sum = nums[0]
for num in nums[1:]:
current_sum = max(num, current_sum + num)
max_sum = max(max_sum, current_sum)
return max_sum
# Example
print(max_subarray([-2,1,-3,4,-1,2,1,-5,4])) # Output: 6 (subarray [4,-1,2,1])
Time Complexity: O(n), Space Complexity: O(1)
Question 3: First Missing Positive
Find the smallest missing positive integer.
def first_missing_positive(nums):
n = len(nums)
# Place each number in its correct position
for i in range(n):
while 1 <= nums[i] <= n and nums[nums[i] - 1] != nums[i]:
nums[nums[i] - 1], nums[i] = nums[i], nums[nums[i] - 1]
# Find first position where number doesn't match
for i in range(n):
if nums[i] != i + 1:
return i + 1
return n + 1
# Examples
print(first_missing_positive([1,2,0])) # Output: 3
print(first_missing_positive([3,4,-1,1])) # Output: 2
print(first_missing_positive([7,8,9,11,12])) # Output: 1
Time Complexity: O(n), Space Complexity: O(1)
Question 4: Group Anagrams
Group strings that are anagrams of each other.
from collections import defaultdict
def group_anagrams(strs):
groups = defaultdict(list)
for s in strs:
# Use sorted string as key
key = ''.join(sorted(s))
groups[key].append(s)
return list(groups.values())
# Optimized version using character count
def group_anagrams_optimized(strs):
groups = defaultdict(list)
for s in strs:
count = [0] * 26
for char in s:
count[ord(char) - ord('a')] += 1
key = tuple(count)
groups[key].append(s)
return list(groups.values())
# Example
print(group_anagrams(["eat","tea","tan","ate","nat","bat"]))
# Output: [["eat","tea","ate"],["tan","nat"],["bat"]]
Time Complexity: O(n × k log k) where k is max string length Space Complexity: O(n × k)
Question 5: Top K Frequent Elements
Find k most frequent elements.
from collections import Counter
import heapq
def top_k_frequent(nums, k):
# Count frequencies
count = Counter(nums)
# Use heap to find top k
return heapq.nlargest(k, count.keys(), key=count.get)
# Alternative using bucket sort
def top_k_frequent_bucket(nums, k):
count = Counter(nums)
# Bucket by frequency
freq = [[] for _ in range(len(nums) + 1)]
for num, cnt in count.items():
freq[cnt].append(num)
result = []
for i in range(len(freq) - 1, 0, -1):
for num in freq[i]:
result.append(num)
if len(result) == k:
return result
return result
# Example
print(top_k_frequent([1,1,1,2,2,3], 2)) # Output: [1, 2]
Time Complexity: O(n log k), Space Complexity: O(n)
🎯 Interview Tips
Technical Interview Tips:
-
Core CS Fundamentals: Be strong in data structures, algorithms, OS, DBMS, and networks. Ola focuses heavily on fundamentals.
-
Practice Coding: Solve problems on LeetCode, especially arrays, strings, trees, and graphs.
-
Real-World Application: Think about how your solutions would work in production. Consider edge cases and scalability.
-
Know Ola's Tech Stack: Ola uses Java, Python, Go, and cloud technologies. Familiarity with these helps.
-
EV Domain Knowledge: If interviewing for Ola Electric, basic understanding of electric vehicles and battery technology is a plus.
HR Interview Tips:
-
Company Knowledge: Research Ola's recent initiatives - Ola Electric, Ola Financial Services, Krutrim AI.
-
Why Ola? Prepare a compelling answer about contributing to India's mobility revolution and sustainability through EVs.
❓ Frequently Asked Questions
Q1: What is the difficulty level of Ola coding rounds?
A: Ola's coding rounds are moderate to difficult. Focus on solving medium-level LeetCode problems with optimal solutions.
Q2: Does Ola ask system design questions for freshers?
A: Basic system design concepts may be asked. Focus on understanding scalability, database design, and API design.
Q3: What technologies should I prepare for?
A: Java, Python, SQL, and familiarity with microservices architecture. Knowledge of cloud platforms (AWS/GCP) is a plus.
Q4: How is Ola different from other ride-hailing companies?
A: Ola has diversified into electric vehicles (Ola Electric), financial services, and AI (Krutrim). They focus heavily on the Indian market and sustainability.
Q5: What is the work culture at Ola?
A: Ola has a fast-paced, startup-like culture with high ownership. Employees often get to work on impactful projects with significant responsibilities.
Best of luck with your Ola placement preparation! 🚕⚡