5 ms·
And forget about your experience! It doesn't matter at all! Only algorithms teasers and CLRS-excercises combination matter! Seriously, it becomes very stupid,
by sigsergv 14y ago
And forget about your experience! It doesn't matter at all! Only algorithms teasers and CLRS-excercises combination matter!
Seriously, it becomes very stupid, a new profession has came: The Interview Specialist.
- noarchy 14y agoI'd figure that more interviewers would ask technology-specific questions, but it is hit-or-miss from what I've seen. For example: questions about Framework X or Y that your company actually uses. This would seem to be a lot more important than things that many haven't done since early CS courses (like algorithm gymnastics).
- Serplat 14y agoThe theory behind it is that material about specific frameworks is easily learned. If a company is looking to hire you, what you currently know matters far less than what you can learn. The best developers are able to master new frameworks in days or weeks, making their current experience near meaningless. So, instead of testing what you current know, many companies look to evaluate the way you think and your potential to learn. I'm sure that the current methods of doing this aren't perfect, but I think they're a hell of a lot better than asking me minute Hibernate details when I haven't used Hibernate in years. I currently prefer overall design questions. The type where the interviewer proposes an overarching problem, and you have to design a full system to handle it (not a difficult algorithm necessarily, but the data structures and classes involved). Mix this with a bit of actual coding, and I think the interviewer can get a decent idea of your skills.
- mitchi 14y agoI agree with you. But I'm probably not teaching you anything by saying that mastering important frameworks like : - Win32 API - Write device drivers WDM or other - .NET / ASP.NET - Java standard library - Sockets, UNICODE - DOM, HTML, CSS, Javascript These things take a lot of time to learn properly. You have to read for a long time and know a lot of things. It's not true to say that anyone with algorithm smarts can do this.
- jquery 14y agoSadly true. In my last set of interviews for a web developer position at Google, I aced the questions from fellow web developers, questions relevant to my experience and to web development. Then they sent in a "software engineer" (who probably couldn't code a rich web app to save his life) who asked a disjoint set theory merging question that I struggled with. He grimaced at my "incompetence" and at that moment I hated backend engineers and their superiority complex. Naturally I didn't get the job, but they had the nerve to tell me they gave it to a "stronger" candidate.
- thelarry 14y agoI've been there. I think the idea is to look for people who can "solve problems" and can use the right algorithm for the right problem. In the end, it seems that candidates just spend a lot of time practicing algorithm problems in online competitions to get good at the questions so that they can recognize the base problem in interview questions and implement answers really quickly. Just because you've been spending hours doing online competitions and remember algorithms really quickly doesn't make you a good engineer in my book. Especially when you will probably forget all of them the second you get your job and stop practicing. I can't blame other people for studying for tests, I can just blame the tests.
- victorhn 14y agoHave you actually ever competed in online competitions like Topcoder or algorithm competitions like ACM ICPC? For solving these kind of problems knowing a bunch of known algorithms won't take you too far. They will only be useful in the beginner stages, but as you progress you need to invent new algorithms, make modifications to the existing algorithms (so they test that you really understand the idea behind them), combine different algorithm design techniques, etcetera. They are often a good proxy to test how creative in problem solving you can be, not just mere rote memorization of algorithms and how good are you at remembering known algorithms.
- kubrickslair 14y agoI am a region finalist & happen to know a few ICPC world finalists, and though one of them is very sharp analytically, I am not sure how good a proxy such problems are for a web developer, or even for most technical positions. Some of the best problem solvers I know CS-wise (not algorithmic puzzle solving, but real CS research/ implementation) are not that fast of thinkers to do very well in such circumstances without a lot of pattern matching through practice.
- deleted 14y ago[deleted]
- kubrickslair 14y agoPart of my current work involves designing & implementing pretty intricate & complex algorithms. Earlier I did research & published in a range of ML related sub-fields, primarily NLP & recommender systems. I also read CS papers for pleasure and code in multiple languages. Yet, if I gave engineering interviews impromptu I am pretty sure I will fail many of them. It's a weird situation in the industry when an experienced person has to go through a bootcamp to revisit/ memorize rather trivial stuff to get a job for which he may well be overqualified.
- shawn-butler 14y agoGenerally aren't these usually the more junior engineers who don't have any sense of responsibility and want to exercise some authority or senior engineers, the best days of their productivity now lie behind them? It's usually a symptom of a bad company culture to be honest when the people making hiring decisions feel the need to "spread" it around so as not to take the blame for those few bad hires that will inevitably happen. As engineers we all know that bugs happen and shrug, feel bad for a bit and move on. When someone else makes a bad hiring decision, these same engineers grab the pitchforks demanding to know why they weren't consulted. It's kind of silly when you think about it as human behavior is much more complex than software. Hiring is hard.