Java Interview: Difference between revisions

From Chorke Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 42: Line 42:
; [https://www.xinjianl.com/note/software/software-architecture/design-pattern/ Composition vs Aggregation]
; [https://www.xinjianl.com/note/software/software-architecture/design-pattern/ Composition vs Aggregation]
: Both are Association
: Both are Association
: Composition: A "owns" B
: '''Composition:''' A "owns" B
: Aggregation: A "uses" B
: '''Aggregation:''' A "uses" B
 
; [https://www.xinjianl.com/note/software/#:~:text=0x56%20Network Network]
: '''Physical Layer:''' Ethernet, 802.11
: '''Data Link Layer:''' MAC, ARP, PPP
: '''Network Layer:''' IPv4, IPv6
: '''Transport Layer'''
: '''Session Layer'''
: '''Presentation Layer'''
: '''Application Layer:''' DNS


| valign="top" |
| valign="top" |

Revision as of 17:06, 24 October 2020

  1. MVC
    1. Model
    2. View
    3. Controller
  2. SOLID Design Principles
    1. Single Responsibility Principle
    2. Open-Closed Principle
    3. Liskov Substitution Principle
    4. Interface Segregation Principle
    5. Dependency Inversion Principle
  1. Design Pattern
    1. Creational Design Patterns
      1. Factory Pattern
      2. Prototype Pattern
      3. Builder Pattern
      4. Singletons
    2. Structural Design Patterns
      1. Adapter Pattern
      2. Composite Pattern
      3. Decorator Pattern
    3. Behavioral Design Patterns
      1. Strategy Pattern
      2. State Pattern
  1. STUPID Practices in Programming
    1. S for Singleton
    2. T for Tight Coupling
    3. U for Untestability
    4. P for Premature Optimization
    5. I for Indescriptive Naming
    6. D for Duplication

Composition vs Aggregation
Both are Association
Composition: A "owns" B
Aggregation: A "uses" B
Network
Physical Layer: Ethernet, 802.11
Data Link Layer: MAC, ARP, PPP
Network Layer: IPv4, IPv6
Transport Layer
Session Layer
Presentation Layer
Application Layer: DNS

References