Hacker News new | ask | show | jobs
by ericgoldberg 4660 days ago
Personally, I like using HTTP principles when interviewing web developer candidates. I'm not expecting people to know every detail of every RFC, or trivia type stuff in general. I more am interested in how much they know / can figure out about how HTTP-based communication works. I will ask stuff like "Explain how a redirect works, and how clients/browsers and servers interact with each other during a redirect." Also, REST is built on the concept of using HTTP verbs and resources properly, so it is nice to ask them to design a rough draft of an API to edit, add, delete, and list users via HTTP. Without asking them to do it RESTfully. It's telling if their first instinct is to have a "createUser" endpoint versus a POST to /users/
1 comments

> It's telling if their first instinct is to have a "createUser" endpoint versus a POST to /users/

It's telling of what exactly?

RESTful is just one style of creating application interfaces over HTTP. And as far as I know, web apps with true RESTful interfaces are somewhat rare. [1] If you don't ask the candidate to do it RESTfully, it seems like you're doing the common interview anti-pattern of asking a question that is open-ended but expecting a particular answer.

[1] http://www.intridea.com/blog/2010/4/29/rest-isnt-what-you-th...

> It's telling of what exactly?

That the candidate favors transport-agnostic APIs or has limited familiarity with HTTP. One easy follow-up: "I notice you decided to call the method createUser..." and you've learned something concrete. They'll either stare blankly or discuss their preference for JSON-RPC or SOAP or whatever.

> And as far as I know, web apps with true RESTful interfaces are somewhat rare.

It's common to take advantage of HTTP's verb syntax.

It's telling that they don't know (or do know, but don't see the benefit in) RESTful interfaces. Which isn't a dead-end for the interview, it just leads to more questions to see what they understand about HTTP. I'm not expecting a particular answer, I'm using a question to understand where someone is at and then using the following discourse to understand how they arrived there.