ION Group Previous Year Coding Questions and Hiring Process
ION Group builds trading, treasury, and enterprise software, and hires freshers in India for Software Engineer, Graduate Software Developer, and Technical Analyst roles across Pune, Noida, and Bengaluru. Its codebase leans heavily on C++, and its hiring process is unusually elaborate for a fresher drive, often running five to six rounds and finishing with a group round led by a Country Head and a short call with a Global Head or CXO, sometimes branded as ION Day.
If you are preparing for ION Group, understanding the online assessment, the puzzle heavy technical interviews, and the business case study round will help you prepare efficiently. This guide covers the complete ION Group hiring process along with previous year coding questions asked in its online assessments and interviews.
ION Group Hiring Process
Here is the typical flow for ION Group fresher hiring through campus drives. Some drives compress this to three rounds, but most first hand accounts describe the fuller process below.
| Stage | What Happens | What They Are Looking For |
|---|---|---|
| A test on HackerRank in most drives, around 90 to 120 minutes, combining MCQs on aptitude and CS fundamentals with two coding problems, easy to medium hard depending on the year. | Breadth across fundamentals and working code. |
| One or two rounds covering DSA, OOP, sometimes DBMS or operating systems, and a good number of logic puzzles, alongside your resume and projects. | Problem solving under pressure, not just memorised answers. |
| A business scenario, such as optimising a delivery process or expanding a startup into a new city, discussed and structured out loud rather than coded. | Structured business thinking, not technical skill. |
| A mix of hiring strategy style scenarios and motivation questions about why you want to join ION. | Judgement and genuine motivation. |
| An informal group round with several other candidates together, covering introductions, location preference, and open ended questions. | Communication and comfort in a group setting. |
| A short, informal closing call, sometimes with a quick DSA sanity check question, and a final culture fit conversation. | Overall fit and final confirmation. |
Not every candidate goes through all six stages in every drive, but treat the full process as the realistic expectation rather than assuming it ends after the technical interview.
Assessment Pattern
Format: Most commonly a HackerRank based online test, though some Technical Analyst drives use AMCAT instead, with fixed section order and no skipping allowed.
Sections typically included:
- Aptitude and Reasoning: Quantitative and logical reasoning.
- Technical MCQs: DBMS, computer architecture, and operating systems fundamentals.
- Coding Round: Two problems, easy to medium hard difficulty.
ION Group Coding Round: What to Expect
The coding round at ION mixes standard DSA problems with a preference for C++ specific depth in the technical interview that follows. Frequently reported topics include:
- Linked list problems, including detecting and removing a loop
- Graph problems solved using Dijkstra's algorithm or component counting
- Array problems such as finding the third smallest element or maximum subarray sum
- Dynamic programming problems, sometimes only partially solvable within the time limit
- Trie based design problems, such as building a phone directory
For hands on practice, use:
Technical Interview Focus Areas
Real questions reported by candidates in the technical interview rounds:
- What is a dynamic array, and how is it different from a static array.
- Write code to allocate memory on the heap.
- What do you understand by the STL, with deeper follow-up questions.
- Explain tries, maps, and hashing concepts.
- Implement a vector class, and describe your approach for finding the third largest number in an array.
- Explain lambda functions and smart pointers in C++.
- Between arrays and linked lists, which has faster insertion and which has faster searching.
- Explain the four pillars of object oriented programming with real life examples, then design a calculator supporting addition and subtraction that can be extended without modifying existing code.
- Design a class diagram for a traffic management system.
- Explain paging in memory management, its drawbacks, and how they are mitigated.
- Explain inheritance in Java and how it differs from abstract classes.
- Design a rough database schema for a physical library, then write SQL queries against it.
- Explain subnetting, SQL subqueries, and normalization.
- Basic AWS questions such as what EC2 is, what AWS security groups are, and how you would clear cache memory in AWS.
- Implement operator overloading, for example overloading the plus operator to concatenate two objects.
- Explain the order in which constructors and destructors are called in multi-level inheritance.
- What are friend functions in C++, and what are static variables and static methods used for.
- What is the difference between using == and the equals method to compare strings in Java.
- Explain Java exceptions, call by value versus call by reference, and what the string constant pool is.
- What are the key differences between Java and C++, and explain virtual functions and destructors in C++.
- Find the second largest element in an array, and check whether two strings are anagrams of each other.
- Explain the difference between super, primary, candidate, and foreign keys.
- Difference between DDL, DML, and DCL commands in SQL, and the difference between SQL and PL/SQL.
- What is denormalization, and what is the difference between DELETE and TRUNCATE.
- Draw an ER diagram for a company, and explain the ACID properties and the degree of a relation.
- What is the difference between the WHERE and HAVING clauses in SQL.
- Compare MySQL and MongoDB, and if your project used MongoDB, be ready to justify why over SQL and how you structured your schema.
- Explain the difference between a process and a thread, what thrashing is and how to handle it, and what a kernel is.
- Explain caching mechanisms, deadlocks, and the difference between paging and segmentation.
- Explain the layers of the OSI model, what a VPN is, and what IP spoofing means.
- Compare fibre optic and other transmission media, compare Bluetooth and WiFi, and explain what firewalls do.
- Explain the TCP model, virtual memory, and the difference between the JRE and the JVM.
Puzzle Round: What to Expect
ION interviews are unusually puzzle heavy compared to most companies, and these puzzles reappear across many different cohorts. Commonly reported puzzles include:
- The camel and the bananas puzzle.
- Finding the one box of mislabeled or different weight items among several boxes using a weighing scale.
- The classic 12 balls weight puzzle.
- Marbles or candies distributed across jars, where you must guarantee a certain split or identify a mislabeled jar.
- A mouse on a cube finding the minimum distance to the diagonally opposite corner.
- Three bulbs and three switches, where you can flip switches but only enter the room once.
- Variations of river crossing puzzles, such as three people needing to cross with constraints on who can be left together.
- Measuring exactly 45 minutes using two identical wires, where each wire burns unevenly but takes exactly 60 minutes to burn completely end to end.
- A bag of coins puzzle where you must identify a counterfeit or different coin using limited weighings.
- A puzzle involving the ages of someone's daughters, solved through logical deduction from a series of clues.
- Paying an employee daily using cuts from a 7 unit gold rod, with a follow-up extending the same idea to an 8 day payment schedule.
Practicing a set of classic logic puzzles in advance is a genuinely useful investment for ION specifically, since the same handful of puzzle families come up repeatedly.
Case Study Round: What to Expect
Unlike most technical interviews, ION includes a genuine business case study round where you reason through a scenario out loud rather than write code. Reported scenarios include:
- How would you optimise the last leg of delivery for a company like Amazon.
- Which city should a cab service startup expand into next, given a set of city statistics.
- A retail chain with several outlets is losing ground to digital first competitors, what would your strategy be.
- How should a hotel chain recover revenue after a major disruption like COVID, broken down by customer segment.
- How would you help a large retail chain increase profit during a difficult period.
- Given cost and revenue data for a company like IKEA, propose how it could increase profit.
- Given the numbers, is a proposed campus cafe business viable, and what marketing strategy and growth forecast would you suggest.
- A consumer goods company is dealing with overstocking, what steps would you take and what data would you need first.
- Assess how two companies merging would affect their combined business strategy.
- A children's clothing brand with several physical outlets is losing customers to digital first startups, perform a SWOT analysis and suggest a strategy.
Structure your answer clearly, state your assumptions, and walk through trade-offs rather than jumping straight to a single answer.
HR Interview Tips
The HR and managerial rounds check judgement and motivation as much as communication. Common questions include:
- If you were leading a design team and received 50,000 applications for 25 roles, how would you approach hiring.
- Explain machine learning to a police officer, or explain AI to a young child.
- What is success according to you.
- What motivates you and what demotivates you, and what new technologies are you currently exploring.
- What qualities do you want in a manager, and how do you define work life balance.
- Why did you choose C++ specifically.
- Do you know the Agile model, and can you explain other SDLC models like Waterfall.
- Describe a time you led or made a decision within a team.
- If you have a strong coding background, be ready to explain why you are interested in a non coding role like Technical Analyst.
- Explain the concept of the internet to a 6 year old.
- Imagine you are a college admission counsellor, how would you advise a high school student choosing a stream or college.
- You may be shown an image or short story illustrating a mismatch between what was requested and what was delivered, interpret it and suggest process improvements.
- You may be shown images related to the software development lifecycle and asked to explain models like Waterfall, Agile, and Iterative based on them.
- An open ended creative prompt such as being asked to design a car for a specific person, explain your reasoning.
- Have you travelled outside India, and where would you like to go next.
Complete HR Interview Questions
Resources to Prepare for ION Group
- Free Aptitude Mock Practice latest patterns and mock tests
- ATS Score Checker and Resume Optimizer
- Roadmaps
- Interview Questions
- Resume Templates
- Free Placement Materials (Google Drive)
- Interview Experience
ION Group Previous Year Coding Questions
Below is a list of ION Group previous year coding questions commonly reported by candidates in the online assessment and technical interview. Each question includes a problem statement, input and output format, and a sample explanation.
1. Detect a Loop in a Linked List
Problem Statement: Given the head of a linked list, determine whether it contains a loop.
Input Format:
- A linked list
head
Output Format:
"Loop Found"or"No Loop"
Example:
Input: 1 -> 2 -> 3 -> back to 2
Output: Loop Found
2. Sort an Array and Separate Even and Odd Numbers
Problem Statement: Given an array of integers, rearrange it so all even numbers come before all odd numbers, with each group sorted internally.
Input Format:
- An integer array
arr
Output Format:
- The rearranged array
Example:
Input: [5, 2, 9, 4, 1, 8]
Output: [2, 4, 8, 1, 5, 9]
3. Design a Phone Directory
Problem Statement: Design a data structure that stores contact names efficiently and supports fast prefix based search, so typing the first few letters of a name returns all matching contacts.
Input Format:
- A list of contact names to insert, followed by search prefixes
Output Format:
- All contact names matching each search prefix
Example:
Input: insert("Amit"), insert("Aman"), insert("Bob"), search("Am")
Output: ["Amit", "Aman"]
4. Find the Third Smallest Element in an Array
Problem Statement: Given an array of integers, find the third smallest distinct element.
Input Format:
- An integer array
arr
Output Format:
- The third smallest distinct element
Example:
Input: [5, 1, 4, 1, 3, 2]
Output: 3
5. Count Frequency of Each Character in a String
Problem Statement: Given a string, count how many times each character appears in it.
Input Format:
- A string
s
Output Format:
- Each distinct character with its frequency
Example:
Input: banana
Output: b: 1, a: 3, n: 2
6. Maximum Subarray Sum
Problem Statement: Given an array of integers, find the contiguous subarray with the largest sum, and state the time complexity of your approach.
Input Format:
- An integer array
arr
Output Format:
- The maximum subarray sum
Example:
Input: [-2, 1, -3, 4, -1, 2, 1, -5, 4]
Output: 6
7. Binary Search
Problem Statement: Given a sorted array and a target value, find the index of the target using binary search, or return -1 if it is not present.
Input Format:
- A sorted integer array
arrand a target value
Output Format:
- The index of the target, or -1
Example:
Input: arr = [1,3,5,7,9,11], target = 9
Output: 4
8. Dijkstra's Shortest Path
Problem Statement: Given a weighted graph and a source node, find the shortest distance from the source to every other node, and be ready to explain how the algorithm works.
Input Format:
- A list of weighted edges and a source node
Output Format:
- The shortest distance from the source to each node
Example:
Input: edges = [(1,2,4),(1,3,1),(3,2,1)], source = 1
Output: Distance to 2 = 2, Distance to 3 = 1
9. Count Connected Components in a Graph
Problem Statement: Given an undirected graph, count the number of connected components.
Input Format:
- A number of nodes and a list of edges
Output Format:
- The number of connected components
Example:
Input: nodes = 5, edges = [(0,1),(1,2),(3,4)]
Output: 2
10. Cash Flow Minimization
Problem Statement: Given a group of people who owe each other various amounts of money, find a minimal set of transactions that settles all debts.
Input Format:
- A list of debts as (debtor, creditor, amount) triples among a group of people
Output Format:
- A minimal list of transactions that settles all debts
Example:
Input: A owes B 20, B owes C 20
Output: A pays C 20
11. Design a Playlist System
Problem Statement: Design a playlist system similar to a music app, supporting adding a song, removing a song, and moving to the next or previous song.
Input Format:
- A sequence of add, remove, next, and previous operations
Output Format:
- The currently playing song after each operation
Example:
Input: add("A"), add("B"), add("C"), next(), next()
Output: Currently playing: C
12. Maximize Profit With Present and Future Stock Prices
Problem Statement: Given the present price and a predicted future price for each of several stocks, and a fixed budget, choose which stocks to buy to maximize total profit without exceeding the budget.
Input Format:
- Arrays of present prices and future prices, and a budget
Output Format:
- The maximum achievable profit within the budget
Example:
Input: present = [10, 20, 15], future = [15, 25, 40], budget = 30
Output: 30
13. Kth Node From the End of a Linked List
Problem Statement: Given the head of a singly linked list and an integer K, find the Kth node from the end of the list. Solve it both with a two pass approach and a single pass approach.
Input Format:
- A linked list
headand an integerk
Output Format:
- The value of the Kth node from the end
Example:
Input: 1 -> 2 -> 3 -> 4 -> 5, k = 2
Output: 4
14. Remove Vowels From a String
Problem Statement: Given a string, remove all vowels from it and return the resulting string.
Input Format:
- A string
s
Output Format:
- The string with all vowels removed
Example:
Input: interview
Output: ntrvw
15. Find a Path Through a Maze
Problem Statement: Given a maze represented as a grid with open cells and walls, determine whether a path exists from a starting cell to a target cell, moving only through open cells.
Input Format:
- A grid of open cells and walls, a start cell, and a target cell
Output Format:
"Path Found"or"No Path"
Example:
Input: grid = [[0,0,1],[1,0,1],[0,0,0]], start = (0,0), target = (2,2)
Output: Path Found
16. Project Switching Schedule
Problem Statement: An employee has several projects, each requiring a fixed number of weeks of work, but the employee must switch to a different project every week and cannot work on the same project two weeks in a row. Given the total weeks required for each project, find the maximum total number of weeks the employee can keep working before being forced to stop.
Input Format:
- An array of project durations in weeks
Output Format:
- The maximum number of weeks the employee can keep working
Example:
Input: projects = [8, 3, 3]
Output: 13
17. Two Category Book Purchase
Problem Statement: Given prices for books in two categories and a fixed budget, maximize the number of books purchased, with the constraint that at least one book must be bought from each category.
Input Format:
- Two arrays of book prices, one per category, and a budget
Output Format:
- The maximum number of books that can be purchased
Example:
Input: categoryA = [10, 20], categoryB = [15, 5], budget = 30
Output: 3
18. The Doubling Numbers Game
Problem Statement: Two numbers A and B start at given values. Over N turns, on odd numbered turns A is doubled, and on even numbered turns B is doubled. After N turns, output the ratio of the larger of the two numbers to the smaller.
Input Format:
- Starting values
AandB, and an integerNrepresenting the number of turns
Output Format:
- The ratio of the maximum to the minimum of the two final values
Example:
Input: A = 2, B = 3, N = 2
Output: 1
19. Design an Autocomplete Word Suggestion System
Problem Statement: Design a system that suggests matching words as a user types, similar to a search engine's autocomplete, returning all previously known words that start with the characters typed so far.
Input Format:
- A dictionary of known words, and a sequence of characters typed so far
Output Format:
- The list of matching word suggestions after each character typed
Example:
Input: dictionary = ["cat", "car", "cart", "dog"], typed = "ca"
Output: ["cat", "car", "cart"]
20. Design a Thread-Safe Object Pool
Problem Statement: Design a thread safe object pool, such as a connection pool, that allows multiple threads to borrow and return a limited number of reusable objects without exceeding the pool's capacity.
Input Format:
- A pool capacity, and a sequence of borrow and return operations from multiple threads
Output Format:
- Whether each borrow request succeeds immediately, waits, or is served once an object is returned
Example:
Input: capacity = 2, borrow(), borrow(), borrow(), return()
Output: The third borrow waits until a return frees up a slot
Why it matters: This tests whether you can reason about shared mutable state across threads, not just single threaded correctness.
21. Find All Anagrams of a Word in a Large File
Problem Statement: Given a very large file of words and a target word, find all words in the file that are anagrams of the target word, using an approach that scales to files too large to hold entirely in memory at once.
Input Format:
- A large file of words, one per line, and a target word
Output Format:
- All words from the file that are anagrams of the target word
Example:
Input: file contains "listen", "silent", "banana", "enlist"; target = "listen"
Output: ["silent", "enlist"]
At Last
ION Group tests standard DSA and C++ depth like most product adjacent companies, but its real differentiators are the puzzle heavy technical rounds and the business case study round, both of which reward preparation that most candidates skip. Revise a set of classic logic puzzles, practice structuring a business scenario out loud, and be ready to justify why you chose C++ if that is your primary language.
Join the Telegram group for more resources and discussions.