This is the sixth bimonthly 'What are you working On?' thread. Previous threads are here. So here's the question:
What are you working on?
Here are some guidelines:
- Focus on projects that you have recently made progress on, not projects that you're thinking about doing but haven't started.
- Why this project and not others? Mention reasons why you're doing the project and/or why others should contribute to your project (if applicable).
- Talk about your goals for the project.
- Any kind of project is fair game: personal improvement, research project, art project, whatever.
- Link to your work if it's linkable.
One measure is to get them to do a small project (a few hours worth as most) of a similar (but simpler) nature to what your company does. That may not be perfect but it's a lot closer than whiteboard algorithms. IIRC research suggests that of all forms of job candidate evaluation, "work samples" such as this have the highest correlation with subsequent performance.
It's true, but that is still a significant investment of time, both on our parts and the applicants'. Most companies implement a two-stage filter: the phone screen, where they weed out a large portion (if not the majority) of the applicants, and the in-person interview, where the applicant might be asked to solve a programming problem like the one you mention. The "what is binary search and how does it work" type of questions are designed for the phone screen phase. IMO that is entirely appropriate, for the reasons I stated above.