I've been attending quite a few interviews recently and have been asked by companies to answer "design a [insert model]" questions more than a few times.
- Is this normal in the industry nowadays? I've been in the software world for more than two decades and have attended my share of interviews, but I am seeing this pattern in interviews emerge only recently.
- I feel the question is very open ended. For example: I was asked to draw a class diagram to "Design a parking lot". I am not sure what level of detail the interviewer is expecting. This was in an online test where I was expected to attach a visio diagram, so I couldn't ask them what their expectations were.
- Do you use these kind of questions in your interview process? Are they related to only class diagrams or do you also ask sequence, flowcharts and ERDs (ofcourse based on the nature of the position) Have they been effective in your hiring process?
* Edit for Kevin's response *
For example: A complete question could be "Design a parking lot management system that can be used to find vacant slots"
I can be done with 2 classes, ParkingLot
and Slot
or I could go on to add IVehicle
and Vehicle
and Car
and Motorcycle
classes. Where do I draw the line?
public class ParkingLot
{
IVehicle Vehicle {set; get;}
List<Slot> GetEmptySlots() { };
}
public class Vehicle : IVehicle
{
Slot SlotNum {set; get;}
}
public class Slot
{
int Row {set; get;}
int Column {set; get; }
}