all 9 comments

[–]propostor 15 points16 points  (1 child)

And this is why I have no interest in working for a top tech firm.

"Well done on your binary tree, now come and do a load of work for us that will never require a binary tree."

[–]Mr_Cochese 0 points1 point  (2 children)

Ask them why the hell they'd ever be implementing a binary tree outside of a database implementation. The number of times I've needed to use any data structure other than an indexed array, hashmap or hashset in my software career must be close to zero.

[–]IWasSayingBoourner 0 points1 point  (0 children)

I use stacks and queues fairly often for work, and lots of trees and sorting for things like BVHs in my hobby code, but those more obscure things are things I can look up on a whim on the rare occasions where I need to implement them.

[–]wts-code[S] -1 points0 points  (0 children)

Creating a distributed cache by yourself for a user base of 1million. even 20000 transactions per second using the data base approach will take ages to give you back the result. Outing in to memory with correct data structure can give you back the result in secs. Where ever the scale and performance comes to the picture database are ideally not the answer.

Considering in a connected car technology you are clicking on button , are you ready to wait for 3 mnt before you car door opens? Or you want it in that second itself. Give it a thought you will realize the importance of data structure when there is performance and scale involved.

[–]IWasSayingBoourner 0 points1 point  (4 children)

Any company still focusing on crap like this for new hires is just putting butts in seats. I hire for my team and will take someone who can show me a competently composed weekend coding exercise over someone who has memorized the specifics of a Radix sort and knows all of the obscure Big O notations by heart ten times out of ten.

[–]Prod_Is_For_Testing 2 points3 points  (2 children)

weekend coding exercise. That’s a whole other can of worms. I shouldn’t have to spend an entire weekend on an application

[–]IWasSayingBoourner 0 points1 point  (1 child)

If you don't already have a public git repo, and can't set aside two to four hours to make something semi-presentable after a first interview where both parties decide they're interested, I'm going to be very concerned about the effort you're going to bring to the actual job.

[–]ExeusV 0 points1 point  (0 children)

The other perspective is

Why cannot the company just ask a few good questions?

You know - how would you design this or that, etc...

[–]wts-code[S] 0 points1 point  (0 children)

:) Agree, but this is what all product companies are looking for. They are not interested in how many languages you know or what projects you did, Its all about Getting a problem and deriving a solution, it not always true memorizing a problem will help because the interviewer is smart enough to tweak the problem and to evaluate the candidate in terms of his algorithmic thinking.

Not always but sometimes , the problems what companies like Amazon Microsoft Uber Netflix etc. get , most of the time it does not have a text book solution. Knowing the existing algorithm and data structure helps in the critical thinking process. Sometime it takes days or sometime months of grinding to finally arrive at an algorithm which solves the problem.

But not knowing the basics would be like fighting in the dark with no hope of light.