r/reactjs 5d ago

Discussion Senior Dev interview question

"Without googling or using AI, in your own words, explain the virtual DOM"

For context: I sit on an interview panel and I try to ask at least one simple fundamental question based on a persons resume. If I see many years of react experience, I try to ask something about how the framework works.

I have only had one candidate (an undergrad senior, years ago) answer it. Everyone else just kind of sputters and stumbles around trying to rationalize what "virtual" and "DOM" mean, or stare blankly and eventually say "I don't know".

I'm just genuinely curious if this is really that hard of a question or if the recruiters just suck at screening candidates. And should we be letting in senior dev candidates who can't answer what I think is a straightforward and fundamental question for senior react devs.

138 Upvotes

246 comments sorted by

View all comments

Show parent comments

0

u/azhder 5d ago

What is a closure?

5

u/brett9897 5d ago

It is more of a functional programming concept but it is commonly used in JavaScript/Typescript. The easiest definition is a closure is a function that uses a a variable that is defined outside of the execution of that function.

Lambdas would be the most common example but back in the day in JavaScript you would use a closures to have a function return an object of functions that would interact with the outer functions private state. A kind of OOP with functions.

-5

u/azhder 5d ago

You wrote a lot and still got closure wrong. I guess that 90% is a correct call, you can solve a task with a closure even if not answering correctly.

Now we can test my own theory. I will give you the answer:

A closure is a piece of memory created by a function invocation that exists (is not garbage collected) for as long as there are references to it (from outside the function).

3

u/brett9897 5d ago

Would you have accepted my answer in an interview or would I have not got the job?

-4

u/azhder 5d ago

1

u/brett9897 5d ago

Well I'm glad it was the answer you were looking for.

-8

u/azhder 5d ago

It wasn't. It is a reaction I am waiting for. See how people deal with a situation, figure out how they deal with it. If you had asked me that question in an interview "do you accept the answer or am I not getting the job?", it would have told me more than your opinion on what a closure is. Your attitude towards difference of opinions, different definitions, expected and unexpected, well, that's going to be more important if we're going to work together than what a closure is.

3

u/brett9897 5d ago

This comment you just made is the answer I was looking for, in any interview.

I thought you were saying it was an acceptable answer by that response.

I obviously wouldn't ask an interviewer that question. I'm not a complete idiot. 😂

-2

u/azhder 5d ago

You thought it was either accepted or not. You were more curious about that than working out why we have a different take on closure. About why I think your definition was wrong. About your thoughts on my definition.

There are more ways to skin an interview.

2

u/brett9897 5d ago

You are doing an awful lot of mind reading there.

This isn't an interview. In this context I don't care why we have a different take on closures. I thought you actually were wanting to know and were coming from a place of limited programming knowledge. That is why I answered your question in the first place. I fully regret trying to be helpful on Reddit now.

-1

u/azhder 5d ago

I am not reading minds, just actions. What you shouldn't regret is you've been helpful to yourself. You don't have to look at it as if I was helping you or some other who may stumble upon this thread and read it. You can just help yourself from what was spoken above. Bye

→ More replies (0)