Filter interviews by
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...
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.
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...
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...
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")
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 ...
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...
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...
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...
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
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.
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...
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 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.
I applied via Campus Placement
A chemical engineer can help Citi by providing expertise in process optimization, risk management, and sustainability.
Optimizing Citi's manufacturing processes to reduce costs and increase efficiency
Developing risk management strategies to ensure compliance with environmental regulations
Implementing sustainable practices to reduce Citi's environmental impact
Providing technical expertise in chemical reactions and materi...
based on 2 interview experiences
Difficulty level
Duration
Lead Software Engineer
1k
salaries
| ₹19.4 L/yr - ₹32.6 L/yr |
Software Engineer
958
salaries
| ₹8.7 L/yr - ₹19 L/yr |
Process Specialist
275
salaries
| ₹3.7 L/yr - ₹7.2 L/yr |
Principal Software Engineer
263
salaries
| ₹30 L/yr - ₹54.4 L/yr |
Senior Process Specialist
217
salaries
| ₹4.4 L/yr - ₹9.1 L/yr |
Wells Fargo
JPMorgan Chase & Co.
HSBC Group
Citicorp