Skip to main content
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