Live data from Hacker News

Interviewing as a Front-End Engineer in San Francisco

css-tricks.com

131–140 of 188 posts

Re: Interviewing as a Front-End Engineer in San Francisco

#131
post #80

We were hiring a non-senior full-stack developer recently and I noticed there were no "frontend" questions on the list, so I added what I thought would be a question that any developer with frontend experience could answer, and would also pave the way for some more interested discussions for an advanced candidate. The question was something to the effect of "In JavaScript, what is the value of 'this' in a method?" I…

I've been doing Javascript for a few years and recently answered a few StackOverflow questions. One was regarding "this".If anyone wants to hire my ass feel free to contact me. One of my techniques for learning has been by going on interviews and flopping, then going back and learning all the interview question material on my own time. Wash and repeat.I've been doing this bullshit since the first day I started teachi…

If you're looking, we are still hiring for a third position (we've been on a bit of a binge lately with hiring). http://agency.governmentjobs.com/washington/default.cfm?acti...

Re: Interviewing as a Front-End Engineer in San Francisco

#132
post #8

A coworker and I wrote a script that's been through a few iterations based on feedback and tailored to whatever company I'm hiring for. Based on the participants self-rating (1-10) you can ask increasingly more nuanced questions in each area of CSS, HTML, and JS. Here's the front-end interview script I use: https://gist.github.com/potench/e71e09c882628054c119 So far it seems to do a good job at promoting conversation…

This is a good list. Can I ask you something though? I've always been curious about the value of questions like these (just to take a sample):

> On a scale of 1-10, what is your comfort level developing with HTML, CSS & JavaScript?

> How well do you think you work with other fellow developers?

> Given a choice, would you rather work alone or in tandem with someone?

What are the "correct" answers to these? Or more specifically, in your opinion what are the "wrong" answers?

On the first, the problem I see is one of self-reporting. We have seen developers self-report a 9 on something, only for us to determine later based on the interview that they were more like a 5. We didn't put value on either of these numbers, because both were relative - the "9" was presumably relative to his previous job environment, and the "5" was relative to ours. (At another company the person could've been a "2", for example.) Fact is, it doesn't really matter - we were just looking to see if the person can add value, regardless of whether they were a 5 or a 10.

On the latter two: we have had "loners" crank out incredible bits of code on their own, and "team people" do the same as part of a larger group. We have also seen people switch between the two "personality types" based on context - the specific project, their team mates for the project, and so on.

So we prefer not to ask these types of questions as we don't seem to get any relevant information out of them, but perhaps we're missing something, and so I'm curious as to what your motivations are.

Re: Interviewing as a Front-End Engineer in San Francisco

#133
I believe the mindset behind this behavior is A) they take it for granted that you're proficient in your stated area of expertise, B) they're not necessarily proficient in your area of expertise, so wouldn't be able to assess your skills anyway, C) algorithm knowledge is hard to fake, so your false positive rate for hardcore engineers will be low, even if your false negative rate will be ridiculously high.

Google's publicly available prep material reinforces this third point, even if they don't say it explicitly. They recommend books, point you toward places where you can learn the concepts, and tell you if you fail once, try again in a few months.

Re: Interviewing as a Front-End Engineer in San Francisco

#134
I do lots of front-end work and have tended to do front-end phonescreens for the past few years. I'm a huge fan of Steve Yegge's five essential phone screen questions: https://sites.google.com/site/steveyegge2/five-essential-pho...

Good breadth, no one gets bounced for not knowing a couple of the answers, great way to get a larger picture of what the candidate knows (or doesn't!).

Designers-turned-JSers tend not to do so well on data structures and bits and bytes.

After the five questions, I move to HTML/CSS questions: inline vs. block, what does float really do, the display property, valid values for display besides "none", visibility: hidden vs display: none, position, absolute vs. relative (with relative offset parent questions thrown in).

For the JS portion, I ask scoping, closures, global object, the values of "this" based on calling context.

I like front-end engineers who are also, y'know, engineers. I like working with people who I can say "that distributed system has performance characteristics akin to a hashtable" and they know what I mean.

Re: Interviewing as a Front-End Engineer in San Francisco

#135

Earlier quoted context omitted.

One of my favorite quotes: "Never memorize something that you can look up." --Albert Einstein

Then again, you probably should memorize it after looking it up for the 10th time.

Statistically speaking, I haven't had to look them up that many times. I've a high percentage of the JDK memorized though, and a pretty good portion of the CocoaTouch and Objective-C Foundation framework. :-)

Re: Interviewing as a Front-End Engineer in San Francisco

#136
post #51

Are algorithm questions really that useful when looking for a candidate? I find myself being really nervous about applying to other jobs because I'm not formally trained in CS. My job and side projects are mostly web sites that require knowledge about how to architecture software but I very rarely write complex algorithms. If something comes up where I need to optimize something I can usually spend some time Googling…

I think the answer to this is "it depends".

When interviewing engineers at my last gig, we tried to find people who will "get things done", which in turn depends a lot on your specific job role. For a good majority of the software dev positions we had, getting things done didn't require in-depth knowledge of arcane data structures or algorithms. We just needed the candidates to be smart, and ideally have some experience in what they were being hired for.

So for say an iOS dev position, we would pick the candidate who had released two apps on his own but maybe didn't know much about say red-black trees, vs. the candidate who knew all his CS theory but hadn't yet written a single line of iOS code. We also valued good communication skills, and what Linus refers to as "good taste".

However, we did have a few roles (machine vision, big data, etc) where algorithmic knowledge was essential to getting things done. And for these roles, we always favored candidates who had excellent math & algorithmic chops.

So it depends. I think the problem really is that most interviewers run all candidates through an identical "favorite list of questions", regardless of what the role is. This is quite unfortunate.

Re: Interviewing as a Front-End Engineer in San Francisco

#137
post #35

Similar in NYC. I remember an interview where I was asked to bit-shift in Javascript, for the sake of itself. I've also had good experiences though--I liked one where I had to build certain UI components and get my code evaluated in real-time.

Since it's just *2 (right shift) or /2 (left shift), I'm pretty sure they wanted to quickly test how are you with general programming knowledge.

In javascript, the number type is just number. To truly bit shift with this method, you'd need to convert the bitwise representation into a number, perform the given operation, handle the corner case of odd numbers when dividing, and the convert it back into some representation of bits.

Trying to judge people with questions like this seems like a misguided endeavor. Yes, it's probably valuable to know that bitshifting is roughly equivalent to *2 and /2. But that's more like trivia - the chances you'll actually use that in real life is really low. I've had to work with people that think bitshifting is an appropriate optimization for division/multiplication by even numbers. I then have to explain overflows, underflows, and the fact that the compiler will compile it to shifts if appropriate anyway, so don't sacrifice readability in the name of micro-optimization.

Re: Interviewing as a Front-End Engineer in San Francisco

#138

Earlier quoted context omitted.

That's cool. But don't write JS if you don't know what this does, because it will bite you.

Or just avoid using `this` unless you're sure about what it does in a particular context.

Or just learn what 'this' means because, seriously, you're a programmer and it's not that hard to figure out.

Re: Interviewing as a Front-End Engineer in San Francisco

#139

I know it's a bit off-topic, but I'm a student so anything about interviews interests me a lot. For the Bacon Number question, I'm struggling a bit to get my head around a good way to do it. My immediate idea is to derive a graph where nodes are actors and an edge between 2 actors means they've been in 1 or more films together. I believe the shortest path between them and Bacon could then be found by breadth-first se…

There's no need to construct the graph. The dictionary already is a graph.

Re: Interviewing as a Front-End Engineer in San Francisco

#140
post #82
post #51

Are algorithm questions really that useful when looking for a candidate? I find myself being really nervous about applying to other jobs because I'm not formally trained in CS. My job and side projects are mostly web sites that require knowledge about how to architecture software but I very rarely write complex algorithms. If something comes up where I need to optimize something I can usually spend some time Googling…

> Are algorithm questions really that useful when looking for a candidate? I go back and forth on this. I do machine learning/backend large scale engineering stuff. I have typically found that very rarely do companies actually really grill me on these things. It is mostly computer science theory (a.k.a algorithms/data structures). It used to annoy me a bit especially many questions have embedded tricks that make them…

I like your statement. Especially "Because they help you know what to google for." That's been my thought pattern in general.
Post reply on HN