Hacker News new | ask | show | jobs
by light_hue_1 1623 days ago
I've interviewed well over 100 people for DL/ML positions. This may be a good roadmap to what some people ask, but it's a terrible guide to what you should ask. It's like a collection of class exam questions.

Just as in programming, the world is full of people who can recite facts but don't understand them. There is no point in asking what an L1 norm is and asking for its equation. Or say, giving someone the C++ code that corresponds to computing the norm of a vector and asking them "what does this do". Or even worse, showing them some picture of some cross-validation scheme and asking them to name it. Yes, your candidates should be able to do this, but positive answers to these kinds of questions are nearly useless. These are the kinds of questions you get answers to by Googling.

It's far more critical to know what your candidate can do, practically. Create a hypothetical dataset from your domain where the answer is that they need to use an L1 norm. Do they realize this? Do they even realize that the distance metric matters? Are they proposing reasonable distance metrics? Do they understand what goes wrong with different distance metrics? etc. Or problems where they need to use a network but say, padding matters a lot. Or where the particulars of cross validation matter a lot.

This also gives you depth. "name this cross validation scheme" gives you a binary answer "yes, they can do it, or no they can't" And you're done. If you have a hypothetical dataset, you can keep prodding. "Ok, but how about if I unbalance the data" or "what if we now need to fine tune" or "what if the payoffs for precision and recall change in our domain", "what if my budget is limited", etc. It also lets you transition smoothly to other kinds of questions. And to discover areas of deeper expertise than you expected. For example, even for the cross validation questions, if you ask that binary question, you might never discover that a candidate knows about how to use generalized cross validation, which might actually be very useful for your problem.

The uninformative tedious mess that we see in programming interviews? This is the equivalent for ML/DL interviews!

3 comments

Do you have any books/material that can help the learner acquiring this deeper understanding?
I know one good reference.

https://www.deeplearningbook.org/

Also there are various courses and lectures but that needs time and effort. There is no short cuts like the book posted by OP.

I believe "shortcut books" like the one posted by OP appeal to some of us because it's a succinct source of, basically... lookup queries. That is, when we run across a question we can't answer, we'd prefer to Google that topic on our own and learn in our own nonlinear style. Don't give me a pile of textbooks corresponding to 6-10 semesters of classes, give me a single book like this and let me research by myself everything it refers to.
Yeah. You just have to build models, experiment, intentionally make bad decisions, and get a feel for how things work. There's no clear shortcut.

But, this is also what you will practically be doing.

I make a point of never doing "projects" during a recruitment process. The fact is that there are too many good opportunities out there that will not require me two spend a full day or even several days in a week to complete a job application, without compensation. Whenever I hear that there is a "project" to complete, I just tell them that I already have tons of projects to work on and pass the "opportunity".
A problem with these questions is that a lot of them people can answer without knowing ML/DL, admittedly cherry picked but still.

For example what is the definition of two events being independent in probability?

Or the L1 norm example: 'Which norm does the following equation represent? |x1 − x2| + |y1 − y2|'

Find the taylor series expansion for e^x (this is highschool maths).

Find the partial derivatives of f (x, y) = 3 sin2(x − y)

Limits etc...

These aren't specific to deep learning or machine learning, not that I claim to be a practitioner.

Exactly I though the same. Not sure what a really good alternative is. BUT you may be in risk to get bad candidates, since they might be the ones with the best intrview practice.

Maybe that kind of questions are ok for people without expirience but not for seniors.