i
OpenText Technologies
Filter interviews by
I was interviewed in Jul 2023.
To find the middle element in a linked list, use the slow and fast pointer approach.
Initialize two pointers, slow and fast, both pointing to the head of the linked list.
Move the slow pointer by one step and the fast pointer by two steps until the fast pointer reaches the end of the list.
The element pointed to by the slow pointer at this point is the middle element of the linked list.
OOPS concept is based on four main principles: Encapsulation, Inheritance, Polymorphism, and Abstraction.
Encapsulation: Bundling data and methods that operate on the data into a single unit.
Inheritance: Allowing a new class to inherit properties and behavior from an existing class.
Polymorphism: Ability to present the same interface for different data types.
Abstraction: Hiding the complex implementation details and show
The program uses the Observer design pattern.
The Observer pattern is used to define a one-to-many dependency between objects so that when one object changes state, all its dependents are notified and updated automatically.
It promotes loose coupling between objects, allowing for easier maintenance and scalability.
Examples of Observer pattern implementation can be seen in event handling systems, such as in GUI frameworks
I applied via Naukri.com and was interviewed before Oct 2023. There were 5 interview rounds.
Debugging a bug process involves identifying, isolating, and fixing issues in software code.
Identify the bug by reproducing the issue and analyzing error messages.
Isolate the bug by narrowing down the code where the issue occurs.
Fix the bug by making necessary code changes and testing the solution.
Verify the fix by retesting the software to ensure the bug is resolved.
A recursive program is a function that calls itself within its own code.
Recursion is a technique where a function calls itself to solve smaller instances of the same problem.
It involves breaking down a problem into smaller subproblems until a base case is reached.
Examples of recursive programs include factorial calculation, Fibonacci sequence generation, and tree traversal algorithms.
AVL and BST trees are types of binary search trees, with AVL trees being self-balancing.
BST (Binary Search Tree) is a type of binary tree where each node has at most two children, with left child < parent < right child.
AVL (Adelson-Velsky and Landis) tree is a self-balancing binary search tree where the heights of the two child subtrees of any node differ by at most one.
AVL trees maintain O(log n) time complexity for i...
The best pen in the market should have a comfortable grip, smooth writing experience, long-lasting ink, and a stylish design.
Comfortable grip for extended use
Smooth writing experience for effortless writing
Long-lasting ink to avoid frequent refills
Stylish design to appeal to customers
Seeking new challenges and opportunities for growth in a dynamic environment.
Looking for new challenges to continue learning and growing professionally.
Interested in working on cutting-edge technologies and projects.
Seeking a more collaborative and innovative work culture.
Want to explore different industry domains and expand my skill set.
Hoping to take on a leadership role and make a bigger impact.
I applied via Referral and was interviewed in Jun 2021. There were 4 interview rounds.
I applied via Recruitment Consulltant and was interviewed in Nov 2024. There were 3 interview rounds.
It was an amazing interview.
S abJDQdlqd qk; qdkq;q bdkq;d
I applied via Referral and was interviewed in Sep 2024. There were 2 interview rounds.
Use dynamic programming to find the longest palindromic substring in a given string.
Iterate through the string and expand around each character to find palindromes.
Store the length of the longest palindrome found so far.
Return the substring based on the start and end indices of the longest palindrome.
To serialize and deserialize a tree, use a recursive approach to traverse the tree and store the data in a suitable format.
Use pre-order traversal to serialize the tree by storing the node values in a list or string.
For deserialization, reconstruct the tree by recursively building nodes from the serialized data.
Consider using JSON or XML format for serialization to easily store and retrieve tree structure.
Use regex library to match given regex with string.
Use a regex library like re in Python to match the given regex with the string.
Check if the regex matches the string using the library functions.
Handle cases where the regex contains special characters like . and * appropriately.
Throttling is a technique used to control the rate of requests sent to a server.
Throttling helps prevent server overload by limiting the number of requests processed at a time.
Implementing a throttle function involves setting a maximum request rate and delaying excess requests.
Example: Implementing a throttle function in a web application to limit the number of API calls made to a third-party service.
Example: Throttlin...
Sort the squares of elements in a sorted array and return the sorted response.
Iterate through the array and square each element.
Store the squared values in a new array.
Sort the new array and return it.
A promise is a commitment to do something in the future, typically used for asynchronous operations in JavaScript.
Promises are used to handle asynchronous operations in JavaScript.
They represent a value that may be available now, in the future, or never.
Promises have three states: pending, fulfilled, or rejected.
Example: new Promise((resolve, reject) => { setTimeout(() => resolve('Done!'), 1000); });
Event loop is a mechanism that allows for asynchronous execution of code by managing the order of events in a single thread.
Event loop continuously checks the call stack for any functions that need to be executed, and processes them in a non-blocking manner.
Different types of queues in event loop include microtask queue (Promise callbacks), macrotask queue (setTimeout, setInterval callbacks), and animation frame queue
Virtual DOM is a lightweight copy of the actual DOM, used to improve performance by minimizing direct manipulation of the real DOM.
Virtual DOM is a concept used in frameworks like React to optimize rendering performance.
Changes are first made to the virtual DOM, which is then compared to the real DOM to identify the minimal updates needed.
This approach reduces the number of actual DOM manipulations, resulting in faster...
I applied via Campus Placement
1 coding question and MCQ on CS fundamentals were asked.
posted on 8 Jan 2025
I applied via Referral and was interviewed in Dec 2024. There was 1 interview round.
I applied via Walk-in and was interviewed in Nov 2024. There were 2 interview rounds.
1st round is aptitude and pesudocode
posted on 11 Aug 2024
I applied via LinkedIn and was interviewed in Jul 2024. There were 3 interview rounds.
SOLID principles help in creating maintainable, scalable, and flexible software.
SOLID principles help in creating software that is easier to maintain and extend.
Single Responsibility Principle (SRP) ensures that a class has only one reason to change, leading to more modular and cohesive code.
Open/Closed Principle (OCP) states that a class should be open for extension but closed for modification, allowing for easy chang...
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 within the class itself.
Provide a public static method to access the instance.
Ensure the constructor of the class is private to prevent instantiation from outside the class.
Example: Singleton pattern is commonly used in database connections to ensure only one connectio
Dependency injection is a design pattern where components are provided with their dependencies rather than creating them internally.
Dependency injection helps in achieving loose coupling between components.
It makes components easier to test by allowing for easier mocking of dependencies.
Use cases include injecting database connections, logging services, and external API clients into components.
Debugging a published dll involves using tools like Visual Studio debugger and logging mechanisms.
Use Visual Studio debugger to attach to the process using the published dll
Set breakpoints in the code to pause execution and inspect variables
Use logging mechanisms to track the flow of execution and identify issues
Check for any exceptions or errors thrown by the dll
Data seeding in Entity Framework involves pre-populating database tables with initial data. Mapping tables with entities involves defining relationships between database tables and entity classes.
Data seeding in Entity Framework can be done using the 'Seed' method in the 'Configuration' class of the DbContext.
To map tables with entities, use data annotations or Fluent API to define relationships between entities and da...
I applied via Campus Placement and was interviewed in Oct 2024. There were 3 interview rounds.
It included aptitude, technical and coding questions
Remote work preferred, open to occasional travel
Remote work preferred
Open to occasional travel
Flexible with location
based on 35 reviews
Rating in categories
Software Engineer
938
salaries
| ₹7 L/yr - ₹26 L/yr |
Senior Software Engineer
876
salaries
| ₹12 L/yr - ₹36 L/yr |
Associate Software Engineer
352
salaries
| ₹6.7 L/yr - ₹13 L/yr |
Lead Software Engineer
309
salaries
| ₹16.5 L/yr - ₹48 L/yr |
Software Developer
219
salaries
| ₹6.2 L/yr - ₹20.1 L/yr |
TCS
Infosys
Wipro
HCLTech