Interview Question

Software Engineer Interview Seattle, WA

Design a Parking Garage


Interview Answer

2 Answers


Wasn't honestly expecting an OO Design question this early in the interview process, but it is what it is.

Interview Candidate on May 14, 2014

Just a small part of an example:

@interface Garage : NSObject

@property (strong, nonatomic, readonly) NSArray *employees;
@property (strong, nonatomic, readonly) NSArray *clients;

- (void)addEmployee:(Employee *)employee;
- (void)removeEmployee:(Employee *)employee;
- (void)insertClient:(Client *)client;
- (void)removeClient:(Client *)client;



@interface Employee : Person

@property (atomic, readonly, getter = isFree) free;

- (void)extractVehicle:(Vehicle *)vehicle fromGarage:(Garage *)garage;
- (void)parkVehicle:(Vehicle *)vehicle inGarage:(Garage *)garage;


@interface Client : Person

@proprty (strong, nonatomic, readonly) Vehicle *vehicle;

- (instancetype)initWithName:(NSString *)name surname:(NSString *)surname vehicle:(Vehicle *)vehicle;



@interface Person : NSObject

@property (copy, nonatomic, readonly) NSString *name;
@property (copy, nonatomic, readonly) NSString *surname;


@interface Vehicle : NSObject



Matteo Gobbi on Jun 15, 2014

Add Answers or Comments

To comment on this, Sign In or Sign Up.