Société Générale Software Engineer OA Experience — On-Campus Placement
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:
| Section | Time | Questions |
|---|---|---|
| Aptitude | 20 minutes | 16 MCQs |
| Technical | 20 minutes | 14 MCQs |
| Coding | 40 minutes | 2 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, 2Now the players pick the stones one by one.
Round 1
Player 1 → 15
Player 2 → 10
Player 3 → 8Since we are Player 2:
Our sum = 10Round 2
There are still three stones:
7, 4, 2The players continue in the same order:
Player 1 → 7
Player 2 → 4
Player 3 → 2Again, Player 2 gets:
4Therefore:
Answer = 10 + 4
= 14My Approach
I sorted the effectiveness values and processed them in decreasing order.
I maintained:
count = current player
sum = answerThen 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 1For 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 = 14The 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
kA 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 = 1234Look at each digit:
1 → Odd
2 → Even
3 → Odd
4 → EvenTherefore:
Odd digits = 2
Even digits = 2So the first condition is satisfied.
Now suppose:
k = 2Then:
1234 % 2 = 0So the second condition is also satisfied.
Therefore:
1234 is a Beautiful NumberComplete Example
Suppose:
low = 10
high = 30
k = 2We check every number from 10 to 30.
10
1 → Odd
0 → Even
Odd = 1
Even = 1First condition satisfied.
10 % 2 = 0Second condition satisfied.
Therefore:
10 → Beautiful11
1 → Odd
1 → Odd
Odd = 2
Even = 0Not beautiful.
12
1 → Odd
2 → Even
Odd = 1
Even = 1First condition satisfied.
12 % 2 = 0So:
12 → Beautiful13
Odd = 2
Even = 0Not beautiful.
14
Odd = 1
Even = 1and:
14 % 2 = 0So:
14 → BeautifulContinuing this process:
10 → Beautiful
11 → No
12 → Beautiful
13 → No
14 → Beautiful
15 → No
16 → Beautiful
17 → No
18 → Beautiful
19 → No
20 → Beautiful
21 → No
22 → No
23 → No
24 → Beautiful
25 → No
26 → Beautiful
27 → No
28 → Beautiful
29 → No
30 → BeautifulTherefore the beautiful numbers are:
10, 12, 14, 16, 18,
20, 24, 26, 28, 30So the answer is:
10My 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 answerThe 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.


