Filter interviews by
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, ...)
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 mess...
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 use...
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
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 ...
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.
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 provid...
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 ob...
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 ...
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, ...
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.
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....
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...
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...
Top trending discussions
I applied via Naukri.com and was interviewed in Oct 2019. There were 3 interview rounds.
A program to convert numbers into their English word representation, handling numbers from 1 to infinity.
Use a recursive function to break down numbers into manageable parts.
Handle special cases for numbers like 11-19 (e.g., eleven, twelve).
Use arrays or dictionaries to map numbers to words for efficiency.
Example: 1543 is broken down into 1000 + 500 + 40 + 3, resulting in 'one thousand five hundred forty three'.
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...
Find all root-to-leaf paths in a binary tree that sum to a given number K.
Use Depth-First Search (DFS) to traverse the tree.
Keep track of the current path and its sum as you traverse.
When a leaf node is reached, check if the sum equals K.
If it does, store the path as a valid result.
Example: For tree [5, 6, 4] and K=15, path [5, 6, 4] is valid.
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.
I applied via Recruitment Consulltant and was interviewed before Feb 2022. There were 5 interview rounds.
Api related questions
Indexing in MySQL is a technique to improve the performance of database queries by creating a data structure that allows for faster data retrieval.
Indexes are created on one or more columns of a table.
They help in speeding up the search, sorting, and joining of data.
Indexes can be created using different algorithms like B-tree, hash, or bitmap.
Using indexes appropriately can significantly enhance query performance.
Exam...
Object-oriented programming concepts in PHP
Encapsulation: bundling data and methods together in a class
Inheritance: creating new classes based on existing ones
Polymorphism: using a single interface to represent different types
Abstraction: hiding unnecessary details and exposing only essential features
Class: blueprint for creating objects
Object: instance of a class
Method: function defined inside a class
Property: variabl...
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 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'))
Some of the top questions asked at the Epsilon Lead Software Engineer interview -
based on 3 interview experiences
Difficulty level
Duration
based on 14 reviews
Rating in categories
9-12 Yrs
₹ 16.6-40.1 LPA
Senior Software Engineer
410
salaries
| ₹17.2 L/yr - ₹31 L/yr |
Software Engineer2
197
salaries
| ₹10.2 L/yr - ₹17.7 L/yr |
Senior Developer
176
salaries
| ₹13 L/yr - ₹22 L/yr |
Software Engineer
168
salaries
| ₹7.7 L/yr - ₹13.9 L/yr |
Lead Software Engineer
156
salaries
| ₹24.9 L/yr - ₹40.1 L/yr |
R.R. Donnelley
Smollan Group
ChannelPlay
Affinity Express