← Citadel Interview Insights

Citadel·Data Scientist·Technical Phone Screen·Intermediate

Intermediate
Jun 2026

Summary

Citadel data science interview, heavy on probability and statistics. Three questions, all math, no fluff. The kind of interview where you either know the correlation matrix constraints or you don't.

Questions Asked (3)

Q1

Given that Corr(X,Y) = 0.8 and Corr(X,Z) = 0.9, what is the full range of possible values for Corr(Y,Z)?

Algorithms & Data StructuresTechnical Trade-offs
Author's notes

This one took me a minute to even remember where to start.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Recognize that correlation coefficients must form a positive semi-definite correlation matrix. Use the determinant condition to derive the inequality that bounds the possible values of Corr(Y,Z). Then solve for the range and verify with the given values.

Pro tip: Mention that this is a classic application of the Cauchy-Schwarz inequality for random variables, and that the bounds are tight—meaning any value in the range is achievable by some joint distribution.

1. Set up the correlation matrix

Write the 3x3 correlation matrix with 1s on the diagonal and the given correlations: Corr(X,Y)=0.8, Corr(X,Z)=0.9, and Corr(Y,Z)=r (unknown).

2. Apply positive semi-definiteness condition

For a valid correlation matrix, the determinant must be non-negative. Compute the determinant in terms of r and set it ≥ 0.

3. Solve the inequality

Expand and simplify the determinant inequality to find the range of r. The determinant is 1 + 2*0.8*0.9*r - 0.8^2 - 0.9^2 - r^2 ≥ 0.

4. Compute the bounds

Solve the quadratic inequality: -r^2 + 1.44r + 0.19 ≥ 0, which gives r between approximately -0.115 and 1.0. However, check if the upper bound is exactly 1 or less.

5. Verify and interpret

Confirm that the bounds are correct and note that the range is [-0.115, 1.0] (or more precisely, [0.8*0.9 - sqrt((1-0.8^2)(1-0.9^2)), 0.8*0.9 + sqrt((1-0.8^2)(1-0.9^2))] = [0.72 - 0.6*0.43589, 0.72 + 0.6*0.43589] = [0.72 - 0.2615, 0.72 + 0.2615] = [0.4585, 0.9815]). Wait, recalc: sqrt((1-0.64)(1-0.81)) = sqrt(0.36*0.19) = sqrt(0.0684) = 0.2615. So range is [0.72 - 0.2615, 0.72 + 0.2615] = [0.4585, 0.9815]. But earlier determinant gave -0.115? Let's re-evaluate determinant: det = 1 + 2*0.8*0.9*r - 0.8^2 - 0.9^2 - r^2 = 1 + 1.44r - 0.64 - 0.81 - r^2 = -0.45 + 1.44r - r^2. Set ≥0 => r^2 - 1.44r + 0.45 ≤ 0. Roots: (1.44 ± sqrt(2.0736 - 1.8))/2 = (1.44 ± sqrt(0.2736))/2 = (1.44 ± 0.523)/2 => (0.917)/2=0.4585 and (1.963)/2=0.9815. So range is [0.4585, 0.9815]. Correct.

Key Points to Mention

  • Correlation matrix must be positive semi-definite.
  • The determinant condition for a 3x3 correlation matrix.
  • The bounds are given by the formula: r_min = ρ_XY ρ_XZ - sqrt((1-ρ_XY^2)(1-ρ_XZ^2)), r_max = ρ_XY ρ_XZ + sqrt((1-ρ_XY^2)(1-ρ_XZ^2)).
  • The range is [0.4585, 0.9815] approximately.
  • The bounds are achievable, meaning there exist joint distributions that attain these extreme correlations.
  • This is a common interview question testing understanding of multivariate dependencies and linear algebra.

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q2

Can you construct explicit random variables X, Y, Z such that all three pairwise correlations equal -1/2?

Algorithms & Data StructuresData Modeling
Author's notes

Follow-up to the first question.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by recognizing that the correlation matrix must be positive semidefinite; for three variables with equal pairwise correlation ρ, the matrix is PSD iff ρ ≥ -1/2. Since ρ = -1/2 is the boundary case, the variables must be perfectly linearly dependent. Construct X and Y as independent Rademacher variables, then set Z = -X - Y. Verify that all pairwise correlations equal -1/2.

Pro tip: Mention the positive semidefinite constraint on correlation matrices and that -1/2 is the minimum possible equal correlation for three variables. This shows you understand the underlying theory, not just a construction.

1. Check feasibility via PSD condition

Recall that any correlation matrix must be positive semidefinite. For three variables with equal pairwise correlation ρ, the eigenvalues are (1+2ρ) and (1-ρ) twice, so PSD requires ρ ≥ -1/2. Thus ρ = -1/2 is the extreme case.

2. Identify the structure at the boundary

At ρ = -1/2, the correlation matrix is singular, meaning the variables are linearly dependent. This suggests a construction where one variable is a linear combination of the other two.

3. Construct explicit variables

Let X and Y be independent Rademacher variables (taking values ±1 with equal probability). Define Z = -X - Y. Then compute the correlations: Corr(X,Y)=0, Corr(X,Z)= -1/2, Corr(Y,Z)= -1/2.

4. Verify correlations

Calculate means and variances: E[X]=E[Y]=0, Var(X)=Var(Y)=1, E[Z]=0, Var(Z)=2. Then Cov(X,Z) = E[XZ] = E[-X^2 - XY] = -1, so Corr(X,Z) = -1/√2? Wait, need to check: Actually Cov(X,Z) = E[X(-X-Y)] = -E[X^2] - E[XY] = -1 - 0 = -1. Var(Z)=Var(-X-Y)=Var(X)+Var(Y)=2. So Corr(X,Z) = -1/√2 ≈ -0.707, not -1/2. This construction is incorrect. Let's correct: We need Corr = -1/2. Try Z = aX + bY + c? Actually, we need Cov(X,Z) = -1/2 * sqrt(Var(X)Var(Z)). Let's solve properly.

5. Correct construction

We need three variables with equal pairwise correlation -1/2. A known construction: Let X, Y be independent standard normals. Set Z = - (X+Y)/2? Check: Cov(X,Z) = -1/2, Var(Z) = 1/2, so Corr = -1/2 / sqrt(1*1/2) = -1/√2 ≈ -0.707. Not -1/2. Actually, the correct construction is: Let X, Y, Z be such that X+Y+Z=0 and Var(X)=Var(Y)=Var(Z). Then Corr = -1/2. For example, take X, Y i.i.d. with mean 0 and variance 1, and set Z = -X - Y. Then Var(Z)=2, so not equal variances. To have equal variances, we need a different approach. The standard example: Let X, Y, Z be three random variables with X+Y+Z=0 and Var(X)=Var(Y)=Var(Z)=1. Then Cov(X,Y) = -1/2, etc. One way: Let X and Y be independent? No, if X+Y+Z=0 and variances equal, then Cov(X,Y) = -1/2. So we can take any two variables with covariance -1/2 and set Z = -X-Y. But then Var(Z)=Var(X)+Var(Y)+2Cov(X,Y) = 1+1+2(-1/2)=1. So if we take X and Y with Var=1 and Cov=-1/2, then Z=-X-Y has Var=1 and Cov(X,Z)=Cov(X,-X-Y)=-Var(X)-Cov(X,Y)=-1+1/2=-1/2. Similarly for Y,Z. So we just need X and Y with correlation -1/2. For example, let X ~ N(0,1) and Y = -0.5 X + sqrt(3)/2 * W, where W ~ N(0,1) independent. Then Corr(X,Y) = -0.5. Then set Z = -X - Y. This works.

Key Points to Mention

  • Positive semidefinite condition for correlation matrices
  • Minimum possible equal correlation for three variables is -1/2
  • Linear dependence at the boundary case
  • Construction using X, Y, Z with X+Y+Z=0 and equal variances
  • Verification of pairwise correlations
  • Generalization: for n variables, minimum equal correlation is -1/(n-1)

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q3

Using only a Uniform(0,1) random number generator, how would you produce samples from a standard Normal distribution?

Algorithms & Data StructuresTechnical Trade-offs
Author's notes

Box-Muller.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying that you need to transform uniform samples into normal samples, then present at least two methods: the Box-Muller transform and the inverse CDF method. Discuss the trade-offs between them, such as computational efficiency and numerical stability, and mention that the Ziggurat algorithm is a more advanced option used in practice.

Pro tip: Mention that while Box-Muller is simple, it can be slow due to trigonometric functions, and the inverse CDF method requires an accurate approximation of the probit function. For production systems, the Ziggurat algorithm is often preferred for its speed and accuracy.

1. Clarify the problem

Confirm that you need to generate standard normal samples using only a Uniform(0,1) generator, and that the method should be exact or approximate.

2. Present Box-Muller transform

Explain that by generating two independent uniform variables U1 and U2, you can compute Z0 = sqrt(-2 ln U1) * cos(2π U2) and Z1 = sqrt(-2 ln U1) * sin(2π U2), which are independent standard normal.

3. Present inverse CDF method

Describe that if you can compute the inverse of the standard normal CDF (probit function), then X = Φ^{-1}(U) yields a standard normal sample. Mention that approximations like the Beasley-Springer-Moro algorithm are used.

4. Compare and discuss trade-offs

Highlight that Box-Muller is easy to implement but uses trigonometric functions, while inverse CDF is efficient if a good approximation is available. Also mention the Ziggurat algorithm as a faster alternative.

5. Conclude with practical considerations

Summarize that the choice depends on requirements: Box-Muller for simplicity, inverse CDF for speed if approximation is acceptable, and Ziggurat for high performance.

Key Points to Mention

  • Box-Muller transform: uses two uniforms to produce two independent normals
  • Inverse CDF method: requires an accurate approximation of the probit function
  • Ziggurat algorithm: faster and widely used in libraries
  • Trade-offs: computational cost, numerical stability, and accuracy
  • Independence of generated samples
  • Potential pitfalls: U1 cannot be 0, and trigonometric functions can be slow

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.