PlacementPrep

Ola Placement Papers 2026

24 min read
Company Placement Papers
Advertisement Placement

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

ParameterRequirement
EducationB.Tech/B.E (CS, IT, ECE, EEE)
Batch2024, 2025, 2026
Minimum CGPA7.0/10 or 70%
BacklogsNo active backlogs
SkillsStrong coding, Problem-solving

Ola CTC for Freshers 2026

ComponentAmount (Approx.)
Base Salary₹12-18 LPA
Joining Bonus₹1-2 Lakhs
ESOPsVariable
BenefitsHealth Insurance, Relocation
Total CTC₹15-25 LPA

📝 Exam Pattern

Ola's recruitment process typically consists of 3-4 rounds:

RoundDurationQuestionsTopics
Online Assessment90 mins2-3Coding Problems
Technical Interview 145-60 mins-DSA, Problem Solving
Technical Interview 245-60 mins-System Design, Projects
HR Interview30-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.

FeatureProcessThread
MemorySeparate address spaceShared address space
CreationHeavyweightLightweight
CommunicationIPC requiredDirect sharing
Crash impactIsolatedAffects entire process
ResourceMore resourcesFewer resources

Question 4: DBMS

Explain database normalization and its forms.

Benefits: Reduces redundancy, prevents anomalies


Question 5: Networks

Explain HTTP vs HTTPS.

FeatureHTTPHTTPS
SecurityUnencryptedEncrypted (SSL/TLS)
Port80443
CertificateNot requiredSSL certificate required
SEONo boostSearch engine boost
Use caseTestingProduction

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.

FeatureArrayListLinkedList
ImplementationDynamic arrayDoubly linked list
AccessO(1) random accessO(n) sequential access
Insert/DeleteO(n)O(1) at ends
MemoryLess overheadMore overhead (pointers)
Use caseFrequent accessFrequent 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:

  1. Core CS Fundamentals: Be strong in data structures, algorithms, OS, DBMS, and networks. Ola focuses heavily on fundamentals.

  2. Practice Coding: Solve problems on LeetCode, especially arrays, strings, trees, and graphs.

  3. Real-World Application: Think about how your solutions would work in production. Consider edge cases and scalability.

  4. Know Ola's Tech Stack: Ola uses Java, Python, Go, and cloud technologies. Familiarity with these helps.

  5. EV Domain Knowledge: If interviewing for Ola Electric, basic understanding of electric vehicles and battery technology is a plus.

HR Interview Tips:

  1. Company Knowledge: Research Ola's recent initiatives - Ola Electric, Ola Financial Services, Krutrim AI.

  2. 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! 🚕⚡

Advertisement Placement

Share this article: