Filter interviews by
Clear (1)
I applied via LinkedIn and was interviewed in Sep 2022. There were 4 interview rounds.
3 hacker rank questions easy to medium level asked to solve in 60 mins.
Design patterns in Java are reusable solutions to common software design problems.
Design patterns should be used when there is a recurring problem in software design.
Design patterns can improve code readability, maintainability, and scalability.
Examples of design patterns include Singleton, Factory, Observer, and Decorator.
It's important to choose the right design pattern for the specific problem at hand.
Design pattern...
Java 8 streams are functional programming constructs that allow for efficient processing of large data sets.
Streams are composed of a source, intermediate operations, and a terminal operation.
Intermediate operations include filter, map, and sorted, and are lazily evaluated.
Terminal operations trigger the evaluation of the stream and include forEach, reduce, and collect.
Streams can be parallelized for even greater perfo...
Fixed thread pool has a fixed number of threads while cached thread pool creates new threads as needed.
Fixed thread pool is suitable for tasks with a known number of threads
Cached thread pool is suitable for tasks with unknown number of threads
Fixed thread pool can cause resource wastage if the number of threads is too high
Cached thread pool can cause performance issues if the number of threads is too high
Example: Fixe...
Spring app config can be handled using various methods such as XML configuration, Java configuration, and annotation-based configuration.
XML configuration involves creating an XML file and defining beans and their dependencies.
Java configuration involves creating a Java class and using annotations to define beans and their dependencies.
Annotation-based configuration involves using annotations to define beans and their ...
Improving application performance requires optimizing code, database queries, and server resources.
Identify and fix slow database queries
Use caching to reduce server load
Optimize code by reducing unnecessary loops and improving algorithms
Use a content delivery network (CDN) to reduce server load
Upgrade server hardware or use cloud-based resources
Minimize HTTP requests and reduce file sizes for faster page load times
Microservices use various communication patterns like synchronous, asynchronous, event-driven, and message-based.
Synchronous communication involves direct request-response interactions between services.
Asynchronous communication uses messaging systems like RabbitMQ or Kafka to decouple services.
Event-driven communication involves services publishing events to a message broker, which other services can subscribe to.
Mess...
Using cache with Spring Boot
Add @EnableCaching annotation to main class
Add @Cacheable annotation to methods that need caching
Configure cache properties in application.properties file
Use CacheManager to manage caches
Example: @Cacheable(value = "users", key = "#id")
Async in Spring Boot allows non-blocking I/O operations, improving application performance.
Async enables parallel processing of requests, improving throughput.
It allows the application to handle more requests with the same resources.
It reduces the response time for long-running operations.
Use @Async annotation to mark methods as asynchronous.
Use CompletableFuture to handle async results.
Example: @Async public Completab...
Spring MVC follows the Model-View-Controller (MVC) pattern for building web applications.
Model represents the data and business logic
View renders the model data and provides user interface
Controller handles user requests, updates model and selects view
Spring MVC provides DispatcherServlet as front controller
RequestMapping annotation maps URL to controller method
ModelAndView object returns model data and view name
Filter is a method used to extract specific data from a larger set based on certain criteria.
Filter is required to extract specific data from a larger set.
It is used to reduce the amount of data that needs to be processed.
Filter can be applied to arrays, objects, and even strings.
Examples include filtering out all even numbers from an array or all emails from a list that contain a specific keyword.
OAuth2 is a protocol for authentication and authorization that allows third-party applications to access user data without sharing passwords.
OAuth2 provides a secure and standardized way for users to grant access to their resources to third-party applications.
It involves the exchange of tokens between the user, the third-party application, and the resource server.
Authentication is handled by the authorization server, w...
JWT is a token format while OAuth2 is a protocol. Both can be used to secure REST endpoints.
JWT is a self-contained token that contains user information and can be used for authentication and authorization.
OAuth2 is a protocol that allows third-party applications to access user data without sharing passwords.
To secure REST endpoints, both JWT and OAuth2 can be used depending on the use case.
For example, JWT can be used...
I applied via Recruitment Consulltant and was interviewed in Oct 2022. There were 3 interview rounds.
Hacker rank test. Which having avg programing question
Top trending discussions
posted on 2 Dec 2015
posted on 20 May 2017
I was interviewed in May 2017.
Yes, the string class can be extended in most programming languages.
Inheritance can be used to extend the functionality of the string class.
By creating a new class that inherits from the string class, additional methods and properties can be added.
Extending the string class allows for customization and adding specific functionality to strings.
Example: In Python, the string class can be extended by creating a new class
Implicit objects in JSP are predefined objects that are available for use without any declaration or initialization.
Implicit objects in JSP include request, response, session, application, out, config, pageContext, page, exception, and others.
These objects provide access to various aspects of the JSP environment and can be used to perform common tasks.
For example, the request object allows access to HTTP request parame...
A hash map is a data structure that uses a hash function to map keys to values.
Hash map stores key-value pairs
It uses a hash function to compute an index for each key
Collisions can occur when two keys hash to the same index
Hash maps provide fast access to values based on their keys
StringBuffer and StringBuilder are both used to manipulate strings, but StringBuffer is thread-safe while StringBuilder is not.
StringBuffer is synchronized, making it safe for use in multi-threaded environments.
StringBuilder is not synchronized, making it faster but not thread-safe.
StringBuffer is preferred when multiple threads are involved, while StringBuilder is preferred for single-threaded scenarios.
Both classes p...
MVC is a software architectural pattern that separates an application into three main components: Model, View, and Controller.
Model represents the data and business logic of the application.
View is responsible for displaying the user interface.
Controller handles user input, updates the model, and interacts with the view.
MVC promotes separation of concerns and modularity in software development.
Example: In a web applica...
Annotations used in RESTful web services
1. @Path - Specifies the URI path for the resource
2. @GET - Specifies that the method handles HTTP GET requests
3. @POST - Specifies that the method handles HTTP POST requests
4. @PUT - Specifies that the method handles HTTP PUT requests
5. @DELETE - Specifies that the method handles HTTP DELETE requests
6. @PathParam - Binds the value of a URI template parameter to a method paramete...
I was interviewed in Dec 2016.
posted on 13 Mar 2015
Code for rand7 using rand5 function
Use rand5 twice to generate a number in [1,25] with equal probability
If the number is greater than 21, discard and try again
Otherwise, return (number mod 7) + 1
LRU cache is implemented using a doubly linked list and a hash map.
Create a doubly linked list to keep track of the order of elements in the cache.
Create a hash map to store the key-value pairs of the cache.
When a new element is added, check if the cache is full. If it is, remove the least recently used element from the linked list and the hash map.
When an element is accessed, move it to the front of the linked list to...
Function to randomly select pivot element in Quick Sort
Generate a random index within the range of the array
Return the element at the randomly generated index as the pivot
I was interviewed before Mar 2021.
Round duration - 90 minutes
Round difficulty - Medium
There were 33 questions in total. The objective questions were simple.
Mary is an enthusiastic party-goer who struggles with remembering event dates. Help Mary by sorting a given list of event dates in an ascending order.
Sort a list of event dates in ascending order based on year, month, and day.
Sort the list of dates based on year, then month, and finally day.
Use a sorting algorithm to rearrange the dates in ascending order.
Ensure the constraints are met for each date in the list.
You are given an integer array 'ARR' of size 'N' and an integer 'S'. Your task is to find and return a list of all pairs of elements where each sum of a pair equals 'S'.
Given an array and a target sum, find all pairs of elements that add up to the target sum.
Iterate through the array and for each element, check if the complement (target sum - current element) exists in a hash set.
If the complement exists, add the pair to the result list.
Sort the pairs based on the first element and then the second element.
Handle edge cases like duplicate elements and pairs with the same values.
Example...
Given an integer N
, your task is to recursively break it into three integer parts: N / 2
, N / 3
, and N / 4
. You need to compute the maximum sum possible by dividing the numbe...
Given an integer N, recursively break it into three parts and find the maximum sum possible.
Recursively divide N into N/2, N/3, and N/4 to find the maximum sum
Compare the sum obtained by dividing N with the sum of N itself
Return the maximum sum for each test case
Tip 1 : Must do Previously asked Interview as well as Online Test Questions.
Tip 2 : Go through all the previous interview experiences from Codestudio and Leetcode.
Tip 3 : Do at-least 2 good projects and you must know every bit of them.
Tip 1 : Have at-least 2 good projects explained in short with all important points covered.
Tip 2 : Every skill must be mentioned.
Tip 3 : Focus on skills, projects and experiences more
I was interviewed before Mar 2021.
Round duration - 60 minutes
Round difficulty - Medium
Technical Interview round with questions based on DSA.
Given an array ARR
of size N
, containing each number between 1 and N-1
at least once, identify the single integer that appears twice.
The first line contains an integer...
Identify the duplicate integer in an array containing numbers between 1 and N-1.
Iterate through the array and keep track of the frequency of each element using a hashmap.
Return the element with a frequency greater than 1 as the duplicate integer.
Ensure the constraints are met and a duplicate number is guaranteed to be present.
You are given an arbitrary binary tree consisting of N nodes, each associated with an integer value from 1 to 9. Each root-to-leaf path can be considered a number formed by concat...
Calculate the total sum of all root to leaf paths in a binary tree formed by concatenating node values.
Traverse the binary tree from root to leaf nodes, keeping track of the current path sum
Add the current node value to the path sum and multiply by 10 for each level
When reaching a leaf node, add the final path sum to the total sum
Return the total sum modulo (10^9 + 7)
You are given a directed acyclic graph (DAG). Your task is to perform topological sorting of the graph and return any valid ordering.
A directed acyclic g...
Implement a function to perform topological sorting on a directed acyclic graph (DAG) and return any valid ordering.
Create a graph data structure to represent the DAG
Use depth-first search (DFS) to perform topological sorting
Maintain a visited array to keep track of visited nodes
Return the ordering of nodes after DFS traversal
Round duration - 60 minutes
Round difficulty - Easy
Technical interview round with questions based on DSA.
You are given a binary tree consisting of distinct integers and two nodes, X
and Y
. Your task is to find and return the Lowest Common Ancestor (LCA) of these two nodes...
Find the Lowest Common Ancestor (LCA) of two nodes in a binary tree.
Traverse the binary tree to find the paths from the root to nodes X and Y.
Compare the paths to find the last common node, which is the LCA.
Handle cases where one node is an ancestor of the other.
Consider edge cases like when X or Y is the root node.
Implement a recursive or iterative solution to find the LCA efficiently.
You are provided with a sorted array that has undergone 'K' rotations (the exact value of 'K' is unknown). A rotation involves shifting each element of the array to the right,...
Implement a function to find the minimum number in a rotated sorted array efficiently.
Use binary search to find the minimum element in the rotated array.
Compare the mid element with the start and end elements to determine which half of the array to search next.
Continue the binary search until the minimum element is found.
Given an array TREE
of 'N' unique integers, construct a maximum binary tree using the following rules:
TREE
.Construct a maximum binary tree from an array of unique integers following specific rules.
Find the maximum number in the array to set as the root of the tree.
Recursively construct the left subtree with elements before the maximum number.
Recursively construct the right subtree with elements after the maximum number.
Tip 1 : Must do Previously asked Interview as well as Online Test Questions.
Tip 2 : Go through all the previous interview experiences from Codestudio and Leetcode.
Tip 3 : Do at-least 2 good projects and you must know every bit of them.
Tip 1 : Have at-least 2 good projects explained in short with all important points covered.
Tip 2 : Every skill must be mentioned.
Tip 3 : Focus on skills, projects and experiences more.
based on 2 interviews
Interview experience
Lead Software Engineer
963
salaries
| ₹0 L/yr - ₹0 L/yr |
Software Engineer
906
salaries
| ₹0 L/yr - ₹0 L/yr |
Process Specialist
296
salaries
| ₹0 L/yr - ₹0 L/yr |
Principal Software Engineer
229
salaries
| ₹0 L/yr - ₹0 L/yr |
Senior Process Specialist
196
salaries
| ₹0 L/yr - ₹0 L/yr |
Vanguard
Blackrock
Charles Schwab
JPMorgan Chase & Co.