Filter interviews by
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 pa...
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.
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 ...
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:...
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 t...
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 Comp...
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 serv...
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
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")
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 tim...
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.
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 ...
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...
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
I appeared for an interview before Sep 2020.
Round duration - 30 minutes
Round difficulty - Easy
It was in the day time. I was asked the programming language of my choice. It was mostly focused on programming fundamentals. I was asked 2 questions based on Data Structures and Algorithms.
A loop in a linked list can be detected using Floyd's Cycle Detection Algorithm.
Use two pointers - slow and fast, where slow moves one step at a time and fast moves two steps at a time.
If there is a loop, the two pointers will eventually meet at some point within the loop.
To detect the start of the loop, reset one pointer to the head and move both pointers one step at a time until they meet again.
Round duration - 30 minutes
Round difficulty - Easy
This round was mostly focused on my resume and projects.
I worked on several projects, including a web app for task management and a machine learning model for sentiment analysis.
Developed a task management web app using React and Node.js, allowing users to create, update, and delete tasks.
Implemented a machine learning model using Python and scikit-learn to analyze customer reviews and predict sentiment.
Created a personal portfolio website to showcase my projects and skills...
Round duration - 30 minutes
Round difficulty - Easy
It was in the evening. I went to their office in Gurgaon. It was taken by one of the technology director who had a lot of experience.
Do practice a lot of data structures questions as mostly questions in interviews are based on them. Also, do prepare for projects mentioned in your resume and skills which you have mentioned. Coding ninjas has a big hand in making my interview clear as I have taken a course from the coding Ninjas which helped me a lot to make my concepts clear.
Application resume tips for other job seekersKeep it short and crisp. Go through it properly before the interview. Make sure that you haven't put anything in it that can cause you problems during the interview.
Final outcome of the interviewSelectedposted on 20 May 2017
I appeared for an interview 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...
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...
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
I appeared for an interview 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 appeared for an interview 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 interview experiences
Difficulty level
Duration
Lead Software Engineer
1.1k
salaries
| ₹19.5 L/yr - ₹33 L/yr |
Software Engineer
931
salaries
| ₹12 L/yr - ₹19.6 L/yr |
Principal Software Engineer
272
salaries
| ₹30 L/yr - ₹50 L/yr |
Process Specialist
268
salaries
| ₹3.7 L/yr - ₹7.2 L/yr |
Senior Process Specialist
222
salaries
| ₹4.4 L/yr - ₹9.2 L/yr |
Wells Fargo
JPMorgan Chase & Co.
HSBC Group
Citicorp