Hacker News new | past | comments | ask | show | jobs | submit login

It looks like a test for how good you are at over engineering things. Making classes for data processing functions is OOP wrongly done in my opinion. Simple functions or even a lambda seems more appropriate, ability to make it simple is seems less impressive but it takes experience. Plus what if your language is functional and doesn't even have classes?



> It looks like a test for how good you are at over engineering things. <

Sorry I typed it all on mobile, so laziness got to me. But it seems like that you missed the point of the test by a fair margin. The test allows you to judge overengineering too. The whole idea is, give them scenarios like this, suitable to your values and business needs. Every language has abstractions, and it is the decision to figure out good abstraction vs bad abstraction vs no abstraction.

Making a calculator class is an overkill IMHO, and this is precisely why the next task is to "create an interest rate calculation method which offers different interest rate based on credit rating", the whole idea is, that here any developer worth their salt, will be separated from the chafe. Of course, you will need to help them a bit to steer in the right direction, but the test isn't about knowledge, but of their perspective.


I reacted at

> If he implements a class Calc with two methods as Add and Subtract, then give him 5 points, if he just writes another method then zero points.

Sorry for misunderstanding your whole point (no sarcasm, my english is not ideal)


Oh I understand. What I skipped explicitly writing there is, if he writes an abstraction, and defends it well then give him 10 points, if he can't defend, give him 5 points. If he doesn't write an abstraction and defends it well, then give it 10 points, if not then 0....you get the jist.

The fundamental point is, who can best figure out the requirements of the customer, and write code which makes most sense with least amount of 'future problems'.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: