Filter interviews by
Solid Principles are a set of five design principles for writing clean, maintainable, and scalable code.
Single Responsibility Principle (SRP) - A class should have only one reason to change.
Open/Closed Principle (OCP) - Software entities should be open for extension but closed for modification.
Liskov Substitution Principle (LSP) - Objects of a superclass should be replaceable with objects of its subclasses without affe...
Design patterns are reusable solutions to common problems encountered in software design and development.
Design patterns provide a way to communicate solutions to common design problems
They help in making code more maintainable, scalable, and reusable
Examples include Singleton, Factory, Observer, and Strategy patterns
Our current project architecture follows a microservices design pattern with Docker containers and Kubernetes for orchestration.
Microservices architecture
Docker containers
Kubernetes for orchestration
I am interested in NCR because of its reputation for innovation and cutting-edge technology in the software industry.
NCR has a strong reputation for innovation and cutting-edge technology
I am excited about the opportunity to work on challenging projects at NCR
I believe NCR offers a great platform for career growth and development
posted on 24 May 2024
The split function in Java is used to split a string into an array of substrings based on a specified delimiter.
The split function takes a regular expression as a parameter to specify the delimiter.
The result is an array of strings containing the substrings.
Example: String str = 'Hello,World'; String[] parts = str.split(','); // parts = ['Hello', 'World']
posted on 19 Jul 2023
Sorting programs, some algorithms on logic
Maze problem programs involve finding a path through a maze from start to finish.
Use depth-first search or breadth-first search algorithms to solve maze problems.
Consider using backtracking to handle dead ends in the maze.
Implement a recursive function to explore all possible paths in the maze.
Use a stack or queue data structure to keep track of visited cells and potential paths.
Snake ladder program simulates a game where players move based on dice rolls.
Create a board with 100 squares representing the snake ladder game.
Players take turns rolling a dice and moving their token on the board.
If a player lands on a square with a snake head, they move back to the square's tail.
If a player lands on a square with a ladder bottom, they move to the ladder's top.
The game continues until a player reaches
posted on 15 Jan 2025
I applied via Referral and was interviewed in Dec 2024. There were 3 interview rounds.
Topics on electronics and C programming
Program to generate Fibonacci sequence
Start with two initial numbers, 0 and 1
Add the previous two numbers to get the next number in the sequence
Repeat this process to generate the Fibonacci sequence
Example: 0, 1, 1, 2, 3, 5, 8, 13, ...
I applied via Campus Placement
Question related to operating system and computer network
I applied via campus placement at Dayananda Sagar College of Engineering, Bangalore and was interviewed in Oct 2024. There were 4 interview rounds.
3 coding dsa question
Difficulty is On your luck
My friends got easy level
I got medium level
Some got hard questions as well
Ssh round , quant and logical
Tip: bring your calculator
I applied via Referral and was interviewed in Sep 2024. There were 2 interview rounds.
Use dynamic programming to find the longest palindromic substring in a given string.
Iterate through the string and expand around each character to find palindromes.
Store the length of the longest palindrome found so far.
Return the substring based on the start and end indices of the longest palindrome.
To serialize and deserialize a tree, use a recursive approach to traverse the tree and store the data in a suitable format.
Use pre-order traversal to serialize the tree by storing the node values in a list or string.
For deserialization, reconstruct the tree by recursively building nodes from the serialized data.
Consider using JSON or XML format for serialization to easily store and retrieve tree structure.
Use regex library to match given regex with string.
Use a regex library like re in Python to match the given regex with the string.
Check if the regex matches the string using the library functions.
Handle cases where the regex contains special characters like . and * appropriately.
Throttling is a technique used to control the rate of requests sent to a server.
Throttling helps prevent server overload by limiting the number of requests processed at a time.
Implementing a throttle function involves setting a maximum request rate and delaying excess requests.
Example: Implementing a throttle function in a web application to limit the number of API calls made to a third-party service.
Example: Throttlin...
Sort the squares of elements in a sorted array and return the sorted response.
Iterate through the array and square each element.
Store the squared values in a new array.
Sort the new array and return it.
A promise is a commitment to do something in the future, typically used for asynchronous operations in JavaScript.
Promises are used to handle asynchronous operations in JavaScript.
They represent a value that may be available now, in the future, or never.
Promises have three states: pending, fulfilled, or rejected.
Example: new Promise((resolve, reject) => { setTimeout(() => resolve('Done!'), 1000); });
Event loop is a mechanism that allows for asynchronous execution of code by managing the order of events in a single thread.
Event loop continuously checks the call stack for any functions that need to be executed, and processes them in a non-blocking manner.
Different types of queues in event loop include microtask queue (Promise callbacks), macrotask queue (setTimeout, setInterval callbacks), and animation frame queue
Virtual DOM is a lightweight copy of the actual DOM, used to improve performance by minimizing direct manipulation of the real DOM.
Virtual DOM is a concept used in frameworks like React to optimize rendering performance.
Changes are first made to the virtual DOM, which is then compared to the real DOM to identify the minimal updates needed.
This approach reduces the number of actual DOM manipulations, resulting in faster...
posted on 8 Oct 2024
I applied via Naukri.com and was interviewed in Sep 2024. There was 1 interview round.
OOPS is a programming paradigm based on the concept of objects, which can contain data in the form of fields and code in the form of procedures.
OOPS focuses on the concept of classes and objects
Encapsulation: bundling data and methods that operate on the data within a single unit
Inheritance: allows a class to inherit properties and behavior from another class
Polymorphism: ability to present the same interface for diffe...
Comparable is an interface used for natural ordering, Comparator is an interface used for custom ordering. Abstract class can have method implementations, Interface cannot.
Comparable interface is used to define the natural ordering of objects. Example: String class implements Comparable interface for natural ordering based on alphabetical order.
Comparator interface is used to define custom ordering of objects. Example:...
Count occurrences of each character in a given string
Create an array to store the count of each character
Iterate through the string and increment the count of each character in the array
Return the array with counts for each character
Remove duplicates from an array of strings
Iterate through the array and store each element in a set to keep track of unique values
Create a new array with the unique values from the set
Data structure related question
To find the second highest integer in an array, sort the array in descending order and return the second element.
Sort the array in descending order
Return the second element in the sorted array
Handle edge cases like duplicates or small arrays
posted on 8 Jan 2025
I applied via Referral and was interviewed in Dec 2024. There was 1 interview round.
based on 2 reviews
Rating in categories
Software Engineer
385
salaries
| ₹5.6 L/yr - ₹23.5 L/yr |
Senior Software Engineer
247
salaries
| ₹9.5 L/yr - ₹36 L/yr |
Software Developer
188
salaries
| ₹5.3 L/yr - ₹19.5 L/yr |
Software Engineer2
158
salaries
| ₹9.8 L/yr - ₹21 L/yr |
Software Engineer II
146
salaries
| ₹9.2 L/yr - ₹20 L/yr |
TCS
Infosys
Wipro
HCLTech