Société Générale Software Engineer OA Experience — On-Campus Placement

société générale logo
société générale
· Software Engineer
September 1, 2026 · 0 reads

Summary

I completed the Société Générale Software Engineer Online Assessment, which included aptitude, technical, and two coding problems, and I am now waiting for the results.

Full Experience

Société Générale Software Engineer OA Experience — On-Campus Placement

I recently attended the Société Générale Software Engineer Online Assessment through an on-campus placement process.

Sharing my experience here so that anyone who encounters a similar OA in the future has an idea of what to expect.


OA Structure

The total duration was 80 minutes:

SectionTimeQuestions
Aptitude20 minutes16 MCQs
Technical20 minutes14 MCQs
Coding40 minutes2 Questions

1. Aptitude — 16 MCQs | 20 Minutes

The aptitude section had a mixture of Quantitative Aptitude and Logical Reasoning.

The questions I encountered included:

  • Syllogisms
  • Seating Arrangement
  • Statement & Conclusion
  • Blood Relations
  • Speed/Distance
  • Venn Diagrams
  • Profit & Loss
  • Percentages
  • Ratios
  • Other mixed logical/quantitative questions

I wasn't specifically prepared for aptitude, so I solved the questions using the tricks I knew and made guesses on some of them.


2. Technical — 14 MCQs | 20 Minutes

The technical section was quite different from what I initially expected.

I was expecting mostly Core CS subjects, but the questions had significant coverage of modern AI/ML and Software Engineering topics.

Some of the topics I encountered were:

  • Transformers
  • LLMs
  • LLM switching
  • AI/ML algorithms and their applications
  • UML-based questions
  • Software architecture
  • Software design
  • Software development models
  • Advanced AI/ML software concepts
  • Other software engineering concepts

3. Coding — 2 Questions | 40 Minutes

The coding section had 2 questions with 40 minutes total.

One thing I found different from the usual LeetCode‑style environment was the requirement to write the program using STDIN and STDOUT.

We had to read the input exactly in the given format and print the output in the exact required format.

For the first question, there wasn't an option for Java, so I used Python.

For the second question, Java was available, but I continued with Python because I was more comfortable with Python's input handling.


Coding Question 1 — Mystic Stones

The first problem had a fictional scenario involving a competition on another planet.

There are Y players, and you are the X‑th player.

There are several mystic stones scattered around the planet, and each stone has an effectiveness value.

The effectiveness values are given as an unsorted array.

In every turn, the players pick the most effective remaining stone one by one.

So the picking order is:

Player 1
Player 2
...
Player Y
Player 1
Player 2
...

until all stones are picked.

The task was to find the sum of the effectiveness values of the stones picked by player X.

Example

Suppose:

Y = 3
X = 2

Effectiveness:
[10, 4, 8, 2, 15, 7]

There are 3 players, and we are Player 2.

First, arrange the stones according to their effectiveness from highest to lowest:

15, 10, 8, 7, 4, 2

Now the players pick the stones one by one.

Round 1

Player 1 → 15
Player 2 → 10
Player 3 → 8

Since we are Player 2:

Our sum = 10

Round 2

There are still three stones:

7, 4, 2

The players continue in the same order:

Player 1 → 7
Player 2 → 4
Player 3 → 2

Again, Player 2 gets:

4

Therefore:

Answer = 10 + 4 = 14

My Approach

I sorted the effectiveness values and processed them in decreasing order.

I maintained:

count = current player
sum = answer

Then while traversing the sorted stones:

If count == X:
    add current stone's effectiveness to sum

Move to the next player

If count reaches Y:
    start again from Player 1

For the above example:

Sorted stones:
15  10  8  7  4  2

Player:
1   2   3   1  2  3

                         ↓
Player 2 gets:
    10          4

Answer = 10 + 4 = 14

The problem felt easy/medium to me.

There was only one publicly visible testcase, and my solution passed it.


Coding Question 2 — Beautiful Numbers

The second problem was to find the number of Beautiful Numbers between low and high.

The inputs were:

low
high
k

A number was considered beautiful when both of the following conditions were satisfied:

Condition 1

The number of even digits must be equal to the number of odd digits.

Condition 2

The number must be divisible by k.

Example

Suppose:

Number = 1234

Look at each digit:

1 → Odd
2 → Even
3 → Odd
4 → Even

Therefore:

Odd digits  = 2
Even digits = 2

So the first condition is satisfied.

Now suppose:

k = 2

Then:

1234 % 2 = 0

So the second condition is also satisfied.

Therefore:

1234 is a Beautiful Number

Complete Example

Suppose:

low = 10
high = 30
k = 2

We check every number from 10 to 30.

10

1 → Odd
0 → Even

Odd = 1
Even = 1

First condition satisfied.

10 % 2 = 0

Second condition satisfied.

Therefore:

10 → Beautiful

11

1 → Odd
1 → Odd

Odd = 2
Even = 0

Not beautiful.


12

1 → Odd
2 → Even

Odd = 1
Even = 1

First condition satisfied.

12 % 2 = 0

So:

12 → Beautiful

... (similar analysis for numbers up to 30) ...

The beautiful numbers are:

10, 12, 14, 16, 18,
20, 24, 26, 28, 30

So the answer is:

10

My Approach

I simply iterated through every number from low to high.

For each number:

1. Extract its digits
2. Count even digits
3. Count odd digits
4. Check even_count == odd_count
5. Check number % k == 0
6. If both are true, increment answer

The basic logic was:

answer = 0

for number from low to high:
    even = 0
    odd = 0
    check every digit of number
    if even == odd AND number % k == 0:
        answer += 1

print(answer)

This problem also felt easy/medium to me.

The publicly available testcase passed with my solution.


Overall Experience

The OA was quite different from what I initially expected.

The aptitude section had a mixture of quantitative and logical reasoning questions.

The technical section had a noticeable focus on AI/ML, LLMs, Transformers, UML, Software Architecture and Software Engineering concepts, rather than being purely Core CS.

The coding section had two problems and required complete STDIN/STDOUT‑based programs, which was another difference from the usual LeetCode function‑based format.

Personally, I found both coding problems relatively straightforward compared to some of the problems my friends received.

Now waiting for the results.

Sharing this mainly so that anyone who gets a similar Société Générale OA in the future knows what the experience can look like.

Interview Questions (2)

1.

Mystic Stones

Data Structures & Algorithms

Given Y players and you are the X‑th player, each stone has an effectiveness value provided as an unsorted array. In each turn players pick the most effective remaining stone in order from Player 1 to Player Y, repeating until all stones are taken. Compute the sum of effectiveness values of the stones picked by player X.

Input: Y, X, and an array of effectiveness values. Output: Sum of values collected by player X. Example: Y = 3, X = 2, effectiveness = [10, 4, 8, 2, 15, 7] → sorted descending = [15,10,8,7,4,2]. Player 2 gets 10 and 4, sum = 14.

2.

Beautiful Numbers

Data Structures & Algorithms

Count the numbers between low and high (inclusive) that satisfy two conditions:

  1. The number of even digits equals the number of odd digits.
  2. The number is divisible by k.

Input: three integers low, high, k. Output: The count of "Beautiful Numbers" in the range. Example: low=10, high=30, k=2 → Beautiful numbers are 10,12,14,16,18,20,24,26,28,30, so the answer is 10.

Preparation Tips

I was not specifically prepared for the aptitude section and relied on tricks I knew; for the coding problems I used Python and implemented straightforward solutions—sorting for the Mystic Stones problem and a brute‑force enumeration for the Beautiful Numbers problem.

📣 Found this helpful? Please share it with friends who are preparing for interviews!

Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!