Not parent but my current employer has an interview process that I find fairly efficient.
During the hour-and-a-half or so of interview, I was asked to do a few things:
1. explain my technical background, projects I've worked on
2. explain one project in depth, from entry-point to client
3. discuss future features of that project
4. let me implement one feature in that list while they go have some coffee
5. show off my new feature!
Even though the technology I used was not the technology they use, I think my employer wanted to see how well I communicate technically, how well I understand, and how fast I can put things together. He seemed to like the fact that I had a lot of failed iterations and Googled to get through snags.
Another interview process I was quite fond of had me working on one of _their_ pet projects; looking through their code base, identifying possible improvements/features, and implementing those improvements in a new git branch.
Of course, that process may not work with EVERY technical interview, but my bet is that practical interviews like these are more likely to show an employee's technical prowess than a person simply memorizing algorithms. While I agree that there is a place for algorithms, it should not be the focus of an interview.
During the hour-and-a-half or so of interview, I was asked to do a few things:
1. explain my technical background, projects I've worked on 2. explain one project in depth, from entry-point to client 3. discuss future features of that project 4. let me implement one feature in that list while they go have some coffee 5. show off my new feature!
Even though the technology I used was not the technology they use, I think my employer wanted to see how well I communicate technically, how well I understand, and how fast I can put things together. He seemed to like the fact that I had a lot of failed iterations and Googled to get through snags.
Another interview process I was quite fond of had me working on one of _their_ pet projects; looking through their code base, identifying possible improvements/features, and implementing those improvements in a new git branch.
Of course, that process may not work with EVERY technical interview, but my bet is that practical interviews like these are more likely to show an employee's technical prowess than a person simply memorizing algorithms. While I agree that there is a place for algorithms, it should not be the focus of an interview.