Technical Interview/screen questions...
This topic has come up in my circles lately. Actually I've found myself more than once in discussions on the best way to interview technical people and it seems that many many people are of the opinion that the old ones are still the best - i.e. the same puzzles and algorithms that we use to test a graduates coding and thought processes can be applied to developers with experience, even though or perhaps especially because it may have been many years since they have been to school and done these. I suppose the rationale is that much like learning how to cycle, the basic skills should never leave you. As the future is unknown it is possible or even probable that I will be involved in a) candidate testing and/or b) the process of applying for positions, being screened etc... at some stage in my life, so I thought it might be a good idea to brush up on the standard puzzles and be familiar with the standard tech interview questions. My next series of blog posts will be short articles with versions of methods which answer the questions. Of course there is more than one way to skin a goat - and often more than one way to code a method, so it would be nice if these articles prompted comments or even a short debate on the best approach - let's see.
The not exhaustive list of challenges will include these - feel free to suggest others. Answers will be done without using built-in .NET string classes (and may be done with them as well for good measure):
- Greatest common divisor, both with and without recursion
- Navigating a binary search tree
- Comparing strings, where one of the string parameters can have '*' wildcard characters
- Checksum and string format checking for a valid ISBN number
- Manipulating a single linked list
- Implement a quicksort
- Check if an integer is a prime number
- Check if a string is a palindrome
- Detecting specified parameter patterns in repeated method calls