Single Responsibility principle (Class should only have a single responsibility)
Open/Closed principle (Open for extension, but closed for modification)
Likskov Substitution Principle (Objects should be replaceable with instances of their subtimes without altering the outcome. Bonus points if they mention design by contract )
Interface Segregation principle (Many client specific interfaces are better than one general-purpose one)
Dependency inversion principle (Depend upon abstractions, not concretions)