What is the primary purpose of caching in web applications?
- To add security
- To design the user interface
- To handle user authentication
- To improve performance
The primary purpose of caching in web applications is to improve performance by storing frequently accessed data and reducing the need to fetch it from the original source repeatedly.
Which caching strategy involves storing frequently accessed data in memory for quick retrieval?
- Browser caching
- Database caching
- In-memory caching
- Page caching
In-memory caching involves storing frequently accessed data in the system's memory, enabling quick retrieval and enhancing performance.
Which HTTP header is commonly used to control cache behavior in web browsers?
- Cache-Control
- Content-Encoding
- Expires
- Last-Modified
The Cache-Control header is commonly used to control cache behavior in web browsers by specifying directives for caching mechanisms in both requests and responses.
The __________ and __________ are two major parts of JVM memory structure.
- Cache, Register
- Heap, Stack
- Queue, Linked List
- Stack, Heap
The Heap and Stack are two major parts of the JVM memory structure. The Heap is used for dynamic memory allocation, while the Stack is used for static memory allocation and method call management.
A servlet forwards a request to a JSP page for rendering the view. Which method does it use, and what happens to the URL in the browser?
- request.getRequestDispatcher().forward()
- request.sendRedirect()
- response.forward()
- response.sendRedirect()
The correct method for forwarding a request to a JSP page is request.getRequestDispatcher().forward(). The URL in the browser remains the same as the original request URL.
The __________ area in JVM memory is used to store per-class structures.
- Class
- Heap
- Method
- Stack
The Class area in JVM memory is used to store per-class structures, such as class metadata, constants, and static fields.
In caching, __________ refers to the technique of dynamically adjusting the cache size based on current system load.
- Adaptive Caching
- Dynamic Caching
- Incremental Caching
- Static Caching
Adaptive Caching involves dynamically adjusting the cache size based on the current system load, allowing for optimal performance under varying conditions.
In the context of web applications, what does 'cache invalidation' refer to?
- Clearing the browser cache
- Encrypting cached data
- Refreshing cached data
- Storing data in cache
'Cache invalidation' in the context of web applications refers to the process of refreshing or clearing cached data to ensure that users receive the most up-to-date information from the server.
What is the main difference between 'write-through' and 'write-back' caching strategies?
- Write-through and write-back are terms used interchangeably.
- Write-through and write-back caching strategies are essentially the same.
- Write-through involves writing data to both the cache and the underlying storage immediately, while write-back involves writing to the cache first and updating the underlying storage at a later time.
- Write-through involves writing data to the cache only, while write-back involves writing data to both the cache and the underlying storage simultaneously.
The main difference is that 'write-through' immediately updates both the cache and the underlying storage, while 'write-back' involves updating the cache first and delaying the update to the underlying storage.
In distributed systems, what is a cache stampede and how is it typically mitigated?
- A cache stampede is a networking issue that results in delayed cache updates.
- A cache stampede is a planned event in which caches are forcibly cleared and refreshed simultaneously.
- A cache stampede is an outdated concept and is no longer relevant in modern distributed systems.
- A cache stampede is when multiple processes or nodes simultaneously attempt to load the same cache entry that is currently not in the cache.
A cache stampede occurs when multiple processes try to load the same cache entry simultaneously. It is typically mitigated by using cache locks, semaphore mechanisms, or by allowing only one process to regenerate the cache entry.