Filter interviews by
Be the first one to contribute and help others!
I was interviewed in Jan 2025.
ArrayList is preferred for frequent retrieval operations due to fast random access, while LinkedList is suitable for frequent insertions/deletions.
Use ArrayList when frequent retrieval operations are required, such as searching for elements in a large collection.
Choose LinkedList when frequent insertions/deletions are needed, like maintaining a queue or stack.
Consider memory overhead and performance trade-offs when dec...
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.
Explicit unlocking in ReentrantLock reduces ...
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 values of objects instead of their references
Override hashCode() alongside equals() to ensure proper functioning in collections like HashMap
Consider implementing Comparable interface for natural ordering in collections
Garbage collection in Java automatically reclaims memory occupied by unused objects using different algorithms and memory regions.
Java garbage collector automatically reclaims memory from unused objects
Different types of GC algorithms in JVM: Serial, Parallel, CMS, G1 GC
Objects managed in Young Generation, Old Generation, and PermGen/Metaspace
Minor GC cleans up short-lived objects in Young Generation
Major GC (Full GC) ...
Lambda expressions in Java 8 improve readability and maintainability by enabling concise and functional-style programming.
Lambda expressions allow writing more compact code by reducing boilerplate code.
They enable passing behavior as arguments to methods, making code more modular and flexible.
Example: (a, b) -> a + b is a lambda expression that adds two numbers.
Checked exceptions must be handled explicitly, while unchecked exceptions do not require explicit handling.
Use custom exceptions when you want to create your own exception types to handle specific scenarios.
Custom exceptions can be either checked or unchecked, depending on whether you want to enforce handling or not.
For example, a custom InvalidInputException could be a checked exception if you want to ensure it is cau...
The Java Memory Model defines how threads interact with shared memory, ensuring visibility and ordering of variable updates in a concurrent environment.
Volatile keyword ensures changes to a variable are always visible to all threads.
Synchronized keyword provides mutual exclusion and visibility guarantees.
Reordering optimizations by the compiler or CPU can lead to unexpected behavior.
Happens-before relationship determin...
Method overloading allows multiple methods with the same name but different parameters, while method overriding allows a subclass to provide a different implementation of a parent method.
Use method overloading when you want to provide multiple ways to call a method with different parameters.
Use method overriding when you want to provide a specific implementation of a method in a subclass.
Example of method overloading: ...
Functional interfaces in Java have exactly one abstract method and work with lambda expressions for concise implementation.
Functional interfaces have exactly one abstract method, such as Runnable, Callable, Predicate, and Function.
Lambda expressions provide a concise way to implement functional interfaces.
Default methods in interfaces help in evolving APIs without breaking backward compatibility.
Method references (::) ...
Java Streams enable functional-style operations on collections with lazy evaluation, unlike Iterators.
Parallel streams can improve performance by utilizing multiple threads, but may introduce overhead due to thread management.
Care must be taken to ensure thread safety when using parallel streams in a multi-threaded environment.
Parallel streams are suitable for operations that can be easily parallelized, such as map and...
Immutability in Java prevents objects from being changed after creation, promoting thread safety and preventing unintended side effects.
Immutable objects cannot be modified after creation, promoting thread safety
String class in Java is immutable, modifications create new objects
Use final fields and avoid setters to create immutable classes
Collections can be made immutable using Collections.unmodifiableList()
Immutabilit...
final, finally, and finalize have different meanings in Java. final is for constants, finally for cleanup, and finalize for garbage collection.
final is used for constants, preventing method overriding, and inheritance
finally is used for cleanup actions after a try-catch block
finalize() is called by the garbage collector before object deletion
Alternatives to finalize() for resource management include using try-with-reso...
Singleton design pattern ensures only one instance of a class exists in the JVM, useful for managing shared resources like database connections.
Avoid using Singleton when multiple instances of a class are required.
Avoid Singleton for classes that are not thread-safe.
Avoid Singleton for classes that need to be easily mockable for testing purposes.
Java annotations provide metadata to classes, methods, and fields, improving code readability and maintainability.
Annotations like @Component, @Service, and @Autowired in Spring help with dependency injection
Annotations reduce boilerplate code compared to XML configurations
Custom annotations can be created using @interface
Reflection APIs allow reading annotation metadata dynamically
Annotations like @Transactional simpl
Java Streams handle parallel processing by dividing data into multiple threads using the ForkJoin framework. Pitfalls include race conditions, performance issues with small datasets, and debugging challenges.
Parallel streams divide data into multiple threads for faster processing
ForkJoin framework handles parallel execution internally
Useful for CPU-intensive tasks but may not improve performance for small datasets
Share...
I was interviewed in Jan 2025.
A sequence was provided: 4181, 2684, 1597, 987, 610.
first 2 are given and write code for other value calculation using java 8
The second question required writing a reverse of a palindrome using both Java 8 streams. I was able to successfully write both and clear the first round.
Java 17 introduces sealed classes to restrict inheritance and improve code maintainability.
Sealed classes are declared using the 'sealed' keyword followed by the permitted subclasses.
Subclasses of a sealed class must be either final or sealed themselves.
Errors may occur when trying to extend a sealed class with a non-permitted subclass.
Implementation of 'notify me if item is back in stock' feature in an ecommerce application
Create a database table to store user notifications for out-of-stock items
Implement a service to check item availability and send notifications to subscribed users
Provide a user interface for users to subscribe to notifications for specific items
I was interviewed in Aug 2024.
I was interviewed in Jan 2025.
Numerical reasoning : Tests mathematical skills,such as number sequences,percentages,and ratios.
Gd Topics:
1.Current affairs
2.Business and Economy
3.Social and Cultural
I applied via campus placement at National Institute of Technology (NIT), Kurukshetra and was interviewed in Dec 2024. There were 2 interview rounds.
posted on 12 Dec 2024
I applied via Campus Placement and was interviewed in Nov 2024. There were 4 interview rounds.
English, Quant & Reasoning- 3 section, each section 15 que, Total 45 minutes & 45 questions, cut off for each section
To build a web application, I would use a combination of front-end technologies like HTML, CSS, and JavaScript, along with back-end technologies like Node.js and MongoDB.
Use HTML for structuring the content of the web pages
Use CSS for styling the web pages and making them visually appealing
Use JavaScript for adding interactivity to the web pages and handling user input
Use Node.js for server-side scripting and handling ...
Azure is a cloud computing platform by Microsoft. Azure Blob Storage is a service for storing large amounts of unstructured data. ARM stands for Azure Resource Manager, used for managing resources in Azure. Horizontal scaling is increasing the number of instances of a service to distribute load.
Azure is a cloud computing platform by Microsoft
Azure Blob Storage is a service for storing large amounts of unstructured data
...
I approach problems by breaking them down into smaller parts, analyzing root causes, seeking input from team members, and implementing solutions systematically.
Identify the root cause of the problem
Break down the problem into smaller parts
Seek input from team members for different perspectives
Implement solutions systematically
Learn from the experience to prevent similar issues in the future
Yes, I have internship offers from Ericsson due to their reputation for innovation and cutting-edge technology.
I have received internship offers from Ericsson because of their reputation for innovation and cutting-edge technology.
I am excited about the opportunity to work with a global leader in telecommunications.
I believe that interning at Ericsson will provide me with valuable experience and skills that will benefit
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...
Bachelor of Commerce degree with a GPA of 6.79 and an accompanying resume.
based on 8 reviews
Rating in categories
Assistant Manager
4
salaries
| ₹2.5 L/yr - ₹4.5 L/yr |
Software Developer
3
salaries
| ₹4 L/yr - ₹5 L/yr |
General Manager Quality Assurance
3
salaries
| ₹8.2 L/yr - ₹8.2 L/yr |
Assessment Executive
3
salaries
| ₹2.7 L/yr - ₹3.6 L/yr |
TCS
Capgemini
HCLTech
BYJU'S