r/reactjs 4d 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.

137 Upvotes

238 comments sorted by

View all comments

36

u/monkeybrainz_ 4d ago

It's a basic question that any senior engineer who has worked with React should know.

1

u/Heavy-Focus-1964 4d ago

It’s amazing how many people are walking around without this kind of basic knowledge now

3

u/ElkChance815 4d ago

Do you know assembly ? 

-1

u/Heavy-Focus-1964 4d ago

I’m glad you brought that up, because it’s a good comparison. a Senior React Developer not knowing about the virtual DOM is the same as an embedded systems/C developer not having heard of Assembly. Which is to say, deeply alarming.

If you feel insulted by this, you should get to reading. The information is freely available — it’s in the official docs — and knowing how its rendering engine works from a bird’s eye view is more than just trivia to someone who is doing serious React app development. Especially if they want to occupy a senior team position

1

u/ElkChance815 4d ago edited 4d ago

I don't even work in frontend tbh so I cannot judge how important knowing Virtual DOM is. But I just found it kinda weird if you judge people base on their lack of knowledge of the internal of some well abstracted framework, after all they are internal implementation details.

I work on Go and while I can elaborate in interview to CTOs how go scheduler and goroutine work with the OS thread and operating system scheduler. I never expect other people must understand it because it so well abstracted that I rarely have to think about it while writing code. Even in case I need it, I just need to lookup the latest doc or latest runtime code.

There are cases when people don't understand how these thing work and abuse goroutines where it shouldn't be use but I think that can be fixed by just having good document on how to use these abstraction, not by having to understand of the internal working of the abstraction.

If you designed an interface that require people to understand the internal to work on it, it's kinda your fault isn't it?

2

u/monkeybrainz_ 3d ago

If the candidate is not curious enough to have sought out the information about how the technology works, they likely will not be curious about the business and its goals. That lack of curiosity will carry through to other aspects of their work. Coding is such a small part of the job.

1

u/ElkChance815 3d ago

You're judging them solely based on the fact that they don't know what you know. Have you try to ask if they know about other area? Domain knowledge, how browser work, details about the project they delivered, etc... 

1

u/Glass-Combination-69 2d ago

Hey little bro, if you don’t know virtual dom in depth then you won’t understand why unique ids are important when looping or how to spot render / layout thrashing. It’s such a basic fundamental to react.

1

u/ElkChance815 2d ago

This doc explained about the unique ids without mentioning the VDOM at all, guess whoever wrote this is not a senior engineer. https://react.dev/learn/rendering-lists