Live data from Hacker News

Deep Learning Interviews book: Hundreds of fully solved job interview questions

github.com

41–50 of 157 posts

Re: Deep Learning Interviews book: Hundreds of fully solved job interview questions

#41
The ML/DS positions highly competitive these days. I don't get why ML positions requires hard preparations for the interviews more than other CS positions while you do similar things. People expect you to know a lot of theory from statistics, probability, algorithms to linear algebra. I am ok with knowing basic of these topics which are the foundations of ML and DL. But I don't get to ask eigenvectors and challenging algorithm problems in an ML Engineering position at the same while you already proof yourself with a Masters Degree and enough professional experience. I am not defending my PhD there. We will just build some DL models, maybe we will read some DL papers and maybe try to implement some of those. The theory is the only 10% of the job, rest is engineering, data cleaning etc. Honestly I am looking for the soft way to get back to Software Engineering.

Re: Deep Learning Interviews book: Hundreds of fully solved job interview questions

#42
I think I know the answer to this, but how bad should I feel for being a software engineer with little-to-no knowledge of deep learning. I suspect it's not bad at all since the software engineering field has split into a few camps, and mine - backend systems work - isn't in the same universe as the machine learning one, for the most part.

Re: Deep Learning Interviews book: Hundreds of fully solved job interview questions

#43
post #14

Earlier quoted context omitted.

I think they're fine as long as you know the format and have an opportunity to prepare or just get in the right mindset for it. And some things (like binary search) should be easy to write anyway. The SQL questions can also be a symptom of the type of job - Facebook's first data science round focuses a lot on SQL but that's because it's a very product/analytics/decision-making focused role without that much coding or…

> And some things (like binary search) should be easy to write anyway. It's a different story when a) your mind is set on statistics/linear algebra b) you've never had to actually implement binary search by hand since college and c) even if you do implement the algorithm and demonstrate that you have a general understanding, it must work perfectly and pass test cases otherwise it doesn't count. FWIW I was rarely aske…

Binary search in particular is surprisingly tricky, which is precisely what makes it useful for telling if someone knows how to program. To a significant extent, though, you can cheat by studying binary search itself, which is a surprisingly beautiful thing.

I like this formulation for finding the first index in a half-open range where p is true, assuming p stays true thereafter:

    bsearch p i j :=
     i                   if i == j else
     bsearch p i       m if p m    else
     bsearch p (m + 1) j
     where m := i + (j - i)//2
Or in Python:

    def bsearch(p, i, j):
        m = i + (j - i) // 2
        return (i if i == j
                else bsearch(p, i, m) if p(m)
                else bsearch(p, m+1, j))
The only tricky thing about this formulation is that m = k it gives the usual binary search on an array without early termination. The i + (j - i) // 2 formulation is not needed in modern Python, but historically an overflowing (i + j) // 2 was a bug in lots of binary search library functions, notably in Java and C.

(Correction: I said a[m] <= k. This formulation is less tricky than the usual ones, but it's still tricky!)

Re: Deep Learning Interviews book: Hundreds of fully solved job interview questions

#44
post #41

The ML/DS positions highly competitive these days. I don't get why ML positions requires hard preparations for the interviews more than other CS positions while you do similar things. People expect you to know a lot of theory from statistics, probability, algorithms to linear algebra. I am ok with knowing basic of these topics which are the foundations of ML and DL. But I don't get to ask eigenvectors and challenging…

A reason for such requirements is similar to that that software engineers need to leetcode hard: supply and demand. Prestigious companies get hundreds, if not thousands, of applications every day. The companies can afford looking for candidates who have raw talent, such as the capability of mastering many concepts and being able solve hard mathematical problems in a short time. Case in point, you may not need to use eigenvectors directly in the job, but the concept is so essential in linear algebra and I as a hiring manager would expect a candidate to explain and apply it in their sleep. That is, knowing eigenvector is an indirect filter to get people who are deeply geeky. Is it the best strategy for a company? That's up to discussion. I'm just explaining the motives behind such requirements.

Re: Deep Learning Interviews book: Hundreds of fully solved job interview questions

#45
post #41

The ML/DS positions highly competitive these days. I don't get why ML positions requires hard preparations for the interviews more than other CS positions while you do similar things. People expect you to know a lot of theory from statistics, probability, algorithms to linear algebra. I am ok with knowing basic of these topics which are the foundations of ML and DL. But I don't get to ask eigenvectors and challenging…

Maybe "eigenvectors" is a bad example, because it's a pretty foundational linear algebra concept.

But there is a threshold where it stops being a test of foundational knowledge and starts being a test of arbitrary trivia, and favors who has the most free time to study and memorize said trivia.

Re: Deep Learning Interviews book: Hundreds of fully solved job interview questions

#46

This book has fun problems! Example: During the cold war, the U.S.A developed a speech to text (STT) algorithm that could theoretically detect the hidden dialects of Russian sleeper agents. These agents (Fig. 3.7), were trained to speak English in Russia and subsequently sent to the US to gather intelligence. The FBI was able to apprehend ten such hidden Russian spies and accused them of being "sleeper" agents. The A…

A single letter is chosen randomly? Huh? Why would you do that?

Re: Deep Learning Interviews book: Hundreds of fully solved job interview questions

#47
post #43

Earlier quoted context omitted.

> And some things (like binary search) should be easy to write anyway. It's a different story when a) your mind is set on statistics/linear algebra b) you've never had to actually implement binary search by hand since college and c) even if you do implement the algorithm and demonstrate that you have a general understanding, it must work perfectly and pass test cases otherwise it doesn't count. FWIW I was rarely aske…

Binary search in particular is surprisingly tricky, which is precisely what makes it useful for telling if someone knows how to program. To a significant extent, though, you can cheat by studying binary search itself, which is a surprisingly beautiful thing. I like this formulation for finding the first index in a half-open range where p is true, assuming p stays true thereafter: bsearch p i j := i if i == j else bse…

> Binary search in particular is surprisingly tricky, which is precisely what makes it useful for telling if someone knows how to program.

That's the problem. There are many other ways to do that without risking false negatives and annoying potential candidates (e.g. I would not reapply to places that have rejected me due to skepticism about my programming abilities and using tests blatantly irrelevant to day-to-day work because it's a bad indication of the engineering culture).

Even FizzBuzz is better at accomplishing that task.

Re: Deep Learning Interviews book: Hundreds of fully solved job interview questions

#48
post #7

Data science and ML interviews can be tough because it's very difficult to prepare for everything and cover all the theory. A lot of the value you add comes from knowing the theory so it's understandable to test it but it's still hard to prepare well. And you have a take-home and/or LC style problem(s) in addition to the theory interview.

The hard questions in DS/ML interviews I've received over the years aren't the theory questions (which I rarely get asked), but the trick SQL questions that often depend on obscure syntax and/or dialect-specific features, or "implement binary search" when I'm not in the mindset for that as that isn't what DS/ML is in the real world.

I had an "implement binary search" interview once. I came away feeling like I was being interviewed for the wrong role. I don't understand how anyone could think that's an appropriate interview task for a DS position.

Re: Deep Learning Interviews book: Hundreds of fully solved job interview questions

#49
post #43

Earlier quoted context omitted.

Binary search in particular is surprisingly tricky, which is precisely what makes it useful for telling if someone knows how to program. To a significant extent, though, you can cheat by studying binary search itself, which is a surprisingly beautiful thing. I like this formulation for finding the first index in a half-open range where p is true, assuming p stays true thereafter: bsearch p i j := i if i == j else bse…

> Binary search in particular is surprisingly tricky, which is precisely what makes it useful for telling if someone knows how to program . That's the problem. There are many other ways to do that without risking false negatives and annoying potential candidates (e.g. I would not reapply to places that have rejected me due to skepticism about my programming abilities and using tests blatantly irrelevant to day-to-day…

FizzBuzz (or equivalent) is actually great IMO. It weeds out the people who lied on their resume, without punishing the people who never learned CS because they were too busy learning things that were actually useful to DS, like statistics or data visualization.

Re: Deep Learning Interviews book: Hundreds of fully solved job interview questions

#50

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…

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.

Post reply on HN