Live data from Hacker News

Why asking complex low-level algorithms in a Java job interview?

news.ycombinator.com

1–10 of 13 posts

Why asking complex low-level algorithms in a Java job interview?

#1
I can't understand why I am asked to resolve some tricky/stupid/unreal algorithm using Java in a job test. I am missing something?? I know that the code has to be as efficient as possible and the pragmatism is cool and so on.

I just think that what Java is looking for is getting away from all of that. And there are a lot of better solutions for this kind of jobs like C, or even R.

I think the nature of the problems to solve in Java are not related with this complex algorithms. I mean, I have been training myself in generics, OOP, SOLID principles, Clean Code, Design Patterns, TDD, BDD and some others for the last three years.

How I am supposed to show my skills in one hour resolving a low level algorithm in a web IDE (this particular case)? All my "low level thinking" is pretty oxidized.

Maybe I am just wrong. A novel speaking.

Re: Why asking complex low-level algorithms in a Java job interview?

#3

I don't think it has to do with Java in particular, but rather with testing your algorithmic and problem-solving skills in general

Yes I totally understand but I think the nature of the problems to solve in Java are not related with this complex algorithms. I mean, I have been training myself in generics, OOP, SOLID principles, Clean Code, Design Patterns, TDD, BDD and some others for the last three years.

How I am supposed to show my skills in one hour resolving a low level algorithm in a web IDE (this particular case)? All my "low level thinking" is pretty oxidized.

Maybe I am just wrong. A novel speaking.

Re: Why asking complex low-level algorithms in a Java job interview?

#4
Because programmers love to be huge dicks to one another and it is unfortunately widely supported behaviour in the community.

In no other field is it really acceptable to ask a candidate to solve issues that have nothing to do with the job, I liken it to asking your prospective surgeon how they'd fix a leaking faucet, or a plumber how they'd repair a ruptured artery.

However I am most definitely in the minority, most programmers thing it is perfectly fine and normal that you have to study obscure CS curricular whenever you apply for a programming job. Then never ever use that same material again while at that job.

Sorry you had to interview at a dicky company, just do what I do, reject them as somewhere you want to work and move on. It speaks volumes of the atmosphere (e.g. unrealistic expectations, treating people badly, arrogant/pompous employees, etc).

Re: Why asking complex low-level algorithms in a Java job interview?

#5
It really depends on the company and your role.

If you are entry level, I can see testing you on this since it should be fresh in your mind from school and you probably know nothing anyway.

If you have been coding for 5-6 years doing annotations and configuration heavy java code. Chances are you remember nothing and will need to study up. To me, this is completely useless and if your job doesnt entail doing this, I have no idea why they ask these questions.

I think what would be a far better option would be to ask you a few algorithm questions, give you a packet to study, then invite you back to test again. Because in my mind the biggest indicator of success as a programmer is the ability to learn new things in a short period of time.

I think this is why companies like google still ask these questions (in addition to being a remnant from the times when every developer at google worked intimately with complex data structures) is that they want to see if you can learn it. I don't think anyone there has delusions that anywhere close to 100 percent of their accepted applicants knew this stuff before the interview process, but again I think they want to know if they can learn it quickly

Re: Why asking complex low-level algorithms in a Java job interview?

#8
post #3

I don't think it has to do with Java in particular, but rather with testing your algorithmic and problem-solving skills in general

Yes I totally understand but I think the nature of the problems to solve in Java are not related with this complex algorithms. I mean, I have been training myself in generics, OOP, SOLID principles, Clean Code, Design Patterns, TDD, BDD and some others for the last three years. How I am supposed to show my skills in one hour resolving a low level algorithm in a web IDE (this particular case)? All my "low level thinki…

How are you supposed to demonstrate those skills in an hour doing anything? The only practical way to determine high level skills, such as the ones you listed, is through studying past work. The company has probably already formed an opinion on those skills and is testing to see how well rounded your skill set is.

Re: Why asking complex low-level algorithms in a Java job interview?

#9
post #5

It really depends on the company and your role. If you are entry level, I can see testing you on this since it should be fresh in your mind from school and you probably know nothing anyway. If you have been coding for 5-6 years doing annotations and configuration heavy java code. Chances are you remember nothing and will need to study up. To me, this is completely useless and if your job doesnt entail doing this, I h…

Good answer. I need a week for getting all my low-level tools sharpened for this kind of job. But I don't want this kind of job so.. Done.

Re: Why asking complex low-level algorithms in a Java job interview?

#10

I often ask on interviews about binary search and hash tables. These are things which we use very often in libraries, and aren't that complicated.

Arrays.binarySearch(...) And for a more in deep knowledge, Google. This is what I expect from a Java programmer.

Hash tables... Hashtable vs HashMap? Classic one.

Post reply on HN