Timeline for Why interviewers ask algorithm questions even if job position doesn't require such knowledge?
Current License: CC BY-SA 3.0
17 events
when toggle format | what | by | license | comment | |
---|---|---|---|---|---|
Jan 19, 2018 at 12:57 | comment | added | Daniel | @kolossus, my gut feeling tells me that once enough of us are learning and passing these algo tests, they are going to move the cheese again to a new trend. So, I guess my big picture point being that if most shops did this because of the reason you give, it would be acceptable to me, but I agree that most companies are doing it just because other companies are doing it. The clue is in those companies that never bother to ask me the why? I chose the answer I did, the ones that give you a Codility/Hackerrank link and send you on your way. | |
Jan 19, 2018 at 5:25 | comment | added | kolossus | @Daniel - glad you found the answer useful. To your point, knowing some algorithms will make you a better developer overall; you don't need to know every algo in the book. Flawed or not, that's just the reality of recruiting for a decent software shop. They expect you to know the fundamentals (not even the really fancy stuff like the more esoteric trees) before you come to work for them. | |
Jan 19, 2018 at 4:14 | comment | added | Daniel | @kolossus, I love your answer for its logic and it opens me up to accepting this new way of interviewing, but its flawed. So knowing algorithms will make it easy and quick for me to learn API development? who is supposed to teach me? No tech company in the US will bother investing resources in such an endeavor, I am supposed to know, but I spent my time learning algorithms, a different problem to be solved than API development. | |
Jan 14, 2018 at 18:29 | comment | added | JAB | @gnasher729 "stack" and "queue" are abstract data types (ADTs). Your example is a concrete type that can be used within the framework of a stack or queue. The performance consideration there becomes whether you need FIFO behavior (a queue) or LIFO/FILO (a stack). | |
Jan 14, 2018 at 15:55 | comment | added | gnasher729 | @kolossus: NSMutableArray works just fine as a stack and a queue. You add items at the end, and the only difference is whether you remove items at the end or the start. Performance is the same. | |
Jun 16, 2014 at 17:23 | comment | added | HLGEM | @VarunAgw, when you are a manager, you can ask whatever questions you want to try to figure out who is and is not capable of doing the job you have. The people you are interviewing have a reason for asking this and it doesn't matter what that reason is ultimately since you will have to have an acceptable answer to move through the process. But since these are questions that test your fundmental understanding of computer science, I don't see them disappearing any time soon. Maybe the weed out some potentially good people but they also weed out most of the incompetent. | |
Jun 15, 2014 at 19:03 | comment | added | kolossus | @VarunAgw- clearly algorithms and data structures are not the entirety of the interview. You'll be asked a variety of questions; the employers that use those are not stupid you know. | |
Jun 15, 2014 at 9:17 | comment | added | user10125 |
helps a lot of companies weed out the programmers Still I think there are better ways. They can ask to code something directly related to work. It can also help in weeding out programmers. Also good algorithm knowledge doesn't means you will do the job well because you will be doing something different than writing good algorithms in the job.
|
|
Jun 15, 2014 at 0:45 | history | edited | kolossus | CC BY-SA 3.0 |
added 562 characters in body
|
Jun 15, 2014 at 0:25 | comment | added | kolossus | @Dukeling - understood | |
Jun 15, 2014 at 0:25 | comment | added | kolossus | @Dukeling - I'm quite sure I gave multiple reasons, along the lines of "..weed out the programmers that can raid Stackoverflow for good answers, without understanding the operating principles behind them" etc | |
Jun 15, 2014 at 0:25 | comment | added | Bernhard Barker | @kolossus That should probably go into your answer. | |
Jun 15, 2014 at 0:20 | comment | added | kolossus | @Dukeling - If I were an employer, I'd want to recruit a programmer that knows the difference between a Stack and a Queue; a ArrayList from a LinkedHashSet; Bubble sort from Quick Sort; Threads vs Processes. There are performance/design implications for these decisions. Better understand than just rip something off the net that may have made the wrong decision without your understanding/knowledge. Knowing the solution is not understanding the solution. I'm not saying that you must understand the solution 100% of the time, but as an employer, I'd be happier to shell out the bucks if you did. | |
Jun 15, 2014 at 0:16 | comment | added | kolossus | @VarunAgw - OS's and Compilers are ultimately built on what? Algorithms. Data Structures. Logic. Fundamentals. That's what everything programming ultimately boils down to. Rather than split hairs between C# and Java, I'd rather ask you questions based on something they both have in common | |
Jun 14, 2014 at 23:31 | comment | added | Bernhard Barker | ... but why? If you absolutely don't need to know the fundamentals, why would they ask it? (I'm not saying you shouldn't, just that you didn't really give a reason in your answer.) There are also other reasons why they'd ask such questions. | |
Jun 14, 2014 at 23:21 | comment | added | user10125 | Why don't OS's, compilers,...? Why just algorithms? | |
Jun 14, 2014 at 16:24 | history | answered | kolossus | CC BY-SA 3.0 |