5 ms·
> having worked for the last 12+ years as a developer I've done plenty of interviews, and the amount of years someone worked does not mean they are technicall
by koonsolo 7y ago
> having worked for the last 12+ years as a developer
I've done plenty of interviews, and the amount of years someone worked does not mean they are technically capable.
By chance, last week I interviewed a frontend JavaScript expert: couldn't explain 'scope', couldn't explain 'function context', didn't know what happens when setTimeout() is followed by an infinite loop ("After 10 seconds or so the browser will probably timeout the loop"). A junior cannot know everything, a senior should be able to pull a project and team.
Personal advice to you: if you are really good but cannot show it in an interview, try to land a job at companies with ex-colleagues, where they are able to vouch for your technical skills.
If a colleague that I respect vouches for someone (s)he worked with, (s)he is practically already hired.
- shakopeeant 7y ago"didn't know what happens when setTimeout() is followed by an infinite loop" You're part of the problem.
- s1k3s 7y ago> didn't know what happens when setTimeout() is followed by an infinite loop I'm not some JS guru but I've done a few and I'm wondering why would I need to know this? To me this looks like the type of question that is there specifically because people answer it wrong, they know they answer it wrong and you know they know they answer it wrong so it makes them lower their demands in terms of pay rate.
- remify 7y agoI guess it's an important question because it is about the event loop. Lots of weird things (bugs) can happen when you don't understand how the event loop work. I would definitely pass a "senior" javascript dev that don't know/understand the concept.
- koonsolo 7y agoExactly this. A senior should know that JavaScript runs single threaded with an event loop, and therefore doing heavy calculations will block your user interactions. If you don't know this, you also won't know when to use WebWorkers etc. Juniors can learn, seniors should be the ones teaching them. Seniors should define the architecture of your solution, and solve weird problems. You cannot do this without proper in-depth knowledge.
- s1k3s 7y agoYeah but here's the thing: I do understand the event loop, I understand the sync/async models in JS but I have very little knowledge of how setTimeout works in this context. That's because I've never used it, and I've never used it because the book that I read 15 years ago about JS said something like this: "Here's a function that allows you to run some code after some time. If you feel the need to ever use it, it means you're doing something wrong, therefore please never use it". This very vague explanation combined the lack of usage of it makes it pretty hard for a candidate like me to realize that you are actually asking a question about event loops. So my question is, if you want to see my knowledge about those things, why not ask some direct questions about it?
- koonsolo 7y agoI'm the kind of interviewer that would keep asking until you do know. I would actually start with asking about the event loop. Don't know that, no problem, what happens with setTimeout()? Don't know that, no problem, how does async, await work? Don't know that, why do we need WebWorkers? What happens with an infinite loop? How do events work? etc. There are plenty of ways to see how this person came into contact with the event loop concept, whether in theory or in practice.
- lostmsu 7y agoMeh, I'm with previous commenter. I know what the event loop means, that JS is single threaded, and what setTimeout is supposed to do under normal circumstances. I consider the question stupid, moreover your answer to it is likely incorrect, because it depends on the implementation. I bet Node.js never interrupts the loop for example (and I never even done Node.js, it would just be a sane thing to do). And yeah, you might agree on Node behaving differently, but that just proves the question is very bad. Even with "in browser" clause the answer can change tomorrow for all we know. It is like asking about undefined C++ behavior in an intentionally very bad example.
- hajimemash 7y agoThese are examples of indicators that, taken together, helps determine how in-depth your knowledge is. I imagine that if you work with JS on a more than surface level, you'd eventually be curious about or be forced to understand how things actually work to be able to precisely control your program outcomes. It could be very important. Like the difference between something running at the right time or not.
- zozbot234 7y ago> try to land a job at companies with ex-colleagues, where they are able to vouch for your technical skills. That gets him a foot in the door alright, but I don't think it'd let him avoid those interviews?
- treeman79 7y agoInterviewed a guy who wrote a JavaScript book. He Had no idea how to do anything other than write books.
- robinduckett 6y agoThere's a video of a talk I gave floating around the internet somewhere a year or two after Node.js came out where I talk about Node, the Event Loop, and how much I liked JS. Perhaps they saw it and were like "ew!"