i
IBM
Proud winner of ABECA 2024 - AmbitionBox Employee Choice Awards
Filter interviews by
I applied via Naukri.com and was interviewed in Oct 2022. There were 3 interview rounds.
Our devops pipeline includes Jenkins for CI/CD, Docker for containerization, Ansible for configuration management, and Nagios for monitoring.
Jenkins for continuous integration and continuous deployment
Docker for containerization of applications
Ansible for configuration management and automation
Nagios for monitoring system performance and alerts
I was interviewed in Dec 2024.
I applied via Naukri.com and was interviewed in Nov 2024. There was 1 interview round.
Absolute Xpath starts from the root element, while relative Xpath starts from any node in the DOM structure.
Absolute Xpath starts with a single forward slash (/) and starts selection from the root node.
Relative Xpath starts with a double forward slash (//) and starts selection from the current node or any node in the DOM structure.
Absolute Xpath is more brittle and prone to breaking if the structure of the page changes...
The return would be the number of tabs open in the browser.
The return value would be an integer representing the count of open tabs.
For example, if there are 5 tabs open, the return value would be 5.
Types of waits in Selenium include Implicit Wait, Explicit Wait, and Fluent Wait.
Implicit Wait: Waits for a certain amount of time before throwing a NoSuchElementException.
Explicit Wait: Waits for a certain condition to occur before proceeding further in the code.
Fluent Wait: Waits for a condition to be true with a defined polling frequency.
Example: driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
Exceptions in Selenium are errors that occur during test execution, disrupting the flow of the test script.
Exceptions are thrown when there is an unexpected behavior in the application under test or in the test script itself.
Common exceptions in Selenium include NoSuchElementException, ElementNotVisibleException, TimeoutException, and StaleElementReferenceException.
Handling exceptions in Selenium can be done using try-...
Feature files contain high-level description of the functionality to be tested, while step definitions are the implementation of the steps in the feature file using code.
Feature files are written in Gherkin syntax and describe the behavior of the application in plain text.
Step definitions are written in programming languages like Java, Ruby, etc., and map the steps in the feature file to automation code.
Feature files a...
Data can be input in Cucumber using feature files and step definitions.
Data can be input in feature files using scenarios and scenario outlines
Step definitions can be used to define the actions to be taken with the input data
Data tables can be used in feature files to input structured data
Examples keyword can be used in scenario outlines to provide multiple sets of input data
Test case is a set of conditions or variables under which a tester will determine whether a system under test satisfies requirements. Test plan is a document outlining the scope, approach, resources, and schedule of testing activities. Test scenarios are detailed descriptions of possible interactions with the system.
Test case: specific conditions to be tested, expected results, steps to execute
Test plan: overall strate...
Hooks in Java are methods that allow subclasses to override or extend the behavior of a superclass.
Hooks are commonly used in frameworks like JUnit and TestNG for test automation.
They are often used for setup and teardown operations before and after test methods.
Examples include @Before, @After, @BeforeClass, and @AfterClass annotations in JUnit.
I applied via LinkedIn and was interviewed in Dec 2024. There was 1 interview round.
Maven build lifecycle consists of phases like compile, test, package, install, deploy.
Maven build lifecycle consists of three main phases: clean, default, and site.
Each phase consists of a series of goals that are executed in a specific order.
Some common goals in Maven build lifecycle include compile, test, package, install, and deploy.
The clean phase removes all files generated by the previous build.
The default phase ...
Code to reverse a sentence using array of strings.
Split the sentence into an array of words
Reverse the array
Join the array back into a sentence
Static block in Java is a block of code that is executed only once when the class is loaded.
Static block is used to initialize static variables of a class.
It is executed before the main method.
Syntax: static { // code to be executed }
Example: static { System.out.println("Static block executed"); }
Exclude and include in TestNG are used to specify which test methods to run or skip during test execution.
Exclude attribute is used to specify which test methods to skip during test execution
Include attribute is used to specify which test methods to run during test execution
Both attributes can be used in the testng.xml file or in the @Test annotation
Example: @Test(groups = {"smoke"}, excludeGroups = {"regression"})
To reverse a digit, convert it to a string and then reverse the string.
Convert the digit to a string
Use built-in functions to reverse the string
Convert the reversed string back to a digit if needed
I was interviewed in Dec 2024.
I applied via Approached by Company and was interviewed in Nov 2024. There was 1 interview round.
I applied via Naukri.com and was interviewed in Sep 2024. There was 1 interview round.
The output of the code will be 'animal is created' followed by 'Dog is created'.
The code defines a class Animal with a constructor that prints 'animal is created'.
It also defines a class Dog that extends Animal, with a constructor that prints 'Dog is created'.
In the main method, an instance of Dog is created, which will trigger the constructors of both Animal and Dog classes.
The output will be 'HelloThere'
Concatenation of 'Hello' and 'There' results in 'HelloThere'
The final string is printed using System.out.println()
The code creates a StringBuffer object with 'Hello' and appends 'There' to it before printing the final string.
StringBuffer is mutable, so the original 'Hello' string can be modified
The append() method adds the specified string to the end of the buffer
The final output will be 'HelloThere'
Option a is valid, option b is valid, option c is invalid.
Option a is valid because ChromeDriver is a subclass of WebDriver, so it can be assigned to a WebDriver reference.
Option b is valid because ChromeDriver is a subclass of WebDriver, so it can be instantiated using a WebDriver reference.
Option c is invalid because WebDriver is an interface and cannot be instantiated directly. It can only be used as a reference typ
Sort input array of strings in descending order without using inbuilt functions
Iterate through the array and compare each element with the rest to find the largest element
Swap the largest element with the first element, then repeat the process for the remaining elements
Continue this process until the array is sorted in descending order
findElement returns the first matching element on the page, while findElements returns a list of all matching elements.
findElement returns a single WebElement matching the locator provided
findElements returns a list of WebElements matching the locator provided
findElement will throw NoSuchElementException if no element is found, while findElements will return an empty list
getwindowhandle returns the handle of the current window, getwindowhandles() returns handles of all open windows
getwindowhandle returns a single window handle, while getwindowhandles() returns a set of window handles
getwindowhandle is used to switch between windows in Selenium WebDriver
Output type of getwindowhandle is String, while output type of getwindowhandles() is Set
String is immutable, while StringBuilder is mutable and more efficient for concatenating strings.
String is immutable, meaning its value cannot be changed once it is created.
StringBuilder is mutable, allowing for modifications to the string without creating a new object.
StringBuilder is more efficient for concatenating multiple strings as it does not create new objects each time.
Example: String str = "Hello"; StringBuil
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...
posted on 24 Oct 2024
It was very basic. Consisted of logical and numerical reasoning questions
Application Developer
11.6k
salaries
| ₹5.5 L/yr - ₹23.6 L/yr |
Software Engineer
5.5k
salaries
| ₹4.9 L/yr - ₹22.3 L/yr |
Advisory System Analyst
5.2k
salaries
| ₹9.2 L/yr - ₹27 L/yr |
Senior Software Engineer
4.8k
salaries
| ₹8 L/yr - ₹30 L/yr |
Senior Systems Engineer
4.6k
salaries
| ₹5.6 L/yr - ₹19 L/yr |
Oracle
TCS
Cognizant
Accenture