Filter interviews by
Rate limit design involves setting limits on the number of requests a user can make within a certain time frame to prevent abuse or overload.
Consider the type of requests being made and the impact of rate limiting on user experience.
Implement rate limiting at different levels such as API endpoints, user accounts, or IP addresses.
Use tokens or tokens buckets to track and enforce rate limits.
Provide clear error messages ...
I applied via Referral and was interviewed in Apr 2024. There was 1 interview round.
Program to print odd and even numbers using multithreading
Create two separate threads for printing odd and even numbers
Use synchronization mechanisms like mutex or semaphore to ensure proper ordering of output
Example: Thread 1 prints odd numbers (1, 3, 5, ...) and Thread 2 prints even numbers (2, 4, 6, ...)
I appeared for an interview in Aug 2022.
Routing is the process of selecting a path for network traffic to travel from one network to another.
Routing is done by routers in a network.
Types of routing include static routing, dynamic routing, and default routing.
Static routing involves manually configuring the routes.
Dynamic routing uses protocols to automatically update the routing table.
Default routing is used when there is no specific route for a packet.
Examp...
Factory design pattern is a creational pattern that provides an interface for creating objects in a superclass, but allows subclasses to alter the type of objects that will be created.
Factory pattern is used when we have a superclass with multiple subclasses and based on input, we need to return one of the subclass.
It provides a way to delegate the instantiation logic to child classes.
Example: java.util.Calendar, java....
The current project is a web-based e-commerce platform with a microservices architecture.
The project uses a combination of front-end technologies like React and back-end technologies like Node.js and Java.
It follows a microservices architecture where different services handle specific functionalities like user management, product catalog, and order processing.
The services communicate with each other through APIs and me...
Dependency injection is a design pattern that allows objects to receive dependencies rather than creating them internally.
Dependency injection helps to decouple components and make them more modular.
It allows for easier testing and maintenance of code.
There are three types of dependency injection: constructor injection, setter injection, and interface injection.
Example: Instead of creating a database connection object ...
Caching is the process of storing frequently accessed data in a temporary storage area for faster access.
Caching reduces the time and resources required to access data.
Types of caching include browser caching, server caching, and database caching.
Browser caching stores web page resources like images, stylesheets, and scripts on the user's device.
Server caching stores frequently accessed data on the server to reduce dat...
Web application is a complete software program accessed through a web browser, while web API application is a set of programming instructions that allow communication between different software systems.
Web application is a complete software program accessed through a web browser
Web API application is a set of programming instructions that allow communication between different software systems
Web application provides a ...
Interfaces are contracts that define a set of methods that a class must implement. They help achieve abstraction and loose coupling.
Interfaces provide a way to achieve abstraction and loose coupling in code.
They define a set of methods that a class must implement, but not how they are implemented.
Classes can implement multiple interfaces, allowing for greater flexibility and reusability.
Interfaces are commonly used in ...
Load balancing is the process of distributing network traffic across multiple servers to avoid overloading a single server.
Load balancing helps to improve the performance, availability, and scalability of applications.
It can be achieved through hardware or software solutions.
Examples of load balancing algorithms include round-robin, least connections, and IP hash.
Load balancing can also be combined with other technique...
SSL is a security protocol used to establish an encrypted link between a web server and a browser.
SSL stands for Secure Sockets Layer.
It is used to protect sensitive information such as login credentials, credit card details, etc.
SSL uses encryption to ensure that data transmitted between the server and browser cannot be intercepted by third parties.
It is essential for e-commerce websites, online banking, and any websi...
Encryption is the process of converting plain text into a coded message to prevent unauthorized access.
Encryption uses an algorithm and a key to convert plain text into ciphertext.
Decryption uses the same algorithm and key to convert ciphertext back into plain text.
Common encryption algorithms include AES, RSA, and Blowfish.
Encryption is used to protect sensitive data such as passwords, credit card numbers, and persona...
CORS (Cross-Origin Resource Sharing) is a security feature that restricts web pages from making requests to a different domain.
CORS issue occurs when a web page tries to access resources from a different domain
It is a security feature implemented by web browsers to prevent cross-site scripting attacks
CORS issue can be resolved by configuring the server to allow cross-origin requests or by using JSONP
It can occur in AJA
Indexes can slow down insert performance due to the overhead of maintaining the index.
Inserting data into the table without indexes will be faster than inserting into the table with indexes.
The more indexes a table has, the slower the insert performance will be.
However, indexes can improve query performance by allowing the database to quickly find the data being searched for.
Ajax calls are asynchronous HTTP requests made by JavaScript to a server without reloading the page.
Ajax stands for Asynchronous JavaScript and XML
Used to update parts of a web page without reloading the entire page
Can be used to fetch data from a server and display it on a web page
Examples: Google Maps, Facebook News Feed
Angular is a popular front-end web application framework that uses TypeScript as its primary language.
Angular is developed and maintained by Google.
It is used for building dynamic, single-page web applications.
It uses TypeScript, a superset of JavaScript, which adds features like static typing and class-based object-oriented programming.
Angular provides a range of features like data binding, dependency injection, and c...
Lazy loading is a technique used to defer the loading of non-critical resources until they are actually needed.
It improves page load time and performance.
It reduces the initial load time of a web page.
It is commonly used for images, videos, and other media files.
It can be implemented using JavaScript or server-side scripting.
Example: Images below the fold on a webpage are loaded only when the user scrolls down to them.
Top trending discussions
I applied via Naukri.com and was interviewed in Oct 2019. There were 3 interview rounds.
posted on 29 Jul 2024
I applied via Approached by Company and was interviewed in Jun 2024. There was 1 interview round.
Pivoting columns in SQL involves transforming rows into columns to display data in a different format.
Use the PIVOT keyword in SQL to pivot columns
Specify the columns to pivot on and the values to display in the new columns
Aggregate functions like SUM, AVG, COUNT can be used with PIVOT
Example: SELECT * FROM table_name PIVOT (SUM(value_column) FOR pivot_column IN ('value1', 'value2', 'value3'))
posted on 27 Oct 2021
I applied via Recruitment Consultant and was interviewed in Apr 2021. There were 4 interview rounds.
Scope of variable in Perl determines where the variable can be accessed.
Perl has three types of variable scope: global, local, and lexical.
Global variables can be accessed from anywhere in the program.
Local variables are declared using the 'my' keyword and can only be accessed within the block they are declared in.
Lexical variables are declared using the 'state' keyword and can be accessed within the block they are dec...
Hash is a data structure that stores data in key-value pairs while array is an ordered list of scalar values.
Hashes are denoted by % symbol and arrays by @ symbol in Perl.
Hashes are useful for storing and retrieving data quickly based on a unique key.
Arrays can be accessed using index numbers starting from 0.
Both hashes and arrays can store different data types such as strings, numbers, and references.
Example: %hash = ...
CDATA is a way to include special characters in XML data without causing parsing errors.
CDATA stands for Character Data
It is used to include data that contains characters that would otherwise be interpreted as XML markup
CDATA is enclosed in tags
Example:
posted on 4 Sep 2023
I applied via Naukri.com and was interviewed in Aug 2023. There were 4 interview rounds.
OOPs concepts, abstraction vs interface, MVC architecture, stored procedures, joins
OOPs concepts include inheritance, polymorphism, encapsulation, and abstraction
Abstraction is hiding the implementation details while interface is a contract that defines the methods that a class must implement
MVC architecture separates the application into Model, View, and Controller components for better organization and maintenance
Sto...
SQL queries, ddl,dml TCL commands, primary key and foreign key differences,what is composite key,hash table in c#,generics in c#.
posted on 16 Sep 2021
I appeared for an interview in Dec 2020.
Round duration - 75 minutes
Round difficulty - Easy
This round was conducted in Hackerrank portal for a total duration of 75 minutes and was divided into 4 sections.
1st Section : Aptitude Section : 14 questions , 28 minutes
2nd Section : Technical Section : 12 questions , 17 minutes
3rd Section :1 coding Questions : 20 minutes+30 minutes
This Round was Conducted on Hackerrank (Webcam Enabled).
To find and correct a bug in code, analyze problem statement, review code, use debugging tools, and test different scenarios.
Understand the problem statement and expected output
Review the code for syntax errors, logical errors, and potential bugs
Use debugging tools like breakpoints, print statements, and IDE debuggers
Test the code with different inputs and edge cases to identify the bug
Make necessary corrections and re
Given a Binary Tree of distinct integers and two integers, target
and K
, return a list of values of all nodes located at a distance K
from the target no...
Find nodes at distance K from target node in a Binary Tree.
Use BFS to traverse the tree and keep track of the distance of each node from the target node.
Maintain a set to keep track of visited nodes to avoid revisiting them.
Return the values of nodes at distance K from the target node.
Round duration - 90 minutes
Round difficulty - Medium
I was shared a link of Google Meet and the Google Docs was shared where there was 1 coding problem to be coded there and then the code was run on an IDE to check the sample tests.
Then the interview was followed by a lot of Operating System and Computer System Architecture Questions.
There were 2 Interviewers and both were helpful.
The timing was from 2:30 PM to 4:00 PM
Determine the length of the largest subarray within a given array of 0s and 1s, such that the subarray contains an equal number of 0s and 1s.
Input beg...
Find the length of the largest subarray with equal number of 0s and 1s in a given array.
Iterate through the array and maintain a count of 0s and 1s encountered so far.
Store the count difference in a hashmap with the index as key.
If the same count difference is encountered again, the subarray between the two indices has equal 0s and 1s.
Return the length of the longest subarray found.
Round duration - 45 minutes
Round difficulty - Easy
The round was held on Google Meet with HR from 2:30 PM to 3:15 PM.
The HR was friendly and asked the basic questions.
Tip 1 : Practice daily 4-5 medium level problems on sites like Leetcode, CodeZen, Hackerearth
Tip 2 : Even though Data Structures and Algorithms is the base but study Course Subjects like DBMS,OS,OOPS too.
Tip 3 : Try to Participate in Contests on LeetCode,Codeforces.
Tip 1 : Mention atleast 1 project and past work experience as it sets good impression.
Tip 2 : Keep your resume up to date for the role you are applying.
Tip 3 : Try to keep your resume of 1 Page.
posted on 27 Oct 2021
I appeared for an interview in Feb 2021.
Round duration - 90 Minutes
Round difficulty - Hard
The test was at 6 pm with cam on and in fullscreen mode.
You are given three strings 'A', 'B', and 'C'. Determine if 'C' is formed by interleaving 'A' and 'B'.
String 'C' is an interleaving of 'A' and 'B' if the lengt...
The problem involves determining if a string 'C' is formed by interleaving two given strings 'A' and 'B'.
Check if the length of 'C' is equal to the sum of the lengths of 'A' and 'B'.
Verify if all characters of 'A' and 'B' exist in 'C' while maintaining their order.
Return 'True' if 'C' is an interleaving of 'A' and 'B', otherwise return 'False'.
Given two lists representing the inorder and postorder traversal of a binary tree of integer type with 'N' nodes, construct the binary tree and r...
Construct a binary tree from inorder and postorder traversal lists and return its root.
Create a map to store the indices of elements in the inorder traversal list for quick access during tree construction.
Use the postorder list to determine the root of the tree and recursively build left and right subtrees.
Construct the tree by recursively dividing the inorder list based on the root index in postorder list.
Return the r...
Round duration - 45 Minutes
Round difficulty - Easy
At 10:00 AM. Interviewer was very friendly and young but his cam was off.
Kevin has sketched a series of integers, forming a diagram that represents a binary tree. Challenged by a friend, Kevin needs to find all paths from the root to the leaf where th...
Round duration - 45 Minutes
Round difficulty - Easy
It was held at 4 p.m. The interviewer was senior compared to the one in the previous round. Also, his cam was also on, but he wasn't speaking much and neither giving any expressions.
Given a set of boxes represented by an array gainPower
, where each box has a certain power value, along with an initial power value 'power', your task is to maximize the t...
Maximize total score by selecting boxes optimally based on power values and operations.
Iterate through the boxes and perform operations based on power values and current score
Keep track of power, score, and selected boxes to maximize total score
Example: For input [3, 50, [20, 30, 40]], select boxes with power 20 and 30 to get a score of 2
Tip 1 : DSA is the key. Starting from scratch, one can become proficients in a couple of months.
Tip 2 : Solve questions just a bit outside your comfort zone. Solve too easy to too hard questions is not of any use.
Tip 3 : Be consistent, make a habit of following good coding practices.
Tip 4 : Get to know the ins and out of your projects. You must be very confident while explaining those.
Tip 5 : Don't just directly to system-design, brush up on OOPS principles, networks, OS, DBMS before that.
Tip 1 : Keep it crisp and to the point. Make bullet points.
Tip 2 : Bold the things you want to be paid attention to. Use numbers rather than vague sentences.
Tip 3 : Only put the things you are confident about.
Tip 4 : Don't put things irrelevant to the job, it only dilutes the main content.
Some of the top questions asked at the Epsilon Lead Software Engineer interview for experienced candidates -
based on 3 interviews
Interview experience
based on 13 reviews
Rating in categories
Senior Software Engineer
375
salaries
| ₹11.4 L/yr - ₹34.3 L/yr |
Software Engineer2
180
salaries
| ₹6.1 L/yr - ₹18.3 L/yr |
Software Engineer
167
salaries
| ₹4.5 L/yr - ₹17 L/yr |
Senior Developer
148
salaries
| ₹8.9 L/yr - ₹25.2 L/yr |
Campaign Analyst
142
salaries
| ₹4.9 L/yr - ₹10.4 L/yr |
R.R. Donnelley
Smollan Group
ChannelPlay
Affinity Express