Filter interviews by
Be the first one to contribute and help others!
I was interviewed in Feb 2025.
posted on 4 Feb 2025
I was interviewed in Jan 2025.
Yes, open for fixed term hire and working from client location at Gurgaon for 3 days a week.
Open for fixed term hire
Willing to work from client location at Gurgaon for 3 days a week
Implemented automated testing using Selenium WebDriver and JUnit in Agile environment
Implemented automated testing framework using Selenium WebDriver
Utilized JUnit for test case management
Worked in Agile environment to ensure continuous testing and integration
Pilot testing is done by a small group of users before the full release, while beta testing is done by a larger group of users. Automation testing can be used for regression testing, smoke testing, and performance testing.
Pilot testing involves a small group of users testing the functionality in a controlled environment.
Beta testing involves a larger group of users testing the functionality in a real-world environment.
...
Primary key uniquely identifies a record, while unique key allows only one instance of a value in a column. Query to find last id involves using ORDER BY and LIMIT.
Primary key enforces uniqueness and not null constraint on a column
Unique key enforces uniqueness but allows null values
To find row with last id, use ORDER BY id DESC LIMIT 1 in SQL query
Software Testing Life Cycle (STLC) involves planning, designing, executing, and reporting on tests. Defect Life Cycle includes identification, logging, fixing, and retesting defects.
STLC includes requirements analysis, test planning, test design, test execution, and test closure.
Defect Life Cycle involves defect identification, defect logging, defect fixing, defect retesting, and defect closure.
STLC ensures that the so...
303 status code in API means 'See Other'. PUT method is used to update data, while DELETE method is used to remove data. 3 point estimation technique in Agile is used to estimate tasks.
303 status code indicates that the resource can be found at a different URI and should be retrieved from there
PUT method is used to update an existing resource in the API
DELETE method is used to remove a resource from the API
3 point esti...
Links and labels that can be tagged to a bug in Jira
Links: related issues, documents, websites
Labels: priority, severity, type, status
Shell scripting is a way to automate tasks in Unix/Linux systems. Grep is used to search for specific patterns in text files. Href is not a standard Unix command.
Shell scripting automates tasks by writing scripts in a Unix/Linux environment
Grep command is used to search for specific patterns in text files
Example: grep 'search_pattern' file.txt
Href is not a standard Unix command, it may be a typo or a custom script
To resolve conflict with a team member, communication is key. Prioritize understanding, address the issue calmly, find common ground, and work towards a solution together.
Listen to the team member's perspective and concerns
Communicate openly and calmly about the issue
Find common ground and areas of agreement
Work together to find a solution that benefits both parties
Seek input from other team members or a mediator if ne
Open to relocating to Bangalore, working in night shifts, long hours, and 24X7 culture. Goal is to excel in automation testing.
Yes, open to relocating to Bangalore and working from client's office
Yes, open to working in night/rotational shifts
Yes, open to working in long extendable hours or 24X7 culture
Goal is to excel in automation testing
posted on 4 Mar 2025
Challenges in automation include dynamic UI elements, data synchronization, and maintenance of test scripts.
Dynamic UI elements can be challenging to automate as they may change frequently.
Data synchronization between different systems can be difficult to achieve in automation.
Maintenance of test scripts can be time-consuming, especially when application changes frequently.
To read data and assert with db value in API automation, use API response to extract data and compare with database query result.
Extract data from API response using JSON parsing libraries like Gson or Jackson
Execute database query to retrieve expected value
Compare the extracted data with the database value using assertion libraries like TestNG or JUnit
I was interviewed in Jan 2025.
Correlation is the process of extracting dynamic values from server responses and passing them to subsequent requests. Parameterization is the process of replacing hard-coded values in scripts with variables.
Correlation involves identifying and capturing dynamic values like session IDs or tokens from server responses.
Parameterization involves replacing hard-coded values in scripts with variables to make them reusable a...
Load testing is to test the system under normal and peak load conditions, stress testing is to test the system beyond its limits, and all testing is a combination of both.
Load testing checks the system's ability to handle expected load levels, ensuring performance under normal conditions.
Stress testing pushes the system beyond its limits to identify breaking points and measure performance degradation.
All testing combin...
PTLC stands for Performance Testing Life Cycle, which is a set of activities involved in the performance testing process.
PTLC involves planning, preparation, execution, analysis, and reporting of performance tests.
It includes defining performance goals, creating test scenarios, setting up test environments, running tests, analyzing results, and making recommendations.
Example: In PTLC, performance engineers work closely...
Issues faced in Loadrunner scripting, execution, and reports
Scripting: faced issues with correlation, parameterization, and dynamic data handling
Execution: encountered problems with test environment setup, resource constraints, and test data management
Reports: struggled with result analysis, performance bottlenecks identification, and report customization
LG calculation and workload modelling process involves determining the number of Load Generators required and creating a realistic simulation of user behavior.
Calculate the number of Load Generators needed based on expected user load and performance goals.
Create workload models by analyzing user behavior patterns, transaction volumes, and system usage.
Consider factors like peak load times, user distribution, and transa...
NFR scenarios refer to non-functional requirements that define the quality attributes of a system.
NFR scenarios focus on aspects like performance, scalability, reliability, and security.
Examples include load testing to assess system performance under expected load, stress testing to evaluate system behavior under extreme conditions, and security testing to identify vulnerabilities.
NFR scenarios help ensure that the sys...
posted on 13 Jan 2025
I applied via campus placement at Institute of Cost and Works Accountants of India (ICWAI) and was interviewed in Dec 2024. There were 3 interview rounds.
Online assessment (Technical, English, Reasoning)
Balance sheet shows assets, liabilities, and equity at a specific point in time. Trial balance lists all ledger accounts with their balances.
Balance sheet is a snapshot of a company's financial position at a specific point in time.
Trial balance is a list of all ledger accounts with their balances to ensure debits equal credits.
Balance sheet includes assets, liabilities, and equity sections.
Trial balance is used to prep...
Standard costing formula calculates the expected cost of a product based on predetermined standards.
Standard costing formula includes direct materials, direct labor, and overhead costs.
It helps in comparing actual costs with standard costs to identify variances.
Formula: Standard Cost = Standard Quantity of Inputs x Standard Price of Inputs
Explanation of journal entries for Prepaid, Accruals, Depreciation, Provision for Bad debts, DTA, and DTL.
Prepaid expenses are initially recorded as assets and then expensed over time as they are used up.
Accruals are expenses incurred but not yet paid or revenue earned but not yet received.
Depreciation is the allocation of the cost of a fixed asset over its useful life, with accumulated depreciation representing the to...
Preparation of balance sheet involves listing assets, liabilities, and equity. Ratios are computed using financial data from the balance sheet.
List all assets, liabilities, and equity on the balance sheet
Calculate various financial ratios such as current ratio, debt to equity ratio, and return on equity
Use formulae like Current Ratio = Current Assets / Current Liabilities
Interpret the ratios to analyze the financial he
DTA stands for Deferred Tax Asset and DTL stands for Deferred Tax Liability.
DTA is an asset recorded on a company's balance sheet that may be used to reduce taxable income in the future.
DTL is a liability recorded on a company's balance sheet that represents taxes that have been accrued but not yet paid.
DTA arises when a company has overpaid taxes or has tax deductions that exceed its taxable income.
DTL arises when a c...
Accumulated depreciation is a contra asset account that represents the total depreciation expense taken on an asset since it was acquired.
Accumulated depreciation is recorded on the balance sheet as a reduction from the gross amount of fixed assets to arrive at the net book value.
The accounting entry for accumulated depreciation involves debiting the depreciation expense account and crediting the accumulated depreciati...
Standard costing formula calculates the expected cost of a product based on predetermined standards.
Standard costing formula = Standard cost of direct materials + Standard cost of direct labor + Standard manufacturing overhead cost
Standard cost of direct materials = Standard quantity of materials x Standard price per unit
Standard cost of direct labor = Standard hours of labor x Standard rate per hour
Standard manufactur...
Budgeting involves setting financial goals and allocating resources, while forecasting predicts future financial outcomes based on past data and trends.
Budgeting is a plan for how to allocate resources and achieve financial goals
Forecasting predicts future financial outcomes based on past data and trends
Budgeting is typically done on an annual basis, while forecasting can be done on a shorter or longer term basis
Budget...
Variance analysis is a technique used to identify and analyze the difference between planned financial outcomes and actual results.
Variance analysis helps in understanding the reasons for deviations from budgeted or expected figures.
It involves comparing actual financial performance with budgeted or standard performance.
Common types of variances include price variance, quantity variance, and mix variance.
Variance analy...
ArrayList and LinkedList are both classes in Java that implement the List interface, but they have different underlying data structures.
ArrayList uses a dynamic array to store elements, providing fast random access but slower insertion and deletion.
LinkedList uses a doubly linked list to store elements, providing fast insertion and deletion but slower random access.
Choose ArrayList when you need fast random access and ...
Using synchronized keyword for thread synchronization in Java has advantages like simplicity and disadvantages like potential for deadlock. ReentrantLock offers more flexibility and control.
Advantages of synchronized keyword: simplicity, built-in support in Java
Disadvantages of synchronized keyword: potential for deadlock, lack of flexibility
ReentrantLock offers more control over locking, ability to try and lock with t...
In Java, == compares memory addresses while .equals() compares values of objects. Improper usage can lead to unexpected results.
Use == to compare primitive data types or check if two objects reference the same memory address.
Use .equals() to compare the values of objects, such as strings or custom classes.
Improper usage of == with objects can lead to unexpected results as it compares memory addresses, not values.
The Java garbage collector is responsible for automatically managing memory by reclaiming unused objects.
The garbage collector in Java runs in the background and automatically reclaims memory from objects that are no longer in use.
There are different types of garbage collection algorithms in Java, such as Serial, Parallel, CMS, G1, and ZGC.
Each garbage collection algorithm has its own characteristics and is suitable fo
Java 8 introduced features like lambdas and Stream API which have revolutionized the way Java applications are written.
Lambdas allow for more concise and readable code by enabling functional programming paradigms.
Stream API provides a way to process collections of objects in a functional style, making code more expressive and efficient.
Java 8 also introduced default methods in interfaces, allowing for backward compatib...
Checked exceptions are checked at compile time, while unchecked exceptions are not. Proper handling involves either catching or declaring the exception.
Checked exceptions must be either caught or declared in the method signature using the 'throws' keyword.
Unchecked exceptions do not need to be caught or declared, but can still be handled using try-catch blocks.
Examples of checked exceptions include IOException and Clas...
The Java Memory Model defines how threads interact through memory and how synchronization ensures data consistency.
Java Memory Model specifies how threads interact with memory, ensuring data consistency
It defines rules for reading and writing shared variables in a multithreaded environment
Synchronization mechanisms like synchronized blocks and locks ensure proper visibility and ordering of memory operations
The 'volatil...
Method overloading is when multiple methods have the same name but different parameters, while method overriding is when a subclass provides a specific implementation of a method in its superclass.
Method overloading is achieved within the same class by having multiple methods with the same name but different parameters.
Method overriding occurs in a subclass that provides a specific implementation of a method that is al...
Functional interfaces in Java are interfaces with a single abstract method. They can be used with lambda expressions for functional programming.
Functional interfaces have only one abstract method, but can have multiple default or static methods.
Lambda expressions can be used to implement the abstract method of a functional interface concisely.
An example of a custom functional interface is 'Calculator' with a single abs
Java Stream is a sequence of elements that supports functional-style operations. It differs from Iterator by allowing for more concise and declarative code.
Streams can process elements in a collection in a declarative way, allowing for functional-style operations like map, filter, and reduce.
Streams do not store elements, they operate on the source data structure (e.g., List) directly.
Iterators are used to iterate over...
Immutability in Java means objects cannot be modified after creation. String class achieves immutability by not allowing changes to its value.
Immutability means once an object is created, its state cannot be changed.
String class achieves immutability by making its value final and not providing any methods to modify it.
Advantages of immutable objects include thread safety, caching, and easier debugging.
Example: String s...
final, finally, and finalize have different meanings in Java.
final is a keyword used to declare constants, immutable variables, or prevent method overriding.
finally is a block used in exception handling to execute code after try-catch block.
finalize is a method used for cleanup operations before an object is garbage collected.
Singleton design pattern ensures a class has only one instance and provides a global point of access to it.
Create a private static instance of the class.
Provide a public static method to access the instance.
Use synchronized keyword or double-checked locking to ensure thread safety.
Java annotations are metadata that provide data about a program but do not affect the program itself. They are used in frameworks like Spring to configure and customize behavior.
Java annotations are used to provide metadata about a program, such as information about classes, methods, or fields.
In frameworks like Spring, annotations are used to configure various aspects of the application, such as defining beans, handli...
Java Streams handle parallel processing by splitting the data into multiple chunks and processing them concurrently.
Java Streams use the Fork/Join framework to split the data into chunks and process them in parallel.
Potential pitfalls include increased overhead due to thread management, potential race conditions, and decreased performance for small datasets.
Pitfalls can be mitigated by ensuring thread safety, avoiding ...
ArrayList is preferred for frequent retrieval operations, while LinkedList is suitable for frequent insertions/deletions.
Use ArrayList when you need fast random access and retrieval operations, such as searching for elements in a list.
Choose LinkedList when you need fast insertions/deletions, especially at the beginning or end of the list.
Consider memory overhead and performance trade-offs when deciding between ArrayLi...
ReentrantLock should be used instead of synchronized when more flexibility and control over locking mechanisms is needed.
Use ReentrantLock when you need to implement custom locking strategies or require advanced features like tryLock() and lockInterruptibly()
ReentrantLock supports fair locking mechanisms, ensuring that threads acquire the lock in the order they requested it
ReentrantLock allows for more fine-grained con...
In Java, == checks for reference equality while equals() checks for value equality. Misuse of == can lead to logical errors.
Override equals() when you want to compare the actual content of objects in user-defined classes.
Override hashCode() alongside equals() to ensure consistent behavior in hash-based collections.
Implement Comparable interface and override compareTo() for natural ordering of objects.
Garbage collection in Java automatically reclaims memory occupied by unused objects using different algorithms and memory regions.
Force garbage collection in Java using System.gc() or Runtime.getRuntime().gc()
Not recommended to force garbage collection as it can cause performance issues and disrupt the JVM's optimization
Example: System.gc();
Lambda expressions in Java 8 improve readability and maintainability by allowing concise and functional-style programming.
Lambda expressions reduce boilerplate code by providing a more compact syntax for implementing functional interfaces.
They make code more readable by focusing on the behavior being passed as an argument, rather than the mechanics of how it is implemented.
Lambda expressions enable developers to write ...
posted on 30 Jan 2025
I was interviewed in Dec 2024.
Basic quant and reasoning questions
Selenium MCQ
Java programs with MCQ
The driver is typically initialized in the setup method of a test automation framework.
Driver initialization is usually done in a setup method before test execution.
Commonly used methods for driver initialization include WebDriverManager, System.setProperty, and driver instantiation.
Example: WebDriverManager.chromedriver().setup();
Driver can be both static and non-static depending on the context of its usage.
Driver class can be static if it is used to initiate the WebDriver instance in a test automation framework.
Driver class can be non-static if it is used as an instance variable within a test class.
Static driver can be accessed directly without creating an object of the class.
Non-static driver requires an object of the class to be created befo
Static variables belong to the class itself, while non-static variables belong to instances of the class.
Static variables are shared among all instances of a class
Non-static variables are unique to each instance of a class
Static variables are initialized only once, at the start of the program
Non-static variables are initialized separately for each instance of the class
Static and non-static have their own disadvantages in QA automation testing.
Static methods cannot be overridden or inherited, making it difficult to create flexible test cases.
Non-static methods require an instance of the class to be created, which can lead to increased memory usage.
Static methods can lead to tight coupling between classes, making it harder to maintain and update the code.
Non-static methods may have de...
TestNG allows parallel execution of test cases to save time and improve efficiency.
TestNG provides the 'parallel' attribute in the testng.xml file to specify the level of parallelism for test execution.
Parallel execution can be achieved at the test level, class level, method level, or suite level.
TestNG also supports parallel execution of tests across multiple classes or suites using the 'parallel' attribute in the sui...
Parallel testing in TestNG allows running tests concurrently for faster execution.
Use 'parallel' attribute in testng.xml file to specify parallel execution mode.
Set 'parallel' attribute to 'methods', 'classes', or 'tests' based on the level of parallelism needed.
Example: <suite name='MySuite' parallel='tests'>
Use 'thread-count' attribute to specify the number of threads to use for parallel execution.
Parallel methods run multiple methods concurrently within a single test, while parallel tests run multiple tests concurrently.
Parallel methods execute multiple methods within a single test class concurrently.
Parallel tests execute multiple test classes concurrently.
Parallel methods are useful for speeding up the execution of a single test, while parallel tests are useful for running multiple tests faster.
Example: Runni...
Use Rest Assured to upload a file
Use the given file path to create a File object
Use MultiPartSpecBuilder to build the request with the file
Send the request using Rest Assured's given(), when(), and post() methods
The parameter for a POST method in Postman is typically sent in the request body.
Parameters are sent in the request body in key-value pairs
Parameters can be sent as form-data, x-www-form-urlencoded, or raw JSON
Example: {"key": "value"}
Cucumber knows the step definition file based on the annotations provided in the feature files.
Cucumber uses annotations like @Given, @When, @Then to map steps in feature files to corresponding step definition methods.
Step definition files are typically placed in a separate package or directory within the project structure.
Cucumber scans the project directory for step definition files based on the package structure and
Parameters used in cucumber are used to pass values to the step definitions in feature files.
Parameters are defined in feature files using < > syntax
Parameters can be passed to step definitions using Regular Expressions
Parameters can be used to make scenarios more reusable and dynamic
Datatable in Cucumber is used to pass multiple sets of data to a step definition in a scenario.
Datatables are defined using pipes (|) to separate values
Each row in the datatable represents a set of data passed to the step definition
Datatables can be used for parameterization and data-driven testing
Yes, I have created the test plan document at the start of the project.
Yes, I always create a test plan document at the beginning of a project to outline the testing approach and strategy.
The test plan document includes details on scope, objectives, resources, schedule, and test cases.
It helps in ensuring that all stakeholders are aligned on the testing process and expectations.
For example, in my previous project, I cr...
During the initial testing cycle of a project, focus is on establishing test cases, setting up test environments, and identifying potential issues.
Creating test cases based on requirements
Setting up test environments
Identifying potential issues and risks
Executing test cases and reporting defects
Collaborating with developers to resolve issues
Fibonacci sequence is a mathematical pattern where each number is the sum of the two preceding ones.
Fibonacci sequence is a series of numbers where each number is the sum of the two preceding ones.
The sequence starts with 1, 2, then each subsequent number is the sum of the two previous numbers (1+2=3, 2+3=5, 3+5=8, and so on).
This sequence is used in estimating because it reflects natural growth patterns found in natur
Testing matrix is a tool used to track test coverage and automation ROI is the return on investment from implementing automation testing.
Testing matrix is a visual representation of test cases, test scenarios, and their coverage across different platforms, browsers, devices, etc.
Automation ROI is the measure of the benefits gained from automation testing compared to the costs incurred in implementing and maintaining th...
I was interviewed in Jan 2025.
Multiple questions regarding data structures.
based on 4 reviews
Rating in categories
Accountant
5
salaries
| ₹1.5 L/yr - ₹2.6 L/yr |
Executive Accountant
3
salaries
| ₹1.4 L/yr - ₹3.5 L/yr |
Cognizant
Teleperformance
Reliance Retail
iEnergizer