Interview Questions of Persistent
Interview Questions of Persistent
- What is the difference between "const" and "volatile" in C/C++?
- const keyword is used to define constants whose values cannot be changed during program execution.
- volatile keyword is used to indicate that a variable's value might be changed at any time by external factors beyond the program's control.
- Explain the difference between "deep copy" and "shallow copy" in Python.
- In Python, a deep copy creates a new object and then, recursively, inserts copies into it of the objects found in the original.
- Shallow copy, on the other hand, constructs a new compound object and then (to the extent possible) inserts references into it to the objects found in the original.
- What is method overriding and method overloading in Java?
- Method overriding occurs when a subclass provides a specific implementation of a method that is already provided by its superclass.
- Method overloading occurs when a class has two or more methods with the same name but different parameters.
- Explain the concept of multithreading.
- Multithreading is the ability of a CPU (Central Processing Unit) to provide multiple threads of execution concurrently, supported by the operating system.
- What is the difference between procedural and object-oriented programming?
- Procedural programming focuses on the use of procedures or routines, where each procedure performs a specific task.
- Object-oriented programming (OOP) focuses on creating reusable objects that contain both data and methods.
- What is the purpose of the 'finally' block in Java exception handling?
- The 'finally' block in Java is used to execute important code such as closing a file or releasing resources, regardless of whether an exception is thrown or not.
- What is the role of a database index?
- A database index is a data structure that improves the speed of data retrieval operations on a database table at the cost of additional space and decreased performance on write operations.
- What is the difference between TCP and UDP?
- TCP (Transmission Control Protocol) provides reliable, ordered, and error-checked delivery of a stream of bytes.
- UDP (User Datagram Protocol) is a connectionless protocol that sends packets of data called datagrams without requiring a connection.
- What is a foreign key constraint in a relational database?
- A foreign key constraint is a column or set of columns in a relational database table that provides a link between data in two tables. It enforces referential integrity by requiring that the values in the foreign key match the values in the primary key of another table.
- Explain the concept of garbage collection in programming languages like Java.
- Garbage collection is the process by which a programming language automatically reclaims memory that is no longer in use by the program. This prevents memory leaks and ensures efficient memory management.
- What are the advantages and disadvantages of microservices architecture?
- Advantages: scalability, independent deployment, technology diversity, fault isolation.
- Disadvantages: increased complexity, distributed data management, network latency.
- What is the purpose of the Model-View-Controller (MVC) design pattern?
- The MVC design pattern separates an application into three main components: Model (data), View (presentation), and Controller (logic). It promotes code organization and reusability.
- Explain the concept of virtual memory.
- Virtual memory is a memory management technique that provides an idealized abstraction of the storage resources that are actually available on a given machine, which creates the illusion to users of a very large (main) memory.
- What is the difference between GET and POST methods in HTTP?
- The GET method sends data as part of the URL, visible to the user. It is used for retrieving data from the server.
- The POST method sends data in the body of the HTTP request, not visible to the user. It is used for submitting data to the server.
- What are design patterns? Provide examples.
- Design patterns are reusable solutions to common problems encountered in software design. Examples include Singleton, Factory, Observer, and Strategy patterns.
- What is the purpose of dependency injection?
- Dependency injection is a technique in which an object receives other objects that it depends on (dependencies) as input. It promotes loose coupling and facilitates unit testing.
- What are the advantages of using NoSQL databases?
- Advantages include schema flexibility, scalability, and better performance for certain types of applications.
- Explain the concept of RESTful APIs.
- RESTful APIs (Representational State Transfer) are APIs that adhere to the principles of REST, which include stateless communication, uniform interface, and resource-based URLs.
- What is the purpose of a version control system (VCS)?
- A version control system is a software tool that helps developers manage changes to source code over time. It enables collaboration, tracks changes, and provides version history.
- Explain the concept of continuous integration (CI) and continuous deployment (CD).
- Continuous integration is the practice of frequently integrating code changes into a shared repository, followed by automated build and test processes.
- Continuous deployment extends CI by automatically deploying code changes to production environments after passing tests.