Filter interviews by
English comprehension, 2 DSA Question, and Technical Question on SQL, DBMS, OOPS
posted on 16 Aug 2015
Network layers are a hierarchical way of organizing communication protocols.
Network layers provide a modular approach to networking.
Each layer has a specific function and communicates with adjacent layers.
The OSI model has 7 layers, while the TCP/IP model has 4 layers.
Examples of layers include the physical layer, data link layer, network layer, transport layer, and application layer.
Deadlock is a situation where two or more processes are unable to proceed because they are waiting for each other to release resources.
Occurs in multi-threaded/multi-process environments
Can lead to system freeze or crash
Prevention techniques include resource ordering and timeouts
Example: Process A holds resource X and waits for resource Y, while Process B holds resource Y and waits for resource X
Paging and Segmentation are memory management techniques used by operating systems.
Paging divides memory into fixed-size pages and stores them in physical memory.
Segmentation divides memory into logical segments and stores them in physical memory.
Paging allows for efficient use of physical memory and reduces fragmentation.
Segmentation allows for protection and sharing of memory between processes.
Examples of operating s...
I am a software developer with experience in multiple programming languages and a passion for problem-solving.
Experienced in Java, C++, and Python
Strong knowledge of data structures and algorithms
Proficient in web development using HTML, CSS, and JavaScript
Familiar with agile development methodologies
Excellent problem-solving and analytical skills
Automation framework is a set of guidelines, standards, and coding practices used to create automated test scripts.
It provides a structured way to develop and maintain automated tests
It includes tools, libraries, and reusable components
It helps in reducing the time and effort required for testing
Examples include Selenium, Appium, and Robot Framework
High severity refers to critical defects that impact the core functionality of the software, while low severity refers to minor issues that have minimal impact on functionality.
High severity issues can cause the software to crash or result in data loss.
Low severity issues are cosmetic or minor usability problems.
From a QA point of view, high severity issues are more critical as they can significantly impact the user ex...
Class is a blueprint for creating objects while interface defines a contract for classes to implement.
A class can have attributes and methods while an interface only has method signatures.
A class can be instantiated while an interface cannot.
A class can only inherit from one class while it can implement multiple interfaces.
Example: Class - Animal, Interface - Flyable
Animal can have attributes like name, age, etc. and m...
Static keyword is used to declare a variable or method that belongs to the class rather than an instance of the class.
Static variables are shared among all instances of a class
Static methods can be called without creating an instance of the class
Static blocks are used to initialize static variables
Static keyword can also be used to create nested classes
Example: public static int count;
Access modifiers control the visibility and accessibility of class members.
Public: accessible from anywhere
Private: accessible only within the class
Protected: accessible within the class and its subclasses
Default: accessible within the same package
Used to enforce encapsulation and prevent unauthorized access
Interface defines only method signatures while abstract class can have both method signatures and implementations.
An interface can be implemented by multiple classes while an abstract class can only be extended by one class.
An abstract class can have constructors while an interface cannot.
An abstract class can have instance variables while an interface cannot.
An abstract class can provide default implementations for so...
A program for login scenario using defined automation architecture.
Identify the elements on the login page such as username, password, and login button
Use automation tools like Selenium to interact with the elements and input data
Verify successful login by checking for expected elements on the landing page
Implement error handling for incorrect login credentials
Use a modular and scalable architecture for maintainability
To store and print numbers from an array using arrayList.
Create an arrayList object
Loop through the array and add each element to the arrayList using add() method
Print the arrayList using toString() method
Example: int[] arr = {1, 2, 3}; ArrayList
Test scenario for download functionality of a songs website
Verify that the download button is visible and clickable
Check that the downloaded file is in the correct format
Ensure that the downloaded file is not corrupted
Test the download speed for different file sizes
Verify that the download progress is displayed to the user
Cache stores data temporarily to reduce server load while cookies store user information for website personalization.
Cache stores frequently accessed data to reduce server load and improve website performance.
Cookies store user information such as login credentials, preferences, and shopping cart items.
Cache is temporary and can be cleared at any time, while cookies can have an expiration date.
Cache is stored on the us...
The question asks to input an array and print the repeating characters.
Iterate through the array and store each element in a hash table or dictionary.
If an element already exists in the hash table, it is a repeating character.
Print all the repeating characters found.
Program to find the second minimum in an array.
Sort the array and return the second element.
Initialize two variables to store minimum and second minimum values.
Loop through the array and update the variables accordingly.
To find the longest palindrome in a given string.
Iterate through the string and check for palindromes of odd and even lengths.
Keep track of the longest palindrome found so far.
Use two pointers to check if the substring is a palindrome.
If the substring is a palindrome and its length is greater than the current longest palindrome, update the longest palindrome.
Find the next higher number with equal number of ones in binary representation.
Convert input number to binary
Count number of ones in binary representation
Increment input number until binary representation has equal number of ones
Convert incremented number to decimal
Find the duplicate number in an array of 10 numbers with only 2 steps.
Use a hash set to keep track of visited numbers.
Iterate through the array and check if the number is already in the set.
If it is, then it is the duplicate number.
If not, add it to the set.
At the end, the duplicate number will be found.
Program to print elements of a linked list in reverse order using same single linked list
Traverse the linked list and push each element onto a stack
Pop elements from the stack and print them in reverse order
To check the occurrence and correctness of HTML tags, we can use various tools and techniques.
One way is to use a browser's developer tools to inspect the HTML code and see the tags and their frequency.
Another way is to use an online HTML validator tool that checks for correct syntax and tag usage.
We can also use programming languages like Python to parse HTML and count the occurrence of each tag.
Regular expressions ca...
Reverse a linked list using iterative and recursive methods.
Iterative method involves traversing the list and changing the pointers to reverse the order.
Recursive method involves calling the function recursively on the next node and changing the pointers.
Both methods have O(n) time complexity and O(1) space complexity.
Example: 1->2->3->4->5 becomes 5->4->3->2->1.
Clone a linked list with a random pointer.
Create a new node for each node in the original list.
Use a hash table to map the original nodes to their clones.
Iterate through the original list again and update the random pointers of the clone nodes.
posted on 17 Aug 2016
I appeared for an interview in Jan 2016.
Machine learning is a subset of artificial intelligence that enables machines to learn from data without being explicitly programmed.
It involves training algorithms on large datasets to make predictions or decisions.
It can be supervised, unsupervised, or semi-supervised.
Examples include image recognition, natural language processing, and recommendation systems.
Prediction uses data analysis and statistical models to forecast future outcomes.
Prediction involves collecting and analyzing data to identify patterns and trends.
Statistical models are then used to make predictions based on the identified patterns.
Predictions can be made for a wide range of applications, such as weather forecasting, stock market trends, and customer behavior.
Accuracy of predictions can be improved by ...
Classification algorithms can be represented using flow charts.
Classification algorithms are used to categorize data into different classes.
Flow charts can be used to represent the decision-making process of classification algorithms.
Examples of classification algorithms include decision trees, k-nearest neighbors, and support vector machines.
Deadlocks are situations where two or more processes are unable to proceed because each is waiting for the other to release a resource.
Deadlocks occur when multiple processes are stuck in a circular waiting state.
Prevention techniques include resource allocation strategies, deadlock detection, and avoidance algorithms.
Examples of prevention techniques are using a resource allocation graph, implementing a banker's algor...
Banker's algorithm is a resource allocation and deadlock avoidance algorithm used in operating systems.
It is used to prevent deadlocks by ensuring that the system never enters an unsafe state.
It works by simulating the allocation of resources and checking if the system will remain in a safe state.
It requires knowledge of the maximum resource needs of each process and the currently available resources.
If a request for r...
Public and private IP addresses are used in computer networks. Public IPs are globally unique and accessible from the internet, while private IPs are used within a local network.
Public IP is assigned by the Internet Service Provider (ISP) and is used to identify a device on the internet.
Private IP is assigned by a local network administrator and is used to identify a device within a local network.
Public IPs are globall...
A message is transferred in OSI layer through a process called encapsulation and decapsulation.
The message is divided into smaller chunks called packets at the transport layer.
Each packet is then encapsulated with headers containing necessary information.
The encapsulated packets are then passed down to the network layer.
At the network layer, the packets are further encapsulated with network layer headers.
The encapsulat...
Polymorphism is the ability of an object to take on many forms. It allows objects of different classes to be treated as the same type.
Polymorphism is achieved through method overriding and method overloading.
It allows for code reusability and flexibility in object-oriented programming.
Three conditions for polymorphism are inheritance, method overriding, and a common interface or base class.
Interoperability in inheritance and polymorphism allows objects of different classes to be used interchangeably.
Inheritance allows a subclass to inherit properties and methods from a superclass.
Polymorphism allows objects of different classes to be treated as if they are of the same class.
Interoperability between inheritance and polymorphism allows objects of different classes to be used interchangeably.
For example, a ...
Transaction logs are records of all the changes made to a database or file system.
They help in recovering data in case of system failure or errors.
They provide a history of all the transactions made to the database or file system.
They are used for auditing and compliance purposes.
Examples include SQL Server transaction logs, file system transaction logs, etc.
C is a procedural programming language while C++ is an object-oriented programming language.
C is a procedural programming language, meaning it focuses on procedures or functions.
C++ is an extension of C and adds object-oriented features like classes and inheritance.
C++ supports polymorphism, encapsulation, and abstraction, which C lacks.
C++ allows the use of standard template library (STL) for data structures and algor...
I have worked on various technologies including Java, Python, and SQL.
Java - used for developing enterprise-level applications
Python - used for scripting, web development, and data analysis
SQL - used for managing and querying databases
Thrashing is a phenomenon in computer systems where excessive swapping of data between RAM and virtual memory occurs.
Occurs when a computer spends more time swapping data between RAM and virtual memory than executing actual tasks
Can be caused by insufficient RAM or poorly optimized programs
Can lead to a significant decrease in system performance
Example: A computer running multiple memory-intensive programs simultaneous
Java is platform independent while C++ is not.
Java code is compiled into bytecode which can run on any platform with a JVM, while C++ code needs to be compiled separately for each platform.
Java has automatic memory management through garbage collection, while C++ requires manual memory management.
Java has built-in support for multithreading, while C++ requires external libraries.
Java has a simpler syntax and is easier ...
Persistence is important for storing data permanently and ensuring data integrity.
Persistent storage allows data to be saved even after the application is closed or the system is restarted.
It ensures data integrity by preventing data loss in case of system failures.
Persistent data can be accessed and shared across different sessions or devices.
Examples: databases, file systems, cloud storage.
I found the GD to be well-organized and productive.
The GD had a clear agenda and all participants were given equal opportunity to express their views.
The facilitator ensured that the discussion stayed on track and encouraged active participation.
I appreciated the diverse perspectives brought by the participants, which enriched the discussion.
Examples: One of the participants shared a real-life case study that added dep...
I rate my HR interview as positive overall, with room for improvement in certain areas.
Overall, I felt the HR interview was well-structured and professional.
I appreciated the opportunity to discuss my skills and experiences in depth.
However, I felt that some questions were repetitive and could have been more engaging.
I believe the interview process could benefit from more focus on technical skills and problem-solving a...
I would recommend John and Sarah for their strong technical skills and ability to work well in a team.
John has a deep understanding of algorithms and data structures, and consistently delivers high-quality code.
Sarah is a quick learner and has a knack for problem-solving, often coming up with innovative solutions.
Both John and Sarah have excellent communication skills and collaborate effectively with their peers.
based on 1 interview
Interview experience
Senior Analyst
53
salaries
| ₹3.4 L/yr - ₹12 L/yr |
Customer Service & Operations Analyst
27
salaries
| ₹3.2 L/yr - ₹5 L/yr |
Software Engineer
25
salaries
| ₹7.5 L/yr - ₹18.5 L/yr |
Analyst
23
salaries
| ₹3 L/yr - ₹8.7 L/yr |
Operations Analyst
23
salaries
| ₹4 L/yr - ₹5 L/yr |
DXC Technology
Mphasis
Virtusa Consulting Services
Hexaware Technologies