InterviewSolution
This section includes InterviewSolutions, each offering curated multiple-choice questions to sharpen your knowledge and support exam preparation. Choose a topic below to get started.
| 1. |
What Do You Mean By Eventual Consistency? What Does Eventually Consistent Mean? |
Answer»
|
|
| 2. |
What Is Base Property Of A System? |
|
Answer» BASE properties are the common properties of recently EVOLVED NOSQL databases. According to CAP theorem, a BASE system does not guarantee consistency. This is a CONTRIVED acronym that is MAPPED to following property of a system in terms of the CAP theorem
BASE properties are the common properties of recently evolved NOSQL databases. According to CAP theorem, a BASE system does not guarantee consistency. This is a contrived acronym that is mapped to following property of a system in terms of the CAP theorem |
|
| 3. |
What Is Acid Property Of A System? |
|
Answer» ACID is a acronym which is commonly used to define the properties of a relational database system, it stand for following terms: Atomicity - This property guarantees that if one part of the transaction fails, the entire transaction will fail, and the database STATE will be left unchanged. Consistency - This property ensures that any transaction will bring the database from one valid state to ANOTHER. ISOLATION - This property ensures that the concurrent execution of transactions results in a system state that would be obtained if transactions were executed serially. Durable - means that once a transaction has been COMMITTED, it will remain so, even in the event of POWER loss. ACID is a acronym which is commonly used to define the properties of a relational database system, it stand for following terms: Atomicity - This property guarantees that if one part of the transaction fails, the entire transaction will fail, and the database state will be left unchanged. Consistency - This property ensures that any transaction will bring the database from one valid state to another. Isolation - This property ensures that the concurrent execution of transactions results in a system state that would be obtained if transactions were executed serially. Durable - means that once a transaction has been committed, it will remain so, even in the event of power loss. |
|
| 4. |
What Is Sharding? |
Answer»
|
|
| 5. |
What Is Cap Theorem? |
|
Answer» The CAP Theorem for distributed computing was published by Eric Brewer, This states that it is not possible for a distributed computer system to simultaneously provide all three of the following guarantees:
The CAP Theorem for distributed computing was published by Eric Brewer, This states that it is not possible for a distributed computer system to simultaneously provide all three of the following guarantees: |
|
| 6. |
What Are Different Mechanism Of Session Replication? |
Answer»
|
|
| 7. |
What Are The Requirements For Making A Java Ee Application Session Replication Enabled? |
Answer»
|
|
| 8. |
What Does Distributable Tag Means In Web.xml ? |
|
Answer» In JAVA world, JEE APPLICATIONS use the concept of distributable web applications to provide session-failover and enable LOAD balancing. You can set a JEE application to SUPPORT session replication by adding distributable tag in web.xml file. <distributable /> In Java world, JEE applications use the concept of distributable web applications to provide session-failover and enable load balancing. You can set a JEE application to support session replication by adding distributable tag in web.xml file. <distributable /> |
|
| 9. |
What Is Session Replication? |
Answer»
|
|
| 10. |
What Is Fail Over? |
|
Answer» Fail over means switching to another machine when ONE of the machine fails. Fail over is a important technique in achieving high AVAILABILITY. Typically a load balancer is configured to fail over to another machine when the main machie fails. To achieve least down time, most load balancer SUPPORT a feature of heart beat check. This ensures that target machine is responding. As soon as a hear beat SIGNAL fails, load balancer stops SENDING request to that machine and redirects to other machines or cluster. Fail over means switching to another machine when one of the machine fails. Fail over is a important technique in achieving high availability. Typically a load balancer is configured to fail over to another machine when the main machie fails. To achieve least down time, most load balancer support a feature of heart beat check. This ensures that target machine is responding. As soon as a hear beat signal fails, load balancer stops sending request to that machine and redirects to other machines or cluster. |
|
| 11. |
What Is Ip Address Affinity Technique For Load Balancing? |
Answer»
|
|
| 12. |
What Are The Issues With Sticky Session? |
|
Answer» There are few ISSUES that you may face with this approach The client browser may not support cookies, and your load balancer will not be able to identify if a request belongs to a session. This may CAUSE strange BEHAVIOR for the users who use no cookie based browsers. In case ONE of the machine fails or goes down, the user information (SERVED by that machine) will be lost and there will be no way to recover user session. There are few issues that you may face with this approach The client browser may not support cookies, and your load balancer will not be able to identify if a request belongs to a session. This may cause strange behavior for the users who use no cookie based browsers. In case one of the machine fails or goes down, the user information (served by that machine) will be lost and there will be no way to recover user session. |
|
| 13. |
How It Is Done? |
|
Answer» The machine is associated with a session as soon as the session is created. All the REQUESTS in a particular session are ALWAYS redirected to the associated machine. This ensures the USER data is only at one machine and load is also shared. In Java world, this is typically done by using jsessionid cookie. The cookie is sent to the client for the first request and every SUBSEQUENT request by client must be containing that same cookie to IDENTIFY the session. The machine is associated with a session as soon as the session is created. All the requests in a particular session are always redirected to the associated machine. This ensures the user data is only at one machine and load is also shared. In Java world, this is typically done by using jsessionid cookie. The cookie is sent to the client for the first request and every subsequent request by client must be containing that same cookie to identify the session. |
|
| 14. |
Why Sticky Session? |
|
Answer» In a load balanced server application where USER information is stored in SESSION it will be required to KEEP the session data available to all machines. This can be avoided by always serving a particular user session REQUEST from one MACHINE. In a load balanced server application where user information is stored in session it will be required to keep the session data available to all machines. This can be avoided by always serving a particular user session request from one machine. |
|
| 15. |
What Is Sticky Session (session Affinity) Load Balancing? What Do You Mean By 'session Affinity'? |
|
Answer» Sticky SESSION or a session affinity technique ANOTHER popular load balancing technique that requires a user session to be ALWAYS served by a allocated machine. Sticky session or a session affinity technique another popular load balancing technique that requires a user session to be always served by a allocated machine. |
|
| 16. |
What Is Load Balancing? |
|
Answer» Load balancing is simple technique for distributing workloads across multiple MACHINES or clusters. The most common and simple load balancing algorithm is Round Robin. In this TYPE of load balancing the request is divided in circular order ensuring all machines get equal number of requests and no single machine is overloaded or underloaded. The Purpose of load balancing is to
Most common load balancing techniques in web based applications are
Load balancing is simple technique for distributing workloads across multiple machines or clusters. The most common and simple load balancing algorithm is Round Robin. In this type of load balancing the request is divided in circular order ensuring all machines get equal number of requests and no single machine is overloaded or underloaded. The Purpose of load balancing is to Most common load balancing techniques in web based applications are |
|
| 17. |
What Is Middle Tier Clustering? |
|
Answer» Middle tier clustering is just a cluster that is used for service the middle tier in a application. This is popular since many clients may be using middle tier and a lot of HEAVY load may also be served by middle tier that requires it be to highly available. FAILURE of middle tier can CAUSE multiple clients and systems to fail, therefore its one of the approaches to do clustering at the middle tier of a application. In java world, it is really common to have EJB SERVER clusters that are used by many clients. In general any application that has a business logic that can be shared across multiple client can USE a middle tier cluster for high availability. Middle tier clustering is just a cluster that is used for service the middle tier in a application. This is popular since many clients may be using middle tier and a lot of heavy load may also be served by middle tier that requires it be to highly available. Failure of middle tier can cause multiple clients and systems to fail, therefore its one of the approaches to do clustering at the middle tier of a application. In java world, it is really common to have EJB server clusters that are used by many clients. In general any application that has a business logic that can be shared across multiple client can use a middle tier cluster for high availability. |
|
| 18. |
Why Do You Need Clustering? |
Answer»
|
|
| 19. |
What Is Scalability? |
|
Answer» Scalability is the ability of a system, network, or process to handle a growing amount of load by adding more resources. The adding of RESOURCE can be done in two ways Scaling Up This INVOLVES adding more resources to the existing NODES. For example, adding more RAM, Storage or processing power. Scaling Out
Scalability is the ability of a system, network, or process to handle a growing amount of load by adding more resources. The adding of resource can be done in two ways Scaling Up This involves adding more resources to the existing nodes. For example, adding more RAM, Storage or processing power. Scaling Out |
|
| 20. |
What Do You Mean By High Availability? |
Answer»
|
|