Grokking, and having confidence in, the front-end interview
April 23, 2022 7:51 AM Subscribe
Are there some resources out there that can level-set me for front-end programming interviews?
I've been doing mostly front-end programming for 7 years now (Vue, a little React, jquery, portlets, etc, etc). Despite a lot of small company successes, I'm often working by myself and feeling like I'm making it up as I go along by cobbling together best practices and blog posts and discords and stackoverflows and...
I've almost never had other front-end programmers looking at my work and saying "Don't do that, do this instead". This doesn't lead to feeling confident about my work products, and likely leads to some genuine professional weaknesses.
Now I'm looking at interviewing for larger spaces. There are a lot of "Grokking the (insert tech here) Interview" resources, but not that many for the front-end. Are there resources beyond a simple search that can help me practice that common language that is expected, and tamp down my ADHD/anxiety for interviews?
I've been doing mostly front-end programming for 7 years now (Vue, a little React, jquery, portlets, etc, etc). Despite a lot of small company successes, I'm often working by myself and feeling like I'm making it up as I go along by cobbling together best practices and blog posts and discords and stackoverflows and...
I've almost never had other front-end programmers looking at my work and saying "Don't do that, do this instead". This doesn't lead to feeling confident about my work products, and likely leads to some genuine professional weaknesses.
Now I'm looking at interviewing for larger spaces. There are a lot of "Grokking the (insert tech here) Interview" resources, but not that many for the front-end. Are there resources beyond a simple search that can help me practice that common language that is expected, and tamp down my ADHD/anxiety for interviews?
One thing that can help me in these situations is to simplify your offering. That is, don't try to predict the content of interviews which famously do not have much to do with the actual job and are unpredictable in the concepts mentioned. Nothing makes this scarier than "it could be anything!" And it can. :/
You're good at Vue? I would read migration documents if they say they use something different. "How/why we switched from Vue/React to the other one." Get a sense of the jargon and how to translate what you currently do with Vue into React, as well as common things people do with React and how you accomplish something similar in Vue. Goods and bads. This will help in scenario questions to give you a sense of breadth in describing solutions at least partially in terms of both. It also lets you triangulate into best practices across frameworks (and non-), which I've found in my backend history to be a place ripe for discussion and assertion of your strengths. A lot of interviewers don't always seem to give a lot of consideration to big picture stuff (one of my persistent bigotries is that this is why you see interviewers in the startup space speaking in terms of Computer Science academics: it's the only generalized knowledge they have).
If nobody complains about your code, use that! Every shop is going to have their own idiosyncrasies, if the topic even comes up you can easily turn it around to ask about variations on idiomatic programming they might employ. "We keep it fairly generic, except we don't use arrays. Ever."
This is all assuming you're going into a React interview of course, just for the purposes of discussion. Substitute where necessary. If they're Vue jobs I'm also assuming you'd be OK with what knowledge you have already. Searching HN for Vue and React in the same place is a good way to find both big-picture and niggling-detail discussions among overconfident people (very useful language in an interview context).
posted by rhizome at 1:59 PM on April 23, 2022 [1 favorite]
You're good at Vue? I would read migration documents if they say they use something different. "How/why we switched from Vue/React to the other one." Get a sense of the jargon and how to translate what you currently do with Vue into React, as well as common things people do with React and how you accomplish something similar in Vue. Goods and bads. This will help in scenario questions to give you a sense of breadth in describing solutions at least partially in terms of both. It also lets you triangulate into best practices across frameworks (and non-), which I've found in my backend history to be a place ripe for discussion and assertion of your strengths. A lot of interviewers don't always seem to give a lot of consideration to big picture stuff (one of my persistent bigotries is that this is why you see interviewers in the startup space speaking in terms of Computer Science academics: it's the only generalized knowledge they have).
If nobody complains about your code, use that! Every shop is going to have their own idiosyncrasies, if the topic even comes up you can easily turn it around to ask about variations on idiomatic programming they might employ. "We keep it fairly generic, except we don't use arrays. Ever."
This is all assuming you're going into a React interview of course, just for the purposes of discussion. Substitute where necessary. If they're Vue jobs I'm also assuming you'd be OK with what knowledge you have already. Searching HN for Vue and React in the same place is a good way to find both big-picture and niggling-detail discussions among overconfident people (very useful language in an interview context).
posted by rhizome at 1:59 PM on April 23, 2022 [1 favorite]
Best answer: Companies have a complementary problem to what you describe. There is not much agreement across the industry about what a qualified web dev looks like. Speaking as a front end hiring manager, I would love to require an exact tech stack like React + Typescript + GraphQL and require experience in CI/CD, functional programming, test-driven development, and other things. But if I want enough candidates in the pipeline, I have to move most of those requirements to the "Plusses" / "Nice To Have" section of a job description.
At 7 years in your career, as an interviewer, i'd expect you to be at a senior to staff engineer level and have more software design principles in your head. I'd be looking for an ability to compare multiple solutions and weigh pros/cons. I'd want you to understand different algorithms and when to use them. Technical questions will tend to be about the trickier features of JS like async/promises, web workers, or inheritance. And beyond that, the interview loop would include behavioral questions that show how you work with people, manage your time, clarify software requirements, or pitch controversial technical ideas. As you get more senior, it's less about your proficiency in a given tech stack.
posted by ErikH2000 at 5:32 PM on April 23, 2022 [2 favorites]
At 7 years in your career, as an interviewer, i'd expect you to be at a senior to staff engineer level and have more software design principles in your head. I'd be looking for an ability to compare multiple solutions and weigh pros/cons. I'd want you to understand different algorithms and when to use them. Technical questions will tend to be about the trickier features of JS like async/promises, web workers, or inheritance. And beyond that, the interview loop would include behavioral questions that show how you work with people, manage your time, clarify software requirements, or pitch controversial technical ideas. As you get more senior, it's less about your proficiency in a given tech stack.
posted by ErikH2000 at 5:32 PM on April 23, 2022 [2 favorites]
Best answer: Highly recommend this Frontend Masters course by Jem Young, an Engineering Manager at Netflix. I can personally attest that it is current, relevant and helpful in prepping for frontend interviews!
posted by rogerroger at 7:13 PM on April 23, 2022 [1 favorite]
posted by rogerroger at 7:13 PM on April 23, 2022 [1 favorite]
Not sure what "larger spaces" means to you, but at the Big Tech companies your interview is very likely to include/focus on data structures and algorithms that you may have had little exposure to in your day-to-day front-end work. You'll be expected to know/may be asked about stuff like the DOM API, CSS principles, etc, but you're unlikely to be asked anything framework-specific, even if you're interviewing for a "front-end role." I found leetcode extremely helpful in preparing for these interviews.
posted by ludwig_van at 7:34 AM on April 25, 2022 [1 favorite]
posted by ludwig_van at 7:34 AM on April 25, 2022 [1 favorite]
This thread is closed to new comments.
Unfortunately, this won’t give you real feedback on your areas of improvement.
posted by migurski at 1:48 PM on April 23, 2022 [1 favorite]