If an interviewer asks you a question like, “Tell me about a time when you evaluated a new technology to solve an old problem,” be sure to use the STAR Model to help yourself give a satisfying answer. STAR stands for Situation, Task, Action, Result. It’s great for answering all sorts of questions about your… Continue reading STAR Interview Tip
Category: applying
Learn to Do
What will more effectively convince a hiring manager that you can produce results for them? Should you focus on making products? Should you complete programming challenges? Past results are the best evidence of future results. But it’s hard to beat solving a problem before the eyes of your interviewer. Here’s Raul’s question: Candidate Question: Preparing… Continue reading Learn to Do
Be Likable
Here’s a gem from the February 20th edition of Mad, Sad, Glad from ManagerTools.com: This is a typical HBR article in that it’s long and academic. The important part is that people would rather work with with someone who is incompetent than someone who is unlikable. If you think that smarts are enough, refer to our very first… Continue reading Be Likable
My Current Favorite Interview Problem Memoize
Just added memoize to my growing catalog of interview questions.
Summary of the Challenge
Part 1 is a discussion. Part 2 gets to the code. You can skip straight to 2 when time is short. This problem is particularly useful for gauging JavaScript familiarity since it takes advantage of functions as objects and closures.
There’s a lot of jargon in the question, but that’s not the point of this challenge. Make sure they understand the question. You might gauge how willing they are to ask questions, but only gently. Don’t put them on the defensive just by the wording of the question.
Part 1: You have a number of expensive pure functions. During the course of any given hour these functions are each called with a small number of inputs. Hour over hour the inputs vary dramatically. Describe how you could improve the performance of the system.
Candidate behaviors to look for: Caches the results and bypasses the expensive function calls when the answer is cached. Memoization. (See formal write up for details.)
Part 2: Write a higher order function (a function that takes a function and returns a function) that accepts a function of arity 1 and returns an identical, memoized function. (See formal write up for candidate template and example solution.)
Good At Differentiating Candidates
You will find that some candidates will solve the problem handily, refactor, then easily run through the examples. Other candidates might have to be coached more through the implementation, but should at least be able to step through the execution of the examples.
Whole Root Challenge
Interviewed another candidate today. A colleague used a challenge based on computing square roots. It’s a very simple problem and still gives a quick feel for a candidate’s comfort with JavaScript and solving problems with code.
I’ve added it to the (tiny) suite of interview code challenges. See github.com/ManagerJS paper-code/whole-root. I hope you find this useful conducting interviews and preparing for interviews.
Here’s a copy of the challenge for your convenience:
paper-code helps you interview
github.com/ManagerJS/paper-code
In addition to writing daily for this blog, I’ve been scraping together resources that web devs and their managers might benefit from during interviewing. I made the ManagerJS GitHub organization to hold those documents and code.
Today I’m announcing the paper-code repository. It will hold programming challenges you can sketch out with pen and paper during interviews. I routinely use these when interviewing intern candidates.
Would You Hire Me if I Didn’t Have a Degree
Any hiring manager has to decide how she feels about college degrees. Is it a must? Nice to have? Irrelevant? It comes up in conversation. You have to decide whether it influences your hiring decisions. Applicants want to know, too. Should I stick it out in college? Should I change my degree from psychology to CS?… Continue reading Would You Hire Me if I Didn’t Have a Degree
Your Resume: JavaScript is Not an Also-Ran
Somewhere Java managers are reviewing resumes. One says to the other: This guy doesn’t look strong enough technically to be a back-end engineer. But hey! I notice he lists html, css, and JavaScript on his resume. Send him to Tyler. He’d probably be a good Web Developer. There is so much wrong with this. I’ll… Continue reading Your Resume: JavaScript is Not an Also-Ran