← Bank of America Interview Insights

Bank of America·Software Engineer·Technical Phone Screen·Intermediate

IntermediatePrefer not to say
Jun 2026

Summary

Went through a technical screen for a Quant Engineer role at Bank of America. Heavy on the statistics and ML theory side, which I wasn't fully expecting. PCA came up in a way that felt more like a grad school oral exam than a job interview.

Questions Asked (1)

Q1

Walk me through how PCA works, including what eigenvalues and eigenvectors represent in that context, and then discuss its main limitations.

Technical Trade-offsData ModelingAlgorithms & Data Structures
Author's notes

This was basically three questions in one and I didn't pace myself well.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by explaining PCA as a dimensionality reduction technique that finds new orthogonal axes (principal components) maximizing variance. Then describe the math: eigenvectors of the covariance matrix give the directions of the components, and eigenvalues give the amount of variance each component captures. Finally, discuss limitations such as linearity, sensitivity to scaling, and interpretability challenges, tying them to practical trade-offs in software engineering.

Pro tip: Emphasize that PCA assumes linear relationships and that the components are often hard to interpret, which matters in regulated industries like banking where explainability is crucial. Mention that you would standardize features before PCA and consider alternatives like autoencoders for non-linear data.

1. Define PCA and its purpose

Explain that PCA is a dimensionality reduction technique that transforms data into a new coordinate system where the greatest variance lies on the first axis, the second greatest on the second, etc. It is used for visualization, noise reduction, and speeding up other algorithms.

2. Explain the mathematical intuition

Describe how PCA computes the covariance matrix of the standardized data, then finds its eigenvectors and eigenvalues. Eigenvectors represent the directions of the new axes (principal components), and eigenvalues represent the magnitude of variance along each eigenvector.

3. Describe the transformation and selection

Explain that data is projected onto the eigenvectors, and components are selected based on eigenvalues (e.g., keep components that explain 95% of variance). This yields a lower-dimensional representation.

4. Discuss limitations and trade-offs

Highlight that PCA assumes linearity, is sensitive to feature scaling, can be affected by outliers, and the resulting components are often difficult to interpret. Also note that it may discard information useful for specific tasks if variance is not the right criterion.

5. Relate to software engineering context

Connect to practical considerations: when to use PCA (e.g., preprocessing for ML models, reducing storage), when to avoid it (e.g., when interpretability is key), and alternatives like t-SNE, autoencoders, or feature selection methods.

Key Points to Mention

  • PCA finds orthogonal axes that maximize variance in the data.
  • Eigenvectors of the covariance matrix define the directions of principal components; eigenvalues indicate the amount of variance explained by each component.
  • Data should be standardized (mean-centered and scaled) before PCA to avoid dominance by features with larger scales.
  • Limitations include linearity assumption, sensitivity to outliers, and loss of interpretability of original features.
  • Choosing the number of components via explained variance ratio or scree plot.
  • Alternatives for non-linear dimensionality reduction (e.g., kernel PCA, autoencoders) and when to prefer them.

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