i
Gif Technologies
Filter interviews by
I applied via Approached by Company and was interviewed in May 2024. There were 3 interview rounds.
WebDriver is a tool for automating web application testing.
WebDriver is a web automation tool that allows you to control a browser from your code.
It supports multiple programming languages like Java, Python, etc.
WebDriver can interact with web elements like buttons, text fields, etc.
It can simulate user interactions such as clicking, typing, etc.
WebDriver is commonly used for automated testing of web applications.
I applied via LinkedIn and was interviewed before Nov 2023. There was 1 interview round.
A class is a blueprint for creating objects in object-oriented programming.
Classes define the properties and behaviors of objects.
Objects are instances of classes.
Classes can inherit properties and behaviors from other classes.
Example: Class 'Car' may have properties like 'color' and 'model', and behaviors like 'drive' and 'stop'.
An object is a self-contained entity that consists of properties and methods to perform specific tasks.
Objects are instances of classes in object-oriented programming.
They have attributes (properties) and behaviors (methods).
Example: A car object can have properties like color, model, and methods like start(), stop().
Constructor is a special type of method in a class that is automatically called when an object of that class is created.
Constructors have the same name as the class they belong to
They can be used to initialize the object's state or perform any necessary setup
Constructors can be parameterized to accept arguments during object creation
Example: public class Person { public Person(String name) { this.name = name; }}
OOPs stands for Object-Oriented Programming. It is a programming paradigm based on the concept of objects.
OOPs focuses on creating objects that contain both data and methods to manipulate that data.
The four main principles of OOPs are Inheritance, Encapsulation, Abstraction, and Polymorphism.
Types of OOPs include Class-based and Prototype-based.
Examples of OOPs languages include Java, C++, and Python.
Access modifiers are keywords in programming languages that define the accessibility of classes, methods, and other members.
Types of access modifiers in C# are public, private, protected, internal, protected internal.
Public - accessible from any other class.
Private - accessible only within the same class.
Protected - accessible within the same class or derived classes.
Internal - accessible within the same assembly.
Prote...
Abstract class can have both abstract and non-abstract methods, while interface can only have abstract methods.
Abstract class can have constructor, fields, and methods, while interface cannot have any implementation.
A class can inherit only one abstract class but can implement multiple interfaces.
Abstract class is used to provide a common base for multiple derived classes, while interface is used to define a contract f...
Garbage collection in C# is an automatic memory management process that deallocates memory that is no longer in use.
Garbage collection is a process where the runtime environment automatically deallocates memory that is no longer needed by the program.
It helps in preventing memory leaks and ensures efficient memory usage.
Garbage collection in C# is performed by the Common Language Runtime (CLR) and uses algorithms like ...
Ref and Out parameters are used in C# to pass arguments by reference instead of by value.
Ref parameters are used to pass arguments by reference, allowing the called method to modify the value of the argument.
Out parameters are similar to ref parameters, but they do not require the caller to initialize the parameter before calling the method.
Example: void CalculateArea(ref int length, int width) { length = length * widt...
Delegates are type-safe function pointers in C# that allow methods to be passed as parameters.
Delegates are similar to function pointers in C++.
Delegates can be used to create callback functions.
Delegates are used in event handling in C#.
Delegates can be multicast, meaning they can hold references to multiple methods.
Example: delegate void MyDelegate(string message);
Equality in SQL refers to comparing two values to see if they are the same.
In SQL, equality is determined using the = operator.
It is used in WHERE clauses to filter data based on specific values.
Example: SELECT * FROM table WHERE column_name = 'value';
Delete removes rows one by one and can be rolled back, while Truncate removes all rows at once and cannot be rolled back.
Delete is a DML command while Truncate is a DDL command.
Delete can be rolled back using a transaction, while Truncate cannot be rolled back.
Delete fires triggers on each row deletion, while Truncate does not fire triggers.
Delete is slower as it removes rows one by one, while Truncate is faster as it ...
Clustered index physically reorders the data in the table while non-clustered index creates a separate structure.
Clustered index determines the physical order of data rows in a table.
Non-clustered index creates a separate structure to store the index data.
A table can have only one clustered index but multiple non-clustered indexes.
Clustered index is faster for retrieval but slower for insert and update operations.
Non-c...
Indexes are data structures that improve the speed of data retrieval operations in databases.
Indexes are used to quickly locate data without having to search every row in a database table.
They are created on columns in a database table to speed up the data retrieval process.
Examples of indexes include primary keys, unique keys, and non-unique keys.
Different types of joins are Inner Join, Left Join, Right Join, and Full Join.
Inner Join: Returns rows when there is a match in both tables.
Left Join: Returns all rows from the left table and the matched rows from the right table.
Right Join: Returns all rows from the right table and the matched rows from the left table.
Full Join: Returns rows when there is a match in one of the tables.
Stored Procedure is a precompiled set of SQL statements while Function is a reusable code block that returns a value.
Stored Procedure can perform multiple operations and can return multiple values, while Function returns only one value.
Stored Procedure can have input and output parameters, while Function can only have input parameters.
Stored Procedure can call a Function, but a Function cannot call a Stored Procedure.
S...
Top trending discussions
posted on 17 Feb 2025
I was interviewed in Jan 2025.
Design a test with a clearly outlined problem; you need to sketch your ideas and thoughts within one hour.
I was interviewed in Jan 2025.
Semantic tags in HTML are specific tags that provide meaning to the content they enclose.
Semantic tags help search engines and screen readers understand the structure of a webpage.
Examples of semantic tags include <header>, <footer>, <nav>, <article>, <section>, <aside>, <main>, <figure>, <figcaption>.
Using semantic tags improves SEO and accessibility of a website.
Currying is a technique in functional programming where a function with multiple arguments is transformed into a sequence of nested functions, each taking a single argument.
Currying helps in creating reusable functions and partial application.
It allows you to create new functions by fixing some parameters of an existing function.
Example: const add = (a) => (b) => a + b; add(2)(3) will return 5.
Map is used to transform each element of an array, while Filter is used to select elements based on a condition.
Map returns a new array with the same length as the original array, but with each element transformed based on a provided function.
Filter returns a new array with only the elements that pass a provided condition function.
Example for Map: [1, 2, 3].map(num => num * 2) will result in [2, 4, 6].
Example for Fi...
Map creates a new array with the results of calling a provided function on every element, while forEach executes a provided function once for each array element.
Map returns a new array with the same length as the original array, while forEach does not return anything.
Map does not mutate the original array, while forEach can mutate the original array.
Map is more suitable for transforming data and creating a new array, w...
Authentication verifies the identity of a user, while authorization determines the user's access rights.
Authentication confirms the user's identity through credentials like username and password.
Authorization determines what actions the authenticated user is allowed to perform.
Authentication precedes authorization in the security process.
Example: Logging into a website (authentication) and then accessing specific pages
Local storage persists even after the browser is closed, while session storage is cleared when the browser is closed.
Local storage has no expiration date, while session storage expires when the browser is closed.
Local storage stores data with no limit, while session storage has a limit of around 5MB.
Local storage data is available across all windows/tabs for that domain, while session storage data is only available wit...
posted on 2 Feb 2025
I was interviewed in Jan 2025.
A case study in an Optum interview typically revolves around solving a real-world problem related to healthcare, data analysis, technology, or business strategy, given Optum’s focus on healthcare services and technology solutions. Here are some tips on how to approach a case study interview at Optum and a sample example:
Steps to Approach an Optum Case Study:
1. Understand the Problem Statement:
Take time to read the case study carefully and make sure you understand the key issue or question.
Identify the stakeholders involved (patients, healthcare providers, insurance companies, etc.) and the objective (cost reduction, improving patient outcomes, increasing efficiency, etc.).
2. Clarify Assumptions:
If there are any ambiguous elements, ask questions to clarify the problem.
You can also state your assumptions if you're making any, but be clear that these are assumptions.
3. Break Down the Problem:
Identify key data points you would need to analyze.
Break the problem into smaller pieces that can be addressed step-by-step.
4. Analyze:
Use frameworks like SWOT analysis, PESTLE analysis, or Porter’s Five Forces if applicable to the case.
In case of a data-related problem, try to identify key metrics (such as patient satisfaction, cost, quality of care, etc.) and how they can be improved or measured.
For technology-related cases, consider aspects like scalability, security, user experience, and integration with existing systems.
5. Propose a Solution:
Present your findings logically and suggest a solution based on your analysis.
Make sure to consider both short-term and long-term impacts on patient
Computer typing should be 40 wpm. And optional question answer multiple choice questions
I applied via Approached by Company and was interviewed in Dec 2024. There were 3 interview rounds.
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.
I applied via Walk-in and was interviewed in Dec 2024. There were 2 interview rounds.
Process planning refers to the methodical approach of determining the best possible way to manufacture a product or deliver a service by considering various aspects such as resources, timelines, and methodologies involved in production or execution.
Implemented a new chemical process to increase efficiency and reduce waste.
Researched and analyzed current process to identify areas for improvement
Designed and tested new process using simulation software
Collaborated with production team to implement changes and monitor results
Achieved 20% increase in production output and 15% reduction in waste
Continuously monitored and optimized process for further improvements
I utilize a combination of project management tools and communication strategies to effectively manage my team and projects.
I prioritize tasks based on deadlines and importance
I regularly communicate with team members to ensure everyone is on the same page
I use project management software such as Trello or Asana to track progress and assign tasks
I adapt my management style to fit the needs and preferences of individual
based on 6 interviews
Interview experience
based on 45 reviews
Rating in categories
Software Developer
17
salaries
| ₹2.8 L/yr - ₹7.2 L/yr |
Senior Test Engineer
8
salaries
| ₹4.1 L/yr - ₹5.6 L/yr |
Softwaretest Engineer
6
salaries
| ₹3.2 L/yr - ₹6.8 L/yr |
Executive - Developer
6
salaries
| ₹5.2 L/yr - ₹8 L/yr |
System Engineer
4
salaries
| ₹4.5 L/yr - ₹6 L/yr |
TCS
Infosys
Wipro
HCLTech