Interview Question

Software Engineer Interview Seattle, WA

Design a Parking Garage

Answer

Interview Answer

2 Answers

0

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
0

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;

@end

---

@interface Employee : Person

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

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

@end



@interface Client : Person

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

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

@end

---

@interface Person : NSObject

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

@end



@interface Vehicle : NSObject

etc.

@end

Matteo Gobbi on Jun 15, 2014

Add Answers or Comments

To comment on this, Sign In or Sign Up.