Filter interviews by
Design patterns are reusable solutions to common software design problems, promoting best practices and code maintainability.
Creational patterns (e.g., Singleton, Factory Method) deal with object creation mechanisms.
Structural patterns (e.g., Adapter, Composite) focus on class and object composition.
Behavioral patterns (e.g., Observer, Strategy) define how objects interact and communicate.
Using design patterns can...
SOLID principles are five design principles aimed at making software designs more understandable, flexible, and maintainable.
S - Single Responsibility Principle: A class should have one reason to change. Example: A class handling user data should not also handle logging.
O - Open/Closed Principle: Software entities should be open for extension but closed for modification. Example: Using interfaces to add new functi...
Jinja templating is a popular template engine for Python web development, used in frameworks like Flask and Django.
Jinja allows for dynamic content generation in HTML templates
It uses double curly braces {{ }} for placeholders and control structures like loops and conditionals
Jinja templates can be extended and included for reusability
Example: {{ variable }} or {% for item in list %}
Redis is an open-source, in-memory data structure store that can be used as a database, cache, and message broker.
Redis stores data in key-value pairs.
It is often used for caching frequently accessed data to improve performance.
Redis supports various data structures such as strings, lists, sets, sorted sets, and hashes.
It can be used as a message broker for real-time applications using its pub/sub functionality.
Re...
Multithreading involves multiple threads within the same process, while multiprocessing involves multiple processes.
Multithreading shares the same memory space, while multiprocessing has separate memory space for each process.
Multithreading is more lightweight and efficient for I/O-bound tasks, while multiprocessing is better for CPU-bound tasks.
Multithreading can lead to race conditions and synchronization issues...
String is immutable in Java to ensure security, thread safety, and optimization.
Immutable strings prevent accidental changes to data.
String pool optimization is possible due to immutability.
Thread safety is ensured as strings cannot be modified concurrently.
Security is enhanced as sensitive data cannot be altered.
A map is a collection of key-value pairs where each key is unique and used to retrieve the corresponding value.
Maps are commonly used in programming to store data in an organized manner.
Keys in a map are used to access the associated values.
Examples of maps include dictionaries in Python and HashMaps in Java.
A thread is a lightweight process that can run concurrently with other threads within the same process.
Threads allow for parallel execution of tasks within a single process
Threads share the same memory space and resources of the process
Threads can communicate with each other through shared variables or message passing
Examples: Java threads, POSIX threads (pthreads) in C
A collection is a group of related objects or data items that are stored together.
Collections can be used to store and manipulate groups of data in programming.
Examples include arrays, lists, sets, and maps.
Collections provide methods for adding, removing, and accessing elements.
Java is a high-level programming language known for its portability, security, and object-oriented features.
Java is platform-independent, meaning it can run on any device with a Java Virtual Machine (JVM).
It is used for developing a wide range of applications, from mobile apps to enterprise systems.
Java is known for its strong security features, such as sandboxing and encryption.
It is an object-oriented language, ...
Jinja templating is a popular template engine for Python web development, used in frameworks like Flask and Django.
Jinja allows for dynamic content generation in HTML templates
It uses double curly braces {{ }} for placeholders and control structures like loops and conditionals
Jinja templates can be extended and included for reusability
Example: {{ variable }} or {% for item in list %}
Middleware is a framework of hooks into Django's request/response processing. It is used to perform actions before and after the view is called.
Middleware is a Python class that defines hooks that can alter the request/response cycle.
It can be used for authentication, logging, error handling, etc.
Middleware classes are defined in settings.py and executed in the order they are listed.
Example: Django's AuthenticationMidd...
Redis is an open-source, in-memory data structure store that can be used as a database, cache, and message broker.
Redis stores data in key-value pairs.
It is often used for caching frequently accessed data to improve performance.
Redis supports various data structures such as strings, lists, sets, sorted sets, and hashes.
It can be used as a message broker for real-time applications using its pub/sub functionality.
Redis c...
Multithreading involves multiple threads within the same process, while multiprocessing involves multiple processes.
Multithreading shares the same memory space, while multiprocessing has separate memory space for each process.
Multithreading is more lightweight and efficient for I/O-bound tasks, while multiprocessing is better for CPU-bound tasks.
Multithreading can lead to race conditions and synchronization issues, whi...
Developing a complex e-commerce platform with multiple integrations and custom features.
Managing large amounts of data and transactions
Integrating with multiple third-party APIs
Implementing complex business logic and custom features
Ensuring scalability and performance optimization
Collaborating with cross-functional teams
Design patterns are reusable solutions to common software design problems, promoting best practices and code maintainability.
Creational patterns (e.g., Singleton, Factory Method) deal with object creation mechanisms.
Structural patterns (e.g., Adapter, Composite) focus on class and object composition.
Behavioral patterns (e.g., Observer, Strategy) define how objects interact and communicate.
Using design patterns can impr...
SOLID principles are five design principles aimed at making software designs more understandable, flexible, and maintainable.
S - Single Responsibility Principle: A class should have one reason to change. Example: A class handling user data should not also handle logging.
O - Open/Closed Principle: Software entities should be open for extension but closed for modification. Example: Using interfaces to add new functionali...
Array, string ,DSA ,Collection ,Stream API ,exception handling
Java is a high-level programming language known for its portability, security, and object-oriented features.
Java is platform-independent, meaning it can run on any device with a Java Virtual Machine (JVM).
It is used for developing a wide range of applications, from mobile apps to enterprise systems.
Java is known for its strong security features, such as sandboxing and encryption.
It is an object-oriented language, allow...
String is immutable in Java to ensure security, thread safety, and optimization.
Immutable strings prevent accidental changes to data.
String pool optimization is possible due to immutability.
Thread safety is ensured as strings cannot be modified concurrently.
Security is enhanced as sensitive data cannot be altered.
A thread is a lightweight process that can run concurrently with other threads within the same process.
Threads allow for parallel execution of tasks within a single process
Threads share the same memory space and resources of the process
Threads can communicate with each other through shared variables or message passing
Examples: Java threads, POSIX threads (pthreads) in C
A map is a collection of key-value pairs where each key is unique and used to retrieve the corresponding value.
Maps are commonly used in programming to store data in an organized manner.
Keys in a map are used to access the associated values.
Examples of maps include dictionaries in Python and HashMaps in Java.
A collection is a group of related objects or data items that are stored together.
Collections can be used to store and manipulate groups of data in programming.
Examples include arrays, lists, sets, and maps.
Collections provide methods for adding, removing, and accessing elements.
Top trending discussions
I applied via Naukri.com and was interviewed before Aug 2020. There were 4 interview rounds.
I applied via Company Website and was interviewed in Jul 2021. There were 3 interview rounds.
Reversing a string involves rearranging its characters in the opposite order, which can be done using various methods.
Use built-in functions: In Python, you can reverse a string with slicing: `reversed_string = original_string[::-1]`.
Iterative approach: Loop through the string from the end to the beginning and build a new string.
Using recursion: Define a function that calls itself with a smaller substring until it reac...
I applied via Campus Placement and was interviewed in Aug 2021. There was 1 interview round.
Dynamic professional with diverse experience in management, team leadership, and strategic planning, eager to contribute to organizational success.
Over 5 years of experience in management roles, leading teams to achieve operational goals.
Successfully implemented a new project management system that improved efficiency by 30%.
Strong background in customer service, enhancing client satisfaction scores by 20% through effe...
Python is a high-level, interpreted programming language known for its simplicity, readability, and versatility.
Python is used for web development, data analysis, artificial intelligence, and more.
It has a large standard library and supports multiple programming paradigms.
Python code is often shorter and easier to read than other languages.
It uses indentation to indicate code blocks instead of curly braces or keywords.
...
High-level languages are programming languages that are easier to read and write than low-level languages.
High-level languages are closer to human language than machine language.
They are easier to learn and use than low-level languages.
Examples of high-level languages include Java, Python, and C++.
HCL Technologies is a leading global IT services company based in India, specializing in software development and IT consulting.
Founded in 1976, HCL is one of India's original IT services companies.
HCL operates in over 50 countries, providing services to clients across various industries.
The company focuses on innovation and has invested heavily in R&D, exemplified by its HCL Innovation Labs.
HCL's services include ...
posted on 2 Mar 2022
Good Practice
I appeared for an interview in Nov 2020.
Round duration - 120 minutes
Round difficulty - Medium
This was an online coding, mcq and debugging round round held on Amcat platform, there were 3 sections in the test.
1)20 MCQ questions {10 involving mathematics and the other 10 on programming fundamentals}; duration:20 mins;
you cannot navigate back to a questions after moving further, so have to answer carefully
2)debugging section- it involved 7 questions which were to be completed within 20 mins, 5 of them were very easy, each question only took almost a minute to figure out the problem with the code, last 2 questions were relatively moderate and there were errors at 3-4 sections of the entire code. I was able to solve all the questions in 15 mins
3)2 Coding questions- duration:80 mins, one was moderate on string while the other one involved dynamic programming, I was able to successfully execute all the available test cases.
Given two strings, S
and X
, your task is to find the smallest substring in S
that contains all the characters present in X
.
S = "abdd", X = "bd"
Find the smallest substring in S that contains all characters in X.
Use a sliding window approach to find the smallest window in S containing all characters of X.
Maintain a hashmap to keep track of characters in X and their frequencies.
Slide the window by moving the right pointer until all characters in X are found, then move the left pointer to minimize the window size.
Return the smallest window found.
Example: S = 'abd...
You are given a 2D matrix 'ARR' of size 'N x 3' with integers, where 'N' is the number of rows. Your task is to compute the smallest sum achievable by selecting one...
Find the smallest sum achievable by selecting one element from each row of a 2D matrix, following certain constraints.
Iterate through each row and find the minimum element that does not violate the constraints.
Keep track of the minimum sum achieved by selecting elements from each row.
Avoid selecting elements directly beneath previously selected elements.
Round duration - 45 minutes
Round difficulty - Hard
The interview started with introduction, there were two interviewers, they both introduced themselves and then asked me to introduce myself. Then we had a brief description on my projects, and they really appreciated my projects. Then as they were more concerned with DSA part, so we moved towards solving a coding problem. It was a famous rotten oranges problem with some change in language but as I haven't seen it beforehand, I wasn't able to give them an optimal approach and had to ask for some hints, but with a certain amount of help and hints, I was able to solve the problem and successfully coded it in 5 mins. Then the interviewers went for a dry run of the algorithm and tried to run it on each and every corner case, but as my algorithm was kind of bullet proof, it successfully passed all the corner cases.
Then they went for some questions on OOPS concepts involving inheritance and we had a long discussion on virtual function and runtime polymorphism. Then the interview was ended after a Q/A round that lasted for 3-4 minutes.
Given a grid containing oranges in three possible states:
Every second, any fresh orange adjac...
Given a grid with fresh and rotten oranges, determine the minimum time for all oranges to become rotten.
Create a queue to store the coordinates of rotten oranges and perform BFS to rot adjacent fresh oranges
Track the time taken to rot all oranges and return -1 if some fresh oranges remain
Handle edge cases like empty grid or no fresh oranges present
Example: For input grid = [[2,1,1],[1,1,0],[0,1,1]], the minimum time to...
Tip 1 : Try to keep yourself involved in competitive programming on regular basis {ex-Codechef, codeforces etc}
Tip 2 : brush up concepts on DSA and practice at least all questions from interviewbit and around 300 questions from GFG and Leetcode of upto intermediate level, this will help you in building your concepts and you will be quickly able to answer the questions in face to face interviews
Tip 3 : Complete some courses on data structures and algorithms and some programming languages{coding ninjas courses are preferable for valuable content}
Tip 1 : Try to keep only those things in resume on which you have very good command and you should be able to answer all of the questions(upto moderate level) related to your technical skills
Tip 2 : Mention your projects with brief description, try avoiding very high level description because some times reader might not be able to understand your work, keep it descriptive and understandable
posted on 26 May 2022
I applied via Approached by Company and was interviewed before May 2021. There were 2 interview rounds.
based on 4 interview experiences
based on 17 reviews
Rating in categories
Associate Software Engineer
8
salaries
| ₹1.8 L/yr - ₹3.7 L/yr |
Software Engineer
7
salaries
| ₹2 L/yr - ₹5.1 L/yr |
Senior Software Engineer
7
salaries
| ₹7 L/yr - ₹11 L/yr |
Software Developer
5
salaries
| ₹4.1 L/yr - ₹10.2 L/yr |
UI/UX Designer
5
salaries
| ₹3.9 L/yr - ₹4.8 L/yr |
TCS
Accenture
Wipro
Cognizant