CarMax Senior Software Engineer Interview Experience

Senior Software Engineer

June 18, 2025
15 Questions

Summary

AI Powered

The CarMax interview process featured a comprehensive set of questions primarily focused on JavaScript, TypeScript, React, and .NET technologies. The interview included one round that asked a variety of technical questions, including questions on variable declarations, dependency injection, and practical coding tasks. Overall, the difficulty level was medium, with a good blend of theoretical knowledge and practical application expected from candidates.

1

Round 1

#1

Variable Declaration in JavaScript

Explain the differences between 'let', 'const', and 'var' in JavaScript and their use cases.
javascript
var
let
const
Easy
#2

Dependency Injection in .NET

What is dependency injection in .NET and what are the different lifecycles associated with it?
net
dependency-injection
lifecycle
Medium
#3

useState Vs. Normal Variable

What is the difference between a normal variable and the useState hook in React?
react
usestate
variables
Medium
#4

Handling Routing in .NET

How do you handle routing in .NET? Explain the methods to perform GET and POST requests.
net
routing
http
Medium
#5

HTTP vs HTTPS

What is the difference between an HTTP POST request and an HTTPS GET request?
http
https
web-protocols
Medium
#6

Understanding 400 Error

What does a 400 error signify in the context of HTTP request responses?
http
error-codes
Easy
#7

Promises in JavaScript

Why are promises used in JavaScript and what advantages do they offer over traditional callbacks?
javascript
promises
asynchronous-programming
Medium
#8

Interface vs Abstract Class

What is the difference between an interface and an abstract class in TypeScript? Can you inherit multiple interfaces?
typescript
interfaces
abstract-classes
Medium
#9

Record Type in TypeScript

What is the 'Record' type in TypeScript and how is it used?
typescript
record-type
Medium
#10

Benefits of TypeScript

What are the advantages of using TypeScript over JavaScript?
typescript
javascript
programming-languages
Medium
#11

Controlled vs Uncontrolled Components in React

What are controlled and uncontrolled components in React? How do they differ?
react
controlled-components
uncontrolled-components
Medium
#12

useLayoutEffect vs useEffect in React

When does useLayoutEffect run compared to useEffect in React? What are the differences between the two?
react
uselayouteffect
useeffect
Medium
#13

Redux Thunk

What is 'Redux Thunk'? How does it facilitate asynchronous actions in Redux?
redux
redux-thunk
state-management
Medium
#14

Understanding 'Slice' in JavaScript

What is the 'slice' method in JavaScript? Provide examples of its usage.
javascript
array-methods
Easy
#15

Average MPG Function Implementation

Write a function that takes a collection of Cars with properties (Make, Model, MPG) and returns the average MPG for a specified Make. Input example: Make Model MPG Honda Accord 25.0 Honda Civic 28.0 Nissan Altima 24.5 Honda CRV 22.7 Toyota Tundra 19.1 Output example: Average MPG for Honda: [averageValue]
javascript
functions
average
Medium
javascript
function gettingAverage(list, whatMake) {
  count = 0;
  sum = 0;
  list.forEach(e => {
    if (whatMake.toUpper() === e.make.toUpper()) {
      sum += e.miles;
      count += 1;
    }
  });
  if (count == 0) return 0;
  return sum / count;
}
const list = [{miles: 12, make: "toy", Model: ""}, {miles: 13, make: "toy"}, {miles: 14, make: "other"}];
const whatMake = "toy";
console.log(gettingAverage(list, whatMake));
a

aseer hamim

Verified User

AI Powered

Share Your Story

Share your interview in your own words — our AI handles the rest. Hardly takes 2 minutes.

Take Mock Interview

Prepare better with expert feedback

Want to Connect 1:1?

Connect with me 1:1 for career guidance, resume reviews, interviews, and more.

Show Your Love!

Connect with us on social media

CarMax Senior Software Engineer Interview Experience | InterviewRecap | InterviewRecap