OUTCRY

PRACTICE GUIDE   G-RESEARCH

G-Research Quant Developer Practice Test

This guide offers quant developer preparation for readers interested in G-Research. The general practice ranges below are not a verified assessment specification for that employer.

Those are ranges across firms running this format rather than G-Research's own figures, so treat them as the shape to train against and check the instruction screen on the day for the marking rule.

Outcry is not affiliated with G-Research and has no access to their assessment content. This guide describes an assessment format that candidates report publicly; the questions here are generated by Outcry and are not G-Research’s own.

What it screens

A London-based quantitative research and technology company applying data science and machine learning to financial markets.

  • ✓Reading concurrent code and pointing at the defective line
  • ✓Order-book data structures: what happens on a cross, a cancel, a partial fill
  • ✓Algorithmic complexity chosen for the input sizes stated in the problem
  • ✓Monte Carlo methods and when a simulation beats a closed form

Where it sits at G-Research

A London-based quantitative research and technology company applying data science and machine learning to financial markets. The topics here are Outcry preparation suggestions, not a verified firm syllabus or recruiting stage.

Outcry also has 1 other topic guides for readers interested in G-Research. Their presence does not mean applicants must sit that many tests or that they belong to one recruiting round.

The format

These are general practice ranges, not a verified current assessment specification for G-Research. Check the employer’s invitation for the actual format.

Questions2 to 4 problems
Time60 to 120 minutes
Per question20 to 40 minutes
Negative markingNo
Answer styleCode editor, run against hidden tests
Where it sitsPreparation topics · employer round unconfirmed

What it tests, with a worked example

Every example below is generated by Outcry, drawn from the same question generators the timed drills run. None of them is G-Research’s.

Data structure implementation

Build the thing rather than call it: an order book, a cache, a ring buffer. Graded by hidden tests, so there is no partial credit for an approach.

Complexity that is actually graded

Hidden tests sized so the naive solution times out. A correct answer that is too slow scores the same as a wrong one.

Reading someone else's code

A diff or a function with a bug in it, and the question is where.

Example

A singleton uses double-checked locking with a plain non-atomic pointer. What is wrong?

  • It leaks the instance at shutdown
  • The lock is taken on every call
  • The reader can see a non-null pointer before the object it points to is fully constructed
  • The second check is redundant and only costs time

Answer The reader can see a non-null pointer before the object it points to is fully constructed

Without an atomic and the right memory ordering, the store publishing the pointer can be reordered ahead of the writes that initialise the object. A second thread then uses a half-built instance.

Numerical and data handling

Floating point, aggregation and joins on data that does not fit the obvious shape.

Example

x      12   22    7   18   23    5   17

What is the sample variance of the series above? Use the n-1 denominator.

Answer 49.8095238095238

The mean is 14.86. Squared deviations: 8.16 + 51.02 + 61.73 + 9.88 + 66.31 + 97.16 + 4.59 = 298.86. Divided by n-1 = 6 that is 49.81. The n denominator would give 42.69.

Statistics in code

Rolling windows, correlations and quantiles, implemented rather than imported.

Example

A population has standard deviation 8. What is the variance of the mean of 25 independent draws?

  • 1600
  • 64
  • 2.56
  • 0.32

Answer 2.56

Var(X̄) = σ²/n = 8²/25 = 64/25 = 2.56. The three wrong options are the population variance 64 left undivided, the standard deviation over n rather than the variance, and 1,600 - the variance multiplied by n instead of divided by it.

Probability behind the problem

Screens that look like coding questions and are really expectation questions.

Example

Var(X) = 9, Var(Y) = 2, Cov(X, Y) = 6. What is Var(5X + 3Y)?

  • 51
  • 243
  • 423
  • 333

Answer 423

Var(aX + bY) = a^2 Var(X) + b^2 Var(Y) + 2ab Cov(X, Y) = 25(9) + 9(2) + 30(6) = 225 + 18 + 180 = 423. The coefficients square, and the covariance term carries the factor 2.

What a good score looks like

No current employer cutoff is verified for these general practice ranges. Use the worked examples to identify what to study and check your role-specific invitation for the actual assessment rules.

How to train for it

  1. 01Implement the core structures from scratch once each. The screens ask you to build them, not use them.
  2. 02State the complexity before you write. If it is worse than the input size allows, the approach is already wrong.
  3. 03Practise without an autocomplete. The screens run in a bare editor, and the gap between writing code with help and without it is larger than most people expect.

TRAIN IT HERE

The drills that match each section

SIT THE FULL BATTERY

All the sections back to back on one clock, marked the way the real screen marks them, with a by-skill breakdown at the end. Included with any pass.

MOCK SCREENS

Also reported at G-Research

Common questions

Is the G-Research quant developer test multiple choice?
This guide uses code editor, run against hidden tests for practice. The employer’s current answer format was not verified here.
How long is the G-Research quant developer test?
This guide uses general practice ranges of 2 to 4 problems questions in 60 to 120 minutes. They are not a verified current employer format.
Is there negative marking on the G-Research quant developer test?
No. A wrong answer costs nothing beyond the mark you would have earned, so leaving an item blank is never better than guessing at it.
How do I practise for it free?
The warm-up drills are free with no account, and every pass opens the rest of the drills linked on this page. Questions are generated fresh each run, so there is nothing to memorise between attempts.