I applied through a recruiter. I interviewed at Agitprop (London, England)
Interview
I was contacted by Agitprop who asked me to apply and complete a math challenge. I invested a significant amount of time and effort in it, and I was told I did well. However, I was later informed that there is no support for the role I applied for and that hires are on hold until they have more senior staff. Pretty frustrating experience overall. It’s clear this company doesn’t plan well or consider candidates' time. Additionally, they also revealed the name of another candidate to me, very unprofessional. Be cautious about the time you invest and information you disclose — they seem disorganized.
Interview questions [4]
Question 1
Every time a farmer dips a bucket into the well, it comes back with a random amount of water
uniformly distributed between 0 and 1 liter, which his cow then drinks. The farmer stops once
the cow has consumed more than 1 liter. On average, how many times will the farmer need to
dip his bucket into the well before stopping?
Consider a geometric Brownian motion martingale with stochastic volatility. The logarithm
of the latent volatility follows a fractional Brownian motion, with an unknown “volatility of
volatility” and Hurst exponent H.
(a) Write the stochastic differential equations for the system as described.
(b) Assuming the model represents a stock price and given a historical price sampled every
second, describe your approach for fitting the model. How would you estimate the latent
volatility? Be specific.
(c) The current volatility model is non-stationary. Suggest and justify an adjustment to make
it stationary. What are the revised equations?
We play a game where each of us secretly draws a random number uniformly between 0 and 1.
Each player can choose to keep this value or discard it and draw a new number, also uniformly
random between 0 and 1, without observing the other player’s number or decision. The player
with the higher final number wins $100. What strategy would you use?
Consider the following code:
1 double f ( double x ) {
2 if ( x == 0)
3 return 1.0;
4 return f (0.5 * x ) + f (0.3 * x ) ;
5 }
Analyze the time and memory complexities of this function. Provide asymptotically tight
bounds.