At the end of November, rushing to catch the tail end of the investment banking fall recruitment season, I took a Jefferies OA . The overall feeling was conventional but not too slow-paced, with a total of 10 questions: Q1-Q2: two programming questions (SQL / Data Engineering / Implementation) and Q3-Q10: eight multiple choice questions (statistics, math fundamentals, programming concepts).
For those who are familiar with code or databases, this is moderately easy, but those who are not familiar with join / groupby may get stuck for a few minutes. Here are two key questions to expand on.

Jefferies OA Complete Process & Timeline
The email came in the morning of 11.25 and gave a fixed window, meaning: find your own time to do it, but there's no catching up if it expires. The link to click on is the standard Hackerrank page, which briefly verifies your identity, and there's no webcam, but it does remind you not to cut the screen too often.
Before the official start, there was a small practice area where you could try out the inputs and outputs to familiarize yourself with the environment. Once you start, you'll see the distribution of questions: the first 2 coding questions and the next 8 MCQs, so at a glance you'll know that the set isn't too heavy, but you'll have to keep up the pace. The countdown timer is a global timer, so you can cut back and forth freely, just that the time won't stop.Coding's editor is Hackerrank's default configuration: you can run samples, but you won't know if you've passed until you submit the hidden use case.
The MCQs are one page long, with questions ranging from statistics to basic Python, not tricky questions, but you have to stay focused. The whole process has no pitfalls, as long as you don't cut the screen back and forth, and don't hold back on coding, the rest of the experience is pretty smooth. The results are not displayed after submission, and you usually have to wait 3-7 days for email feedback.
Q1|Item Settlement Rule Implementation
Description
You are given a list of purchase records, each containing a unit price and a quantity.
The final payable amount is calculated based on the following rule.
- If the unit price is greater than 50, a discount should be applied.
- Otherwise, use the original price.
Return the total payable amount after processing all items.
Thinking Process
This is a very typical "rule settlement" simulation, not too difficult, the key is stable, do not write complex:
- Read each record in order
- Determine if the unit price is > 50
- Calculate the amount of the item (with discount or original price)
- Just use an accumulator to keep summing up
No additional structure is needed at all, and it is a small topic in the implementation category, so you can write it in a few minutes.
Q2|Quarter-Based Transaction Aggregation
Description
You are given two tables.
- A transaction table containing transaction dates and amounts
- A dimension table with additional metadata
You need to join the two tables on the provided key, determine each transaction's quarter based on the date field, then output the total amount per quarter, ordered by quarter.
Thinking Process
This is a very common mix of SQL + statistics questions in investment banking OA:
- First, join the two tables.(key as defined in the title)
- Extract the quarter from a date field (e.g. with
((month-1)//3)+1) - quarterly group by aggregate
- Final output sorted by quarter
Essentially it's a standard join + group + order pipeline with no pitfalls.
Q3-Q10|Statistics / Mathematics / Programming Fundamentals Multiple Choice Questions
The last eight multiple choice questions are all part of the regular basics:
- Small derivations of mean, median, and variance
- Probabilistic independence, combinatorial permutations
- Code Time Complexity O(n) / O(logn) Judgment
- Basic data structure concepts
The overall difficulty is low, and it's more a matter of whether or not you've brushed up on common sets in your day.
Exam Mindset & Pacing
This Jefferies OA is not difficult, but it's really easy to waste time when the rhythm is messed up. My strategy this time was to write the first two coding questions steadily, but never procrastinate. I gave myself a maximum of 10 minutes for each question, and when I got the right idea, I started writing straight away, without going into the weeds. Especially for those rule-based simulation questions, the more you think about it, the more complicated it gets, and the slower you end up writing. The more you think about it, the more complicated it will get, and the slower you will end up writing it. After you finish writing, run the sample and submit it if you can.
The pace of MCQs is more important, it's not so hard that you get stuck, it's "type jumping fast". Statistics, probability, and Python behavior questions are interspersed, and all you have to do is to keep your mind steady and pass one question after another. If you don't know what you're doing, don't beat yourself up, just skip ahead and come back to the loop and you'll often see things more clearly.
If you want to go through OA, you can ask me to go through it with you.
On my side, I've been taking students to do OA for various companies (investment banking / Quant / tech companies all) for a long time, including:
- Hackerrank / Codesignal No Trace Remote Assistance
- SQL + Programming + Math on the spot
- Focus on the key questions + accompanying work
- Card points give reminders of ideas to avoid flipping over details
If you also have Jefferies, Citi, Barclays, Jane Street, Two Sigma or tech company OA and want to simulate it in advance, just dd me. We've helped many students go from "unsure" to "sure".