Java Interview: Difference between revisions

From Chorke Wiki
Jump to navigation Jump to search
Line 88: Line 88:


| valign="top" |
| valign="top" |
* [https://www.javatpoint.com/devops#:~:text=DevOps%20Advantages%20and%20Disadvantages DevOps Advantages & Disadvantages]
* [https://www.ansible.com/ Ansible ]
* [https://www.ansible.com/ Ansible ]


|}
|}

Revision as of 20:34, 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

Terminology

Composition vs Aggregation
Both are Association
  1. Composition: A "owns" B
  2. Aggregation: A "uses" B
Network
  1. Physical Layer: Ethernet, 802.11
  2. Data Link Layer: MAC, ARP, PPP
  3. Network Layer: IPv4, IPv6
  4. Transport Layer
  5. Session Layer
  6. Presentation Layer
  7. Application Layer: DNS

DevOps

DevOps
The DevOps is a combination of two words, one is software Development, and second is Operations. This allows a single team to handle the entire application lifecycle, from development to testing, deployment, and operations. DevOps helps us to reduce the gap between software developers, quality assurance (QA) engineers, and system administrators.
DevOps tools such as Git, Ansible, Docker, Puppet, Jenkins, Chef, Nagios and Kubernetes.
  1. Automation
  2. Collaboration
  3. Integration
  4. Configuration
Puppet
Puppet is the most powerful configuration management tool in the solar system. It’s the engine that drives your compliance, baseline, drift remediation, and deployment needs. It has always been and always will be open source, with freely downloadable operating system-specific agent packages, a massively scalable server, and data warehousing capabilities via PuppetDB.
Ansible
Ansible is an open-source software provisioning, configuration management, and application-deployment tool enabling infrastructure as code. It runs on many Unix-like systems, and can configure both Unix-like systems as well as Microsoft Windows. It includes its own declarative language to describe system configuration. Ansible was written by Michael DeHaan and acquired by Red Hat in 2015. Ansible is agentless, temporarily connecting remotely via SSH or Windows Remote Management (allowing remote PowerShell execution) to do its tasks.

References