# Day 14 - CI/CD Interview Questions

## **1\. What is the CI/CD process in your organization?**

This is a common interview question to understand your real experience.  
You should answer by describing the tools your organization uses.

Example structure explained in your content:

* Assume your company uses **Java**.
    
* Jenkins is the main orchestrator.
    
* Different tools are connected with Jenkins: Maven, Sonar, AppScan, Argo CD, Kubernetes, Helm, etc.
    
* Explain how a developer commits code to GitHub.
    
* Jenkins pipeline automatically triggers and pulls the code.
    
* Jenkins builds the code (e.g., with Maven).
    
* It performs code quality checks or security checks (e.g., Sonar, AppScan).
    
* Then the application is promoted to Dev using Argo CD and Kubernetes.
    
* Argo CD watches the Git repository and deploys new versions using updated image tags and Helm charts.
    
* If Kubernetes is difficult, you can say you deploy to EC2 instead.
    

The content also refers to a Jenkins pipeline example in the GitHub repository that updates Kubernetes manifests and lets Argo CD deploy based on GitOps.

---

## **2\. What are the different ways to trigger Jenkins pipelines?**

Since Jenkins and GitHub are separate tools, Jenkins must know when new code is pushed.

There are **three methods**:

* Poll SCM
    
* Build triggers (Cron)
    
* Webhooks
    

Explanation from your content:

* Polling and Cron jobs are inefficient because Jenkins repeatedly checks GitHub, which consumes resources and can have time delays.
    
* Webhooks are the best method:
    
    * When a developer commits code, GitHub sends a JSON payload to Jenkins.
        
    * GitHub notifies Jenkins through an API.
        
    * Jenkins receives the payload and triggers the pipeline.
        

---

## **3\. How to back up Jenkins?**

For Jenkins administration roles, backup is important.

Summary from your content:

* The main folder to back up is **.jenkins** from the Jenkins home directory.
    
* This folder contains jobs, logs, and configuration.
    
* Use tools like **rsync** to sync backups to storage (EBS or other).
    
* Some large organizations store Jenkins data in external databases, so those databases must be backed up as well.
    
* Plugins or user content may need separate backup steps.
    

---

## **4\. How do you store or handle secrets in Jenkins?**

Secrets must never appear in logs or UI.

Jenkins provides credential plugins, but the recommended explanation:

* Use external secret managers such as **HashiCorp Vault**.
    
* Jenkins integrates with Vault.
    
* Pipelines fetch secrets from Vault during runtime.
    

---

## **5\. What is the latest version of Jenkins?**

Interviewers ask this to check whether you actually use Jenkins regularly.  
Not knowing the current version can give a bad impression.

If you claim to be a CI/CD engineer using Jenkins, you must stay updated.

---

## **6\. What are shared modules in Jenkins?**

Shared modules/shared libraries mean:

* A DevOps engineer writes a pipeline once.
    
* Many development teams reuse that pipeline.
    
* This avoids each team rewriting the same logic.
    

It’s a reusable pipeline approach.

---

## **7\. Can Jenkins build applications using multiple programming languages with different agents?**

Yes.

Explanation in your content:

* Example: frontend (Node.js), backend (Java), microservice (Python).
    
* Jenkins can run multiple stages using **different Docker agents**.
    
* Each stage uses a separate Docker container with required dependencies.
    
* Containers are removed after pipeline execution, saving resources.
    

---

## **8\. How to set up Auto Scaling Groups with Jenkins?**

Some companies need multiple worker nodes.

Explanation:

* Jenkins master runs on one EC2 instance.
    
* Many teams may need many worker nodes.
    
* Load can increase during certain periods.
    
* Auto Scaling Groups in AWS automatically add/remove Jenkins worker nodes.
    
* This prevents unused nodes from wasting costs.
    

---

## **9\. How to add a new worker node in Jenkins?**

Summary:

* Go to **Manage Jenkins → Manage Nodes and Clouds**.
    
* Add a new node.
    
* Provide IP address, SSH keys, authentication.
    
* Launch the node to make it active.
    

---

## **10\. How to install plugins in Jenkins?**

Two ways:

### **UI Method**

* Manage Jenkins → Manage Plugins
    
* Search and install plugins
    

### **CLI Method**

* Use a Java command to install plugins directly
    
* Useful for automation or when installing many plugins at once
    
* Some plugins must be manually uploaded if not available in the plugin catalog.
    

---

## **11\. What is JNLP and why is it used?**

Explanation:

* JNLP is a way for Jenkins agents (workers) to communicate with Jenkins master.
    
* You download a JNLP JAR and run it on the agent.
    
* It allows remote launch and communication.
    
* The agent receives build tasks from the master.
    

---

## **12\. What are some common Jenkins plugins?**

Interviewers check your practical experience.

The content suggests:

* Be familiar with common plugins.
    
* Look at which plugins Jenkins installs by default.
    
* Prepare a list to avoid blanking during interviews.
    

---

## **Wrap-up**

The speaker ends by saying:

* These are the main interview questions.
    
* The repository contains detailed answers.
    
* You can submit pull requests if something is missing.
    
* Feedback is welcome, and viewers should subscribe and share.
