Ask HN: I got rejected because i don't know number theory, is that fair?

2 points by mrwnmonm ↗ HN

14 comments

[ 4.1 ms ] story [ 47.3 ms ] thread
It depends - you've told us nothing. Who rejected you and why do you think they think number theory is relevant?

A few years ago when we were hiring we took enormous efforts to be welcoming and to put interviewees at ease. We know that going for an interview is stressful, so we honestly did everything we could to make the candidates perform well enough to show us what they could do.

After a couple of weeks we got a call from the agency saying "What are you doing to these people?"

The agency debriefed the candidates after they were interviewed by us, and every one of them was saying "Holy F* - those guys are scary!"

But we're not, honest we're not, we just needed to know what the candidates knew, what they could do, and how we could build on their abilities to help them become useful.

So, what were you applying for, and why do you think they rejected you for not knowing Number Theory? Why would Number Theory be relevant?

Speculate.

It was a "Software Engineer, Backend" position, mostly working with Golang and Java, the requirements was:

- B.S. or M.S. degree in a technical field such as Engineering, Computer Science or equivalent experience

- Experience in at least one modern, object-oriented programming language, such as Golang, Java, C++, Python, Ruby, etc.

- Experience working with distributed systems and Web services

- Experience with Git and continuous integration, with a passion for benchmarking and optimisation

- Excellent communication skills in English

- Demonstrated ability to work independently

So no mentioning for special knowledge in Math or anything like that

I applied and was asked to go through a test on HackerRank, it was two problems, i solved the first one, and the second was this one > https://goo.gl/E6XZR8, i didn't solve it and was rejected because of it

They told me that the other candidates got a better score (which means they solved the second problem). I sent a feedback telling them that this is not relevant, and you could actually search for the solutions. They said sorry, the other candidates is more fit to the position.

So i don't get it, should i have just search for the solution and submitted it to get a better score?

What makes you think the other candidates didn't simply program a search? Given that you know it's possible silly to do a search, why did you not do that?

Out do you mean search for the solutions on the web? Ok, now I don't know what you mean.

It seems easy enough to write a program that just searches for the solution. I guess my question is: why didn't you write a program to solve the problem?

Maybe I'm just missing something - it's very late here, and I'm tired. I'll look again at your comment and the link tomorrow.

I tried to solve it, but i felt it needs some kind of Math knowledge. any attempt to solve it without that knowledge, just produce a stupid solution. you could see here https://www.hackerrank.com/challenges/a-very-special-multipl... that it is categorized under Number Theory.

The point is, i love math, if i was asked to deal with a project that require math knowledge, and i was given some time, i would be happy to learn the theory, and i am pretty sure that i will.

So this kind of tests, just check if i have that knowledge right now or not, not if i am able to acquire it or not, and they didn't mention anything about it in the job description, it got me crazy, and i even regret the time i spend applying for the position.

OK, I've looked more at it, and while it might be classed as being under Number Theory it really is just looking at the question of divisibility. You're given X, you need to find a Z of a particular form (one or more 4's followed by zero or more 0's) such that Z is divisible by X.

It looks plausible to do small examples by a brute-force search, but having done that you start to see a pattern in the larger solutions, and realise that you need to look at prime factors. That lets you know what you then have to research to find how to do this. Note: I may yet be missing something - I haven't gone on to code up a complete solution.

But maybe your potential employer felt that exploring things like this, spotting patterns, starting to explore the underlying principles, researching the relevant underlying theory, and then coding up what you find is the kind of thing you'd have to do in the job. Maybe it's not a case of having learned how to do stuff and then apply it over and over, but the willingness to hunt for solutions in situations you haven't met before.

But at the end of the day, if they are the kind of company to reject you for reasons you think are unfair and unreasonable, do you really want to work for them? Maybe you're well out of it.

I think OP meant searching for a solution on e.g. github and stealing it, not programming a simple search algorithm, which doesn't have a chance of succeeding for non-trivial examples. If you don't think of the trick to avoid actually dealing with numbers with tens of thousands of digits you're stranded, which is pretty much a maths problem. The coding pieces are comparatively trivial.
The problem you linked to is a coding problem, not a "number theory".
It requires some knowledge of number theory.
Of course it's a coding problem, but the one efficient solution I could find right now requires tools that clearly fall in the category of "number theory" (even if it hasn't been teached as such), I wouldn't trust on them being part of high-school maths for everyone, and they're going to extremely seldom come up in practice for the vast majority of programmers. And inefficient solutions are going to be way to slow.
How much time did you have for the HackerRank challenge?
90 min, after finishing the first problem i think i had 40 left.
Rejected for what? A job? A date? University admissions? Visa? Nightclub entrance?

I mean, if you're applying for a job in cryptography research, then yeah, it's quite possibly fair (or at least reasonable) to reject someone who doesn't know number theory. If the guy/girl of your dreams rejected you for the same reason, then no, arguably it's not "fair" but then "fair" doesn't really enter into it, does it?

It is a "software enginner - backend" for https://www.centralway.com/uk/

I am aware that the app called "numbrs" but that doesn't mean i should know number theory, it looks like a simple app to me (with a simple Backend)

and the job description didn't mention anything about Math

You don't know number theory?!? Is this a joke?!? And you call yourself a human???