Git
- What is Git bisect and how is it used?
 
- Explain the difference between 
git resetandgit revert. 
git reset moves the HEAD and branch ref pointers to a specified commit, potentially discarding commits. git revert creates a new commit that undoes the changes made in a specific commit, preserving the project history.- What is a Git hook?
 
- How do you squash multiple commits into one?
 
git rebase -i HEAD~n where n is the number of commits to combine. In the interactive editor, change 'pick' to 'squash' for the commits you want to combine.- What is Git LFS?
 
- Explain the concept of Git submodules.
 
- What is the difference between 
git fetchandgit pull? 
git fetch downloads new data from a remote repository but doesn't integrate it into your working files. git pull does a git fetch followed by a git merge to update your current branch with the latest changes.- How do you undo the last commit in Git?
 
git reset HEAD~1. To completely remove the last commit and its changes, use git reset --hard HEAD~1.- What is Git cherry-pick?
 
- How do you resolve merge conflicts in Git?
 
- Open the conflicting files and look for conflict markers.
 
- Edit the files to resolve the conflicts.
 
- Use 
git addto mark the conflicted files as resolved. 
- Complete the merge by running 
git commit. 
- What is the difference between a hard link and a symbolic link?
 
- Explain the purpose of the 
/etc/fstabfile. 
/etc/fstab file contains information about disk drives and partitions. It's used by the system to mount file systems automatically at boot time or when the mount -a command is issued.- What is a zombie process?
 
- How do you check system resource usage in Linux?
 
toporhtopfor real-time system monitoring
freefor memory usage
dffor disk usage
iostatfor CPU and I/O statistics
- What is the purpose of the 
iptablescommand? 
iptables is used to set up, maintain, and inspect the tables of IP packet filter rules in the Linux kernel. It's primarily used for configuring firewall rules.- Explain the difference between 
suandsudo. 
su switches the current user to another user (typically root), requiring the target user's password. sudo allows a user to execute commands with the security privileges of another user (typically root) while using their own password.- What is a Linux kernel module?
 
- How do you troubleshoot high CPU usage on a Linux system?
 
- Use 
toporhtopto identify the processes consuming CPU. 
- Use 
ps auxto get more details about specific processes. 
- Check system logs in 
/var/logfor any errors or warnings. 
- Use 
straceto trace system calls and signals. 
- What is the purpose of the 
/procfilesystem? 
/proc filesystem is a pseudo-filesystem that provides an interface to kernel data structures. It's used to access information about processes and system resources.- Explain the concept of Linux namespaces.
 
Docker
- What is Docker and how does it differ from virtual machines?
 
- Explain the difference between a Docker image and a Docker container.
 
- What is a Dockerfile and what are its main components?
 
FROM: Specifies the base image
RUN: Executes commands in the container
COPYandADD: Copy files into the container
CMDandENTRYPOINT: Specify the command to run when the container starts
- How do you persist data in Docker?
 
- Volumes: Managed by Docker and stored in a part of the host filesystem
 
- Bind mounts: Map a host file or directory to a container file or directory
 
- tmpfs mounts: Stored in the host system's memory only
 
- Explain Docker networking and the different network drivers.
 
bridge: Default network driver
host: Removes network isolation between container and host
overlay: Connects multiple Docker daemons
macvlan: Assigns a MAC address to a container
- What is Docker Compose and when would you use it?
 
- How do you optimize a Docker image size?
 
- Use a smaller base image
 
- Minimize the number of layers
 
- Use multi-stage builds
 
- Remove unnecessary files
 
- Combine RUN commands
 
- Explain Docker swarm mode.
 
- What is the purpose of Docker healthchecks?
 
- How do you handle secrets in Docker?
 
Jenkins
- What is Jenkins and why is it used?
 
- Explain the difference between Freestyle and Pipeline jobs in Jenkins.
 
- What is a Jenkins agent and how does it differ from the master?
 
- How do you secure Jenkins?
 
- Enable authentication and authorization
 
- Use HTTPS
 
- Keep Jenkins and its plugins updated
 
- Implement proper user management
 
- Use credentials management for sensitive information
 
- Configure security settings like CSRF protection
 
- What is a Jenkinsfile and what are its advantages?
 
- Version control of the pipeline along with the application code
 
- Code review/iteration on the pipeline
 
- Ability to audit the pipeline
 
- Single source of truth for the pipeline
 
- Explain the concept of Jenkins shared libraries.
 
- How do you handle credentials in Jenkins?
 
- What is Jenkins Blue Ocean?
 
- How do you set up a master-slave configuration in Jenkins?
 
- Install Jenkins on the master node
 
- Configure the slave node (install Java, create a Jenkins user)
 
- Add the slave node in Jenkins master (Manage Jenkins > Manage Nodes > New Node)
 
- Configure the connection method (SSH, JNLP, etc.)
 
- Launch the agent on the slave node
 
- Explain how you would implement a rollback strategy in Jenkins.
 
- Keeping track of successful builds and their artifacts
 
- Implementing version control for configuration files
 
- Creating a separate pipeline for rollback
 
- Using Jenkins parameters to specify the version to roll back to
 
- Implementing health checks after deployment
 
- Automating the rollback process if
 
Microservices
- What are microservices and how do they differ from monolithic architecture?
 
- What are the benefits of using microservices?
 
- Improved scalability
 
- Better fault isolation
 
- Easier to understand and maintain
 
- Enables use of different technologies for different services
 
- Facilitates continuous deployment
 
- How do microservices communicate with each other?
 
- What is the role of API Gateway in microservices architecture?
 
- How do you handle data management in microservices?
 
- Database per service pattern
 
- Event sourcing
 
- CQRS (Command Query Responsibility Segregation)
 
- Saga pattern for distributed transactions
 
- Explain the concept of service discovery in microservices.
 
- What is the Circuit Breaker pattern and why is it used in microservices?
 
- How do you ensure data consistency in a microservices architecture?
 
- Eventual consistency models
 
- Distributed transactions (e.g., two-phase commit)
 
- Event-driven architecture
 
- Saga pattern
 
- What are the challenges of testing microservices?
 
- Testing service interactions
 
- Managing test data across services
 
- Setting up complex test environments
 
- End-to-end testing across multiple services
 
- Testing eventual consistency
 
- How do you handle logging and monitoring in a microservices environment?
 
- Centralized logging systems (e.g., ELK stack)
 
- Distributed tracing (e.g., Jaeger, Zipkin)
 
- Metrics collection and visualization (e.g., Prometheus, Grafana)
 
- Health check APIs
 
- Correlation IDs for request tracing across services
 
x
	
No comments: