Sopra Steria Previous Year Coding Questions and Hiring Process

Sopra Steria is a large European IT services company with a significant India presence in Noida, Chennai, and Bengaluru, hiring freshers every year for its Engineer Trainee role through campus and off campus drives. It recruits from B.E./B.Tech CSE and IT backgrounds, and new hires typically sign a three year service agreement as part of the offer.

If you are preparing for Sopra Steria, understanding the flowchart based assessment format, the DBMS heavy technical interview, and the HR round's focus on shift and relocation flexibility will help you prepare efficiently. This guide covers the complete Sopra Steria hiring process along with previous year coding questions asked in its online assessments and interviews.

Sopra Steria Hiring Process

Here is the typical flow for Sopra Steria fresher hiring through campus and off campus drives.

StageWhat HappensWhat They Are Looking For
  1. Online Assessment
A test covering quantitative aptitude, logical reasoning, verbal ability, and technical MCQs. Some drives include a distinct flowchart section where you trace through a flowchart by hand and write down what it outputs, without any answer options given. Accuracy under time pressure and careful step by step reasoning.
  1. Group Discussion
Run only in some drives when the candidate pool is large, typically in groups of around ten on a simple or current affairs topic. Communication and the ability to contribute without dominating.
  1. Technical Interview
A resume and project walkthrough alongside DBMS and SQL questions, OOP concepts, and sometimes writing code by hand on paper while explaining your thought process aloud. Depth in database concepts specifically, not just DSA.
  1. HR Interview
A conversation about your background, and consistently, your willingness to work night shifts and relocate, including possibly to Europe, as part of the role. Flexibility and genuine interest in joining.

Sopra Steria offers typically include a three year service agreement with a bond, so be ready to discuss this openly in your HR round rather than being caught off guard by it.

Assessment Pattern

Format: A proctored online test, sometimes split into a separate technical MCQ section and a flowchart based aptitude section, where you must clear the technical section to proceed to the aptitude section.

Sections typically included:

  1. Quantitative Aptitude: Profit and loss, percentages, mixtures and allegations, ratio and proportion, simple and compound interest.
  2. Logical Reasoning and Verbal: Blood relations, directions, geometry, statistics, general knowledge, and verbal ability.
  3. Technical MCQs: DBMS, C or C++ output prediction, data structures, OOPs, software engineering basics, and basic web technology concepts.
  4. Flowchart Section: Around 11 fill in the blank questions where you trace a given flowchart by hand and write down its final output, with no options provided.

Some off campus drives report a longer single test instead, around 120 questions in 150 minutes, combining all of the above sections into one sitting.

Sopra Steria Coding Round: What to Expect

The coding questions at Sopra Steria lean toward fundamentals rather than competitive programming difficulty. Frequently reported topics include:

  • Array and string basics such as finding the maximum element or counting vowels
  • Linked list operations such as removing a node or rotating the list
  • Sorting fundamentals such as bubble sort, explained step by step
  • Binary search variants such as finding the first and last position of an element
  • Tree traversal, including vertical traversal of a binary tree
  • Simple pattern printing combined with number sequences like Fibonacci

For hands on practice, use:

Technical Interview Focus Areas

Sopra Steria's technical interview is unusually DBMS and SQL heavy compared to most service companies. Real questions reported by candidates include:

  • What is the difference between a primary key and a foreign key, and can a table have more than one primary key.
  • Differentiate between DROP, DELETE, and TRUNCATE, including their syntax.
  • What is the difference between DBMS and RDBMS, and between SQL and MySQL.
  • Why is normalization needed, and explain first, second, third, and Boyce-Codd normal forms.
  • What is a Cartesian product. If two tables have 3 and 6 rows, how many rows result from their Cartesian product.
  • What is the difference between a Cartesian product and a join.
  • Explain left join and right join, and write a query that merges two tables using an inner join.
  • How do you rename a column in a query, and what is that operation called.
  • What keyword do you use to find unique rows in a table.
  • What is a transaction, what is concurrency control, and what problems can arise from transactions.
  • Explain the ACID properties of a database.
  • What is function overloading, and can you explain all the OOP concepts briefly.
  • Explain inheritance, sometimes asked to be written out on paper.
  • What is RDBMS, and what were the storage methods used before RDBMS became common.
  • If your project used Python, be ready for questions on decorators, generators, the difference between yield and return, and the types of loops available.
  • Which programming language do you prefer, and be ready to justify your choice.
  • If you were asked to learn a new language such as Ruby, how many days would it realistically take you, and why.
  • Which book or resource do you refer to for DBMS concepts.

Complete Interview Questions

HR Interview Tips

The HR round checks communication, motivation, and overall fit, and almost always includes a question about shift and relocation flexibility. Common questions include:

  • Tell me about yourself.
  • What are your strengths and weaknesses.
  • Rate yourself out of 10 on your technical knowledge.
  • Why should we hire you.
  • Are you comfortable working night shifts, and are you open to relocating anywhere in India or even Europe.
  • What do you know about Sopra Steria, and why do you want to join.
  • Why did you choose the Computer Science branch.
  • Tell me about a goal you set for yourself and how you achieved it.
  • Tell me about a mistake you made and how you corrected it.
  • If you were leading a project team, how would you plan and reach the goal.
  • Do you have plans for higher studies.
  • Would you prefer a development role or a support role, and why.
  • What do you do in your free time, and what are your hobbies.
  • Tell me about the city you currently live in, and what it is known for.
  • How many other offers do you currently have.
  • Walk me through your college's placement procedure.
  • If you had to choose, would you pick Sopra Steria over a company like TCS or Amazon, and why.
  • Describe a situation where you had to work closely as part of a team.
  • How do you handle pressure and tight deadlines.
  • Describe a difficult situation you faced at work or in school and how you handled it.
  • Tell me about a time you felt like a good leader.
  • Tell me about your family background.
  • Why do you want to enter the IT field specifically.
  • Do you have any questions for us.

Complete HR Interview Questions

Answer the shift and relocation question honestly and directly, it is asked in nearly every drive and interviewers notice hesitation.

Resources to Prepare for Sopra Steria


Sopra Steria Previous Year Coding Questions

Below is a list of Sopra Steria 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. Best Time to Buy and Sell Stock

Problem Statement: Given an array where each element represents a stock price on a given day, find the maximum profit achievable by buying on one day and selling on a later day.

Input Format:

  • An integer array prices

Output Format:

  • The maximum achievable profit, or 0 if no profit is possible

Example: Input: [7, 1, 5, 3, 6, 4] Output: 5

2. Longest Substring Without Repeating Characters

Problem Statement: Given a string, find the length of the longest substring that does not contain any repeating characters.

Input Format:

  • A string s

Output Format:

  • The length of the longest substring without repeating characters

Example: Input: abcabcbb Output: 3

3. Bubble Sort

Problem Statement: Given an array of integers, sort it in ascending order using the bubble sort algorithm.

Input Format:

  • An integer array arr

Output Format:

  • The sorted array

Example: Input: [5, 1, 4, 2, 8] Output: [1, 2, 4, 5, 8]

4. Print Fibonacci in a Right Triangle Pattern

Problem Statement: Given a number of rows, print the Fibonacci series arranged in a right angled triangle pattern, with one additional term on each row.

Input Format:

  • An integer n representing the number of rows

Output Format:

  • The Fibonacci triangle pattern printed row by row

Example: Input: 3 Output:

0
0 1
0 1 1

5. Remove a Node From a Linked List

Problem Statement: Given the head of a linked list and a value, remove the first node containing that value and return the head of the resulting list.

Input Format:

  • A linked list head and a target value

Output Format:

  • The head of the list after removal

Example: Input: 1 -> 2 -> 3 -> 4, value = 3 Output: 1 -> 2 -> 4

6. Find the Maximum Element in an Array

Problem Statement: Given an array of integers, find the maximum element.

Input Format:

  • An integer array arr

Output Format:

  • The maximum element

Example: Input: [5, 1, 9, 3, 7] Output: 9

7. Flip 0s and 1s Using Only Arithmetic Operators

Problem Statement: Given a value that is either 0 or 1, flip it to the other value using only arithmetic operators, without using conditional statements.

Input Format:

  • An integer x, either 0 or 1

Output Format:

  • The flipped value

Example: Input: 1 Output: 0

8. Count Vowels in a Word

Problem Statement: Given a word, count the number of vowels in it.

Input Format:

  • A string s

Output Format:

  • The count of vowels

Example: Input: programming Output: 3

9. Find the Value Equal to Its Index

Problem Statement: Given a sorted array of distinct integers, find a value that is equal to its own index, if one exists.

Input Format:

  • A sorted integer array arr

Output Format:

  • The index where arr[index] == index, or -1 if none exists

Example: Input: [-5, -3, 0, 3, 4, 7] Output: 4

10. First and Last Position of an Element in a Sorted Array

Problem Statement: Given a sorted array and a target value, find the first and last index at which the target appears.

Input Format:

  • A sorted integer array arr and a target value

Output Format:

  • The first and last index of the target, or -1, -1 if not found

Example: Input: arr = [5,7,7,8,8,10], target = 8 Output: 3, 4

11. Kth Smallest Element

Problem Statement: Given an unsorted array, find the Kth smallest element.

Input Format:

  • An integer array arr and an integer k

Output Format:

  • The Kth smallest element

Example: Input: arr = [7, 10, 4, 3, 20, 15], k = 3 Output: 7

12. Rotate a Linked List

Problem Statement: Given the head of a linked list and an integer K, rotate the list to the right by K places.

Input Format:

  • A linked list head and an integer k

Output Format:

  • The head of the rotated list

Example: Input: 1 -> 2 -> 3 -> 4 -> 5, k = 2 Output: 4 -> 5 -> 1 -> 2 -> 3

13. Vertical Traversal of a Binary Tree

Problem Statement: Given a binary tree, return its nodes grouped by vertical column, from leftmost column to rightmost column.

Input Format:

  • A binary tree root

Output Format:

  • The node values grouped by vertical column

Example: Input: root = [3,9,20,null,null,15,7] Output: [9], [3, 15], [20], [7]

14. Consecutive Prime Sum

Problem Statement: Given a number N, count how many prime numbers less than or equal to N can be expressed as a sum of one or more consecutive primes starting from 2.

Input Format:

  • An integer N

Output Format:

  • The count of primes up to N expressible as a sum of consecutive primes starting from 2

Example: Input: N = 17 Output: 2

15. Self Sufficient Book Purchasing

Problem Statement: Given N books, each with a cost and an amount you earn once purchased, find the minimum amount of money you need to borrow upfront to buy all the books in some order, where earnings from earlier purchases can be used to fund later ones.

Input Format:

  • An array of book costs and an array of earnings, both of length N

Output Format:

  • The minimum upfront amount needed to eventually buy all books

Example: Input: earnings = [3, 4, 2], costs = [5, 3, 4] Output: 3

16. Fountain Activation

Problem Statement: Given a garden represented as a line of length N, and a fountain at every position with a coverage range, find the minimum number of fountains you need to activate so that the entire garden is covered.

Input Format:

  • An integer n and an array locations representing each fountain's reach

Output Format:

  • The minimum number of fountains needed to cover the whole garden, or -1 if impossible

Example: Input: n = 5, locations = [1,2,1,2,1] Output: 2

17. Street Light Coverage

Problem Statement: Given a road represented as a line of length N, and a streetlight at every position with a coverage range, find the minimum number of streetlights you need to activate so that the entire road is lit.

Input Format:

  • An integer n and an array range representing each streetlight's reach

Output Format:

  • The minimum number of streetlights needed to cover the whole road

Example: Input: n = 6, range = [1,2,1,1,2,1] Output: 3

18. Party Budget Optimization

Problem Statement: Given a fixed budget and a list of parties, each with an entrance fee and a fun value, select a subset of parties that maximizes total fun value without exceeding the budget.

Input Format:

  • An integer budget, an array of entrance fees, and an array of fun values

Output Format:

  • The maximum total fun value achievable within the budget

Example: Input: budget = 10, fees = [5, 6, 3], fun = [8, 9, 4] Output: 12

At Last

Sopra Steria weighs database fundamentals more heavily than most service companies, so do not walk into the technical interview having only revised DSA. Practice tracing flowcharts by hand for the aptitude section, revise SQL joins and normalization thoroughly, and answer the shift and relocation question in the HR round honestly and without hesitation.

Join the Telegram group for more resources and discussions.

Useful Resources for Your Placement Prep