Like in any interview scenario you will probably want to have different groups of questions. Some of the topics mentioned above are fine for general understanding to filter out people that have little to no SharePoint experience but some more advanced questions can help you find the cream of the crop.
- Customers List
- Products List
- Orders List with lookup field pointing to
the customers list and a separate one
pointing to the products list
Q: When a product is deleted I want to cancel all orders for the product and notify the customer of the cancellation.
A: In my opinion you'd want to go with an event receiver here which is tied to the Products list and a separate event receiver tied to the Orders list to handle the Order cancellation notification.
I tend to head the custom code route early because it provides so much more flexibility.
An alternative for the email notification would be to use a SP designer workflow, if they mention this as a follow up ask about the downsides to using a designer workflow in SP 2007. The major one for me is that it cannot be deployed and that when you decide to switch to a custom solution the designer workflow is of no use.
The depth of their answer will give you a feel for how much real world experience they have.
Q: As a followup if they pass that question, then say assume we also wanted to cancel the orders once the product inventory has been at 0 for 10 days.
A: This requirement would essentially force you to switch over to a workflow instead.
These questions would ensure they understand the difference between workflows and event receivers and when to use one or the other.
Q: Now we need an event receiver that will not allow the user to change the quantity of an order if the order estimated ship date is within 10 days, but allow it if the ship date is greater than 10 days out.
A: This is tricky because event receivers don't provide access to the previous state of the list item, you have to programatically manage the state persistence between item updating and item updated events.
Only truly seasoned developers with complex SharePoint application development experience would be likely to know this one.