Filter interviews by
I applied via Naukri.com and was interviewed in Nov 2022. There were 4 interview rounds.
Kubernetes can be implemented on AWS using Elastic Kubernetes Service (EKS) or self-managed Kubernetes clusters.
EKS is a managed Kubernetes service provided by AWS
Self-managed Kubernetes clusters can be set up using EC2 instances and other AWS services like Elastic Load Balancing, Elastic Block Store, etc.
AWS provides tools like kops and eksctl to simplify the deployment and management of Kubernetes clusters on AWS
Docker Swarm is a container orchestration tool that is simpler to use than Kubernetes.
Docker Swarm is built into Docker Engine, while Kubernetes requires additional installation.
Docker Swarm is easier to set up and manage than Kubernetes.
Kubernetes is more powerful and flexible than Docker Swarm, with more advanced features for scaling and managing containers.
Kubernetes has a larger community and more third-party tools...
AWS architecture consists of various components such as compute, storage, database, networking, security, and management tools.
Compute: EC2, Lambda
Storage: S3, EBS, EFS
Database: RDS, DynamoDB
Networking: VPC, Route 53
Security: IAM, KMS
Management Tools: CloudFormation, CloudWatch
EKS is a managed Kubernetes service, ECS is a container orchestration service, and Beanstalk is a PaaS for deploying web applications.
EKS is best for running Kubernetes workloads on AWS
ECS is best for running containerized applications on AWS
Beanstalk is best for deploying web applications without worrying about infrastructure
EKS and ECS both offer auto-scaling and load balancing capabilities
Beanstalk supports multiple
ELB services of AWS are load balancing services that distribute incoming traffic across multiple targets.
ELB stands for Elastic Load Balancer
There are three types of ELB services: Classic Load Balancer, Application Load Balancer, and Network Load Balancer
Classic Load Balancer is used for distributing traffic across EC2 instances, while Application Load Balancer is used for routing HTTP/HTTPS traffic to different target...
Github basic commands and their usecases
git clone
git add
git commit -m
git push: pushes changes to remote repository
git pull: fetches and merges changes from remote repository
git branch: lists all branches in the repository
git checkout
To maintain maximum availability of databases in AWS, we can use various methods such as Multi-AZ deployment, Read Replicas, and Elastic Load Balancing.
Multi-AZ deployment ensures that a standby replica of the primary database is always available in a different availability zone.
Read Replicas can be used to offload read traffic from the primary database and improve performance.
Elastic Load Balancing can distribute traf...
Create a plan to troubleshoot and resolve the issue as quickly as possible.
Identify the root cause of the failure
Check AWS service health dashboard for any known issues
Check CloudWatch logs for error messages
Rollback changes if necessary
Restore from backups if data is lost
Implement preventive measures to avoid similar issues in the future
AWS provides various monitoring services to monitor resources and applications.
CloudWatch is a monitoring service for AWS resources and applications
CloudTrail provides event history of AWS account activity
AWS Config provides inventory of resources and configuration history
Trusted Advisor provides best practices and recommendations
X-Ray helps debug and analyze distributed applications
Route53 is a DNS web service provided by AWS that routes internet traffic to the appropriate resources.
Route53 is used for domain registration, DNS routing, and health checking of resources
It can be used to route traffic to EC2 instances, S3 buckets, and load balancers
Route53 also supports routing policies such as weighted, latency-based, and geolocation-based routing
Code to separate userid and domain in email
Use the split() method to split the email address at the '@' symbol
The first part of the split result is the userid, and the second part is the domain
Handle cases where there are multiple '@' symbols in the email address
Code to check for absence of a specific pattern in strings
Use regular expressions to define the pattern to be avoided
Use the 'not' operator to check if the pattern is absent in the string
Implement the code in the language of your choice
Beanstalk uses Elastic Load Balancer (ELB) instead of creating its own load balancer.
Beanstalk is a platform as a service (PaaS) that automates the deployment of applications.
It uses Elastic Load Balancer (ELB) to distribute traffic to instances.
ELB provides more features and flexibility than a custom load balancer.
Beanstalk also supports other load balancers like Application Load Balancer (ALB) and Network Load Balanc
A service in ECS is a group of tasks that are defined to run together. A task is a set of container instances.
A service is used to define the desired state of a task and maintain it
A task is a set of container instances that run together on a single EC2 instance or across multiple instances
Services can be scaled up or down based on demand
Tasks can be defined using task definitions which specify the container images, po...
Additional security can be added in ECS by implementing security groups, IAM roles, and VPCs.
Implement security groups to control inbound and outbound traffic
Use IAM roles to manage access to AWS resources
Create VPCs to isolate resources and control network traffic
Enable encryption for data at rest and in transit
Implement multi-factor authentication for user access
AWS networking architecture is based on Virtual Private Cloud (VPC) which allows users to create isolated virtual networks.
VPC allows users to create subnets, route tables, and network gateways
Security groups and network access control lists (ACLs) can be used to control traffic flow
AWS Direct Connect and VPN can be used to connect on-premises networks to VPC
Elastic Load Balancing and Amazon Route 53 can be used for lo
NLB and ALB are both ELBs but differ in their routing capabilities.
NLB routes traffic based on IP addresses and ports, while ALB routes traffic based on HTTP/HTTPS requests.
NLB is better suited for TCP/UDP traffic, while ALB is better suited for HTTP/HTTPS traffic.
ALB supports advanced routing features like path-based routing and host-based routing.
NLB is more performant and can handle higher traffic loads than ALB.
Bot...
Packages in Lambda are libraries or modules that can be used to extend the functionality of the code. Environment variables are used to store sensitive data.
Packages can be installed using pip or uploaded as a zip file
Environment variables can be set in the Lambda console or using AWS CLI
They can be accessed in the code using os.environ['variable_name']
Examples of sensitive data that can be stored in env variables are
I joined cometchat because of its innovative approach to communication and its strong reputation in the industry.
Cometchat offers cutting-edge technology and solutions for real-time communication.
The company has a proven track record of success and a strong reputation in the industry.
I was impressed by the company's commitment to innovation and staying ahead of the curve.
Cometchat provides a collaborative and dynamic w...
DevOps engineers are responsible for bridging the gap between development and operations teams.
Automating deployment processes
Monitoring system performance
Collaborating with development and operations teams
Ensuring system security and reliability
Implementing continuous integration and delivery
Managing infrastructure and configuration
Troubleshooting issues and providing solutions
Top trending discussions
I applied via Approached by Company and was interviewed in Nov 2024. There was 1 interview round.
I applied via Company Website and was interviewed in Oct 2024. There was 1 interview round.
Security in Terraform involves managing sensitive data, implementing access controls, and using secure communication channels.
Use Terraform's sensitive data handling features like sensitive variables and sensitive outputs to protect sensitive information.
Implement access controls using Terraform's built-in features like IAM policies, resource-level permissions, and secure storage backends.
Use secure communication chann...
Helm is a package manager for Kubernetes that simplifies the deployment and management of applications.
Helm charts are packages of pre-configured Kubernetes resources that can be easily deployed using Helm.
Helm charts are written in YAML and can include templates for Kubernetes manifests.
Helm allows for easy versioning, sharing, and management of Kubernetes applications.
To use Helm, you need to install the Helm client ...
I applied via Naukri.com and was interviewed in Aug 2024. There were 2 interview rounds.
Control plane components in Kubernetes manage the cluster and make decisions about the state of the cluster.
Control Manager: Ensures that the desired state of the cluster matches the actual state.
Scheduler: Assigns workloads to nodes based on resource availability and constraints.
API Server: Acts as the front-end for the Kubernetes control plane and is the primary interface for users and other components.
etcd: Consiste...
Implementing zero-downtime deployments in Kubernetes involves using rolling updates and readiness probes.
Use rolling updates to gradually replace old pods with new ones
Configure readiness probes to ensure new pods are ready before routing traffic to them
Utilize tools like Helm for managing releases and versioning
To ensure high availability of the etcd cluster used by Kubernetes, you can implement redundancy, monitoring, and disaster recovery strategies.
Implement a multi-node etcd cluster to ensure redundancy and fault tolerance.
Utilize monitoring tools like Prometheus and Grafana to track the health and performance of the etcd cluster.
Set up regular backups and implement disaster recovery plans to quickly recover from failures...
Capacity planning for a Kubernetes cluster involves analyzing resource usage, predicting future needs, and scaling infrastructure accordingly.
Monitor resource usage of pods and nodes using tools like Prometheus and Grafana
Analyze historical data to identify trends and patterns in resource consumption
Estimate future resource requirements based on application growth and workload changes
Scale the cluster by adding or remo...
I applied via Referral and was interviewed in May 2024. There was 1 interview round.
Yes, I faced challenges while creating the DevOps pipeline.
One challenge was integrating multiple tools and technologies into the pipeline.
Another challenge was ensuring smooth communication and collaboration between different teams involved in the pipeline.
I also faced challenges in automating the testing and deployment processes to achieve continuous integration and continuous delivery.
Dealing with legacy systems and...
Containers in Kubernetes communicate with each other through networking and service discovery mechanisms.
Containers within the same pod can communicate over localhost.
Containers in different pods can communicate using Kubernetes services.
Kubernetes assigns each pod a unique IP address for communication.
Kubernetes also supports DNS-based service discovery for containers.
Restricting communication between Kubernetes pods can be achieved using network policies.
Use Network Policies in Kubernetes to define rules for pod-to-pod communication
Specify which pods are allowed to communicate with each other based on labels
Deny all traffic by default and only allow specific traffic as needed
Example: Define a network policy to allow communication only between pods with label 'app=frontend' and 'app
A virtual private cloud (VPC) or Vnet is a private network in the cloud that allows you to isolate resources and control network traffic.
VPC/Vnet provides a secure and isolated environment for resources in the cloud.
It allows you to define your own IP address range, subnets, route tables, and network gateways.
VPC/Vnet helps in creating a secure connection between on-premises data centers and cloud resources.
It is used ...
Ansible is a popular automation tool used in DevOps for configuration management, application deployment, and orchestration.
Ansible is agentless, meaning it does not require any software to be installed on the nodes being managed.
It uses YAML syntax for writing playbooks, which are used to define automation tasks.
Ansible can be used for tasks such as provisioning servers, deploying applications, and managing configurat...
Client based development is a software development approach where the client's needs and feedback are prioritized throughout the development process.
Focus on meeting client requirements and expectations
Regular communication and feedback from the client
Iterative development cycles based on client input
Client involvement in decision-making processes
Examples: Agile development, customer-centric design
Resilience testing is a type of testing that evaluates a system's ability to recover from failures and continue functioning.
Resilience testing involves intentionally introducing failures or disruptions to a system to see how it responds.
The goal of resilience testing is to identify weaknesses in the system's design or implementation that could lead to downtime or data loss.
Examples of resilience testing include simulat...
DevOps KPI are key performance indicators used to measure the success of DevOps practices in an organization.
DevOps KPIs should align with business goals and objectives.
Examples of DevOps KPIs include deployment frequency, lead time for changes, mean time to recover, and change failure rate.
Monitoring KPIs helps in identifying areas for improvement and optimizing DevOps processes.
Various branching strategies in version control systems help manage code changes effectively.
Mainline/Branch by Release: Each release has its own branch for bug fixes and maintenance.
Feature Branching: Each new feature is developed in a separate branch and merged back to main branch after completion.
Gitflow Workflow: Uses main, develop, feature, release, and hotfix branches for a structured workflow.
Trunk-Based Develop...
Feature branching and task branching are strategies used in version control systems to manage development tasks.
Feature branching involves creating a separate branch for each new feature being developed, allowing for isolation and independent development.
Task branching is similar to feature branching but is used for smaller tasks or bug fixes.
Both feature branching and task branching help in organizing and managing cod...
Continuous delivery focuses on automating the software delivery process up to production, while continuous deployment automatically deploys every change to production.
Continuous delivery involves automating the software delivery process up to production, ensuring that code is always in a deployable state.
Continuous deployment goes a step further by automatically deploying every change that passes automated tests to pro...
DevOps methodology consists of various phases including plan, code, build, test, release, deploy, operate, and monitor.
Plan: Define goals, set priorities, and create a roadmap.
Code: Develop and review code changes.
Build: Compile the code and create executable files.
Test: Verify code changes through automated testing.
Release: Deploy changes to production environment.
Deploy: Automate deployment process to various environ...
Blue green deployment pattern is a software release strategy that reduces downtime and risk by running two identical production environments.
In blue green deployment, one environment (blue) is currently live and serving production traffic, while the other environment (green) is idle.
Once the new version of the software is deployed to the green environment and tested thoroughly, traffic is switched from the blue to the ...
Key elements in continuous testing tools include automation, integration with CI/CD pipelines, reporting and analytics, scalability, and support for various testing types.
Automation of test cases to ensure quick feedback on code changes
Integration with CI/CD pipelines for seamless testing in the software delivery process
Reporting and analytics capabilities to track test results and identify issues
Scalability to handle ...
Centralized VCS stores all versions of files in a central server, while distributed VCS allows each user to have a full copy of the repository.
Centralized VCS has a single point of failure, while distributed VCS is more resilient.
In centralized VCS, users need constant connection to the central server, while distributed VCS allows offline work.
Examples of centralized VCS include SVN and CVS, while Git is a popular dist
Setting up a VPC in Azure involves creating a virtual network, subnets, and configuring security groups.
Create a virtual network in the Azure portal
Define subnets within the virtual network
Configure network security groups to control inbound and outbound traffic
Establish peering connections with other VPCs if needed
IAC stands for Infrastructure as Code, which involves managing and provisioning infrastructure through code. Configuration management involves managing and maintaining the state of systems.
IAC allows for automating the process of setting up and managing infrastructure using code
Configuration management ensures that the desired state of systems is maintained consistently
Tools like Terraform, Ansible, and Puppet are comm...
I was interviewed in Oct 2024.
A Dockerfile is a text document that contains all the commands a user could call on the command line to assemble an image.
Start with a base image (e.g. FROM ubuntu:latest)
Install dependencies and set up environment (e.g. RUN apt-get update && apt-get install -y python3)
Copy application code into the image (e.g. COPY . /app)
Set the default command to run when the container starts (e.g. CMD ["python3", "app.py"])
Build th...
I applied via Naukri.com and was interviewed in Aug 2024. There was 1 interview round.
Clusters creation involves setting up multiple servers to work together, while handling practical bugs requires troubleshooting and fixing issues in the cluster.
Clusters creation involves setting up multiple servers to work together to distribute workload and increase reliability.
Tools like Kubernetes or Docker Swarm can be used to create and manage clusters efficiently.
Practical bugs in clusters can include network is...
I have 3 years of experience working with Ansible in automating infrastructure and configuration management.
Implemented Ansible playbooks to automate deployment of applications across multiple servers
Utilized Ansible roles to standardize configurations and ensure consistency
Integrated Ansible with CI/CD pipelines for continuous deployment
Troubleshooted and resolved issues related to Ansible scripts and configurations
CICD stands for Continuous Integration/Continuous Deployment. Jenkinsfile functions include stages, steps, post, and more.
CICD stands for Continuous Integration/Continuous Deployment
Jenkinsfile functions include stages, steps, post, agent, environment, and more
Stages define a series of tasks to be executed in a pipeline
Steps define individual actions within a stage
Post defines actions to be taken after the pipeline has...
Kubernetes is an open-source container orchestration platform for automating deployment, scaling, and management of containerized applications.
Kubernetes helps in automating the deployment, scaling, and management of containerized applications.
It allows for easy scaling of applications by adding or removing containers based on demand.
Kubernetes provides features like service discovery, load balancing, and self-healing ...
Workspaces in Docker are isolated environments where developers can work on different projects without affecting each other.
Workspaces allow developers to have separate environments for each project, preventing conflicts between dependencies.
Each workspace has its own set of containers, volumes, and networks, ensuring isolation.
Developers can easily switch between workspaces to work on different projects.
Workspaces are...
Cost optimization in DevOps is achieved through efficient resource utilization, automation, and continuous monitoring.
Implementing auto-scaling to dynamically adjust resources based on demand
Using containerization to maximize resource utilization and reduce costs
Leveraging cloud services for pay-as-you-go pricing model
Implementing cost monitoring tools to identify and eliminate wasteful spending
Optimizing code and infr...
Monitoring is done using Prometheus and Grafana. Prometheus collects metrics and Grafana visualizes them.
Prometheus is an open-source monitoring and alerting toolkit
It collects metrics from monitored targets by scraping HTTP endpoints
Grafana is a visualization tool that creates dashboards for the collected metrics
It allows users to create graphs, charts, and alerts based on the data from Prometheus
DevOps is a software development methodology that combines software development (Dev) with IT operations (Ops) to improve collaboration and efficiency.
DevOps focuses on automating and streamlining the software development process.
It emphasizes communication and collaboration between development and operations teams.
DevOps aims to shorten the development lifecycle and provide continuous delivery of high-quality software...
Devops operations involve managing the development and deployment of software applications.
Automate repetitive tasks to improve efficiency
Use version control systems like Git for tracking changes
Implement continuous integration and continuous deployment pipelines
Monitor system performance and troubleshoot issues proactively
DevOps focuses on collaboration between development and operations teams, while SRE focuses on reliability and scalability of systems.
DevOps is a cultural and organizational practice that emphasizes collaboration and communication between development and operations teams.
SRE (Site Reliability Engineering) is a specific role within an organization that focuses on ensuring the reliability, scalability, and performance of...
DevOps is important for streamlining software development and deployment processes.
DevOps helps in automating manual tasks, increasing efficiency and reducing errors.
It promotes collaboration between development and operations teams, leading to faster delivery of software.
DevOps enables continuous integration and continuous delivery (CI/CD) pipelines, ensuring rapid and reliable software releases.
It improves overall so...
Software Engineer
7
salaries
| ₹3.6 L/yr - ₹10.8 L/yr |
Engineer Trainee
4
salaries
| ₹2 L/yr - ₹4.5 L/yr |
Software Developer
3
salaries
| ₹8 L/yr - ₹20 L/yr |
Senior Software Developer
3
salaries
| ₹11 L/yr - ₹15.5 L/yr |
Senior Software Engineer
3
salaries
| ₹10.1 L/yr - ₹21 L/yr |
Freshworks
Zoho
TCS
Infosys