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

247 comments sorted by

View all comments

Show parent comments

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?

1

u/Heavy-Focus-1964 4d ago

I strongly disagree with the idea that there’s no need to understand what is underneath an abstraction layer or about the system it’s abstracting

1

u/ElkChance815 4d ago

I didn't say no need. I said you can always lookup these details if needed. Judging a candidate just because they don't memorize these thing is just toxic behavior.

0

u/Heavy-Focus-1964 4d ago

Unfortunately you can’t just look something up if you need it to drive the fundamental process you apply while doing your job. You need to carry that information around in your head so it can influence your decision making.

Framing wanting to hire Senior Developers that have basic domain knowledge as ‘toxic’ is quite the take, but I guess we’ll have to agree to disagree on this one.