Filter interviews by
I applied via Job Portal
Enums are a feature in programming languages that allow you to define a set of named constants.
Enums can be used to improve code readability by giving meaningful names to values
Enums can be used in switch statements to handle different cases
Enums can have associated values or raw values for more flexibility
Yes, Singleton handles synchronization by ensuring only one instance of a class is created and providing global access to that instance.
Singleton pattern restricts the instantiation of a class to one object.
It provides a global point of access to the instance.
Synchronization can be implemented in the Singleton pattern to ensure thread safety.
Example: Singleton pattern is commonly used in database connections to ensure ...
External libraries are pre-written code that can be imported and used in a project to provide additional functionality.
External libraries help in reducing development time by providing ready-made solutions for common tasks.
Examples include React for front-end development, NumPy for scientific computing in Python, and Retrofit for making network calls in Android apps.
I applied via Naukri.com and was interviewed before Jun 2021. There was 1 interview round.
I applied via Recruitment Consultant and was interviewed in May 2021. There was 1 interview round.
Top trending discussions
I appeared for an interview in Jun 2017.
I applied via Referral
Windows and UNIX have several technical differences.
Windows has a graphical user interface (GUI) while UNIX is primarily command-line based.
Windows uses the NTFS file system while UNIX typically uses the ext4 file system.
Windows supports a wide range of software applications, while UNIX is known for its stability and security.
Windows has a larger user base and is more commonly used for personal computers, while UNIX is...
NTFS and FAT are file systems used in Windows operating systems with differences in features and capabilities.
NTFS supports file and folder permissions, while FAT does not.
NTFS has built-in support for file compression and encryption, while FAT does not.
NTFS has a journaling feature that helps in recovering from system crashes, while FAT does not.
NTFS supports larger file sizes and partition sizes compared to FAT.
NTFS ...
The OSI model has seven layers that standardize network communication processes.
1. Physical Layer: Deals with the physical connection (e.g., cables, switches).
2. Data Link Layer: Manages node-to-node data transfer (e.g., Ethernet).
3. Network Layer: Handles routing of data packets (e.g., IP).
4. Transport Layer: Ensures reliable data transfer (e.g., TCP, UDP).
5. Session Layer: Manages sessions between applications (e.g.,...
NAT (Network Address Translation) is a technique used to translate private IP addresses to public IP addresses, allowing devices on a private network to communicate with the internet. DHCP (Dynamic Host Configuration Protocol) is a network protocol that automatically assigns IP addresses and other network configuration parameters to devices on a network.
NAT allows multiple devices on a private network to share a single...
A hub is a simple networking device that connects multiple devices in a network. A switch is a more advanced device that filters and forwards data packets. A router is a device that connects multiple networks and directs data packets between them.
A hub operates at the physical layer of the OSI model, while a switch operates at the data link layer.
A hub broadcasts data to all connected devices, while a switch selectivel...
Collision domain is a network segment where collisions can occur. Bridges segregate collision domains by creating separate segments.
Collision domain is a section of a network where network devices share the same bandwidth and can collide with each other.
Collisions occur when two or more devices transmit data simultaneously on a shared medium.
Bridges create separate collision domains by dividing a network into multiple ...
Create a wrapper to sort both positive and negative numbers using a positive-only sorting routine.
Use the existing sorting routine for positive numbers.
Transform negative numbers to positive by taking their absolute values.
Sort the transformed array using the positive sorting routine.
Restore the original sign of the numbers after sorting.
Example: Input [-3, 1, -2, 4] becomes [1, 2, 3, 4] and then outputs [-3, -2, 1, 4]...
A combination of array and hashmap can be used to design the underlying data structures for an educational institution's website.
Use an array to store the departments available in the institution.
Each department can be represented as a key in the hashmap.
The value corresponding to each department key in the hashmap can be another hashmap.
This nested hashmap can store the courses available in the department.
The courses ...
Design considerations for a client-server system with virtual operating systems on the fly
Scalability: Ensure the system can handle multiple clients requesting virtual operating systems simultaneously
Resource allocation: Manage resources efficiently to provide virtual operating systems to clients
Network bandwidth: Optimize network usage to deliver virtual operating systems quickly
Security: Implement measures to protect...
VMware's virtualization on a multicore machine allows for efficient utilization of resources and improved performance.
VMware's virtualization technology enables the creation of multiple virtual machines (VMs) on a single multicore machine.
Each VM can run its own operating system and applications, isolated from other VMs.
The hypervisor, such as VMware ESXi, manages the allocation of CPU, memory, and other resources to e...
The minimum number of packets required to pack 51 apples such that any number of apples between 1 and 51 can be given.
The minimum number of packets required is 6.
Each packet should contain a power of 2 number of apples.
The packets should be of sizes: 1, 2, 4, 8, 16, and 20.
By combining these packets, any number of apples between 1 and 51 can be given.
Program to implement strstr function in C++
Use two nested loops to compare each character of the haystack and needle
If a match is found, return the starting index of the substring
If no match is found, return -1
To construct an almost balanced binary tree from an incoming stream of numbers.
Use a self-balancing binary search tree like AVL or Red-Black tree.
Insert the numbers from the stream into the tree.
Perform rotations or rebalancing operations as necessary to maintain balance.
Consider using a priority queue to handle the incoming stream efficiently.
Implementing autocomplete feature for search queries
Use a trie data structure to store the search queries
As the user types, traverse the trie to find matching prefixes
Return the suggestions based on the matching prefixes
Consider using a ranking algorithm to prioritize suggestions
A semaphore is a synchronization mechanism used to control access to shared resources in concurrent programming.
Semaphores can be binary (0 or 1) or counting (0 to n).
They help prevent race conditions by managing resource access.
Example: A binary semaphore can be used to control access to a critical section.
Counting semaphores can manage a pool of resources, like database connections.
The P and V operations are used to control access to a shared resource using a semaphore.
P operation (wait operation) decreases the value of the semaphore by 1, blocking if the value is already 0.
V operation (signal operation) increases the value of the semaphore by 1, releasing a waiting process if any.
P and V operations are typically used in synchronization mechanisms to prevent race conditions and ensure mutual excl...
REST web service is an architectural style for designing networked applications that use HTTP as the communication protocol.
REST stands for Representational State Transfer
It is based on a client-server model
It uses standard HTTP methods like GET, POST, PUT, DELETE
Resources are identified by URIs
Responses are typically in JSON or XML format
HTTP is a stateless protocol.
HTTP is stateless because it does not retain any information about previous requests or responses.
Each request is treated as an independent transaction, and the server does not maintain any knowledge of the client's state.
To maintain state, cookies or session management techniques can be used.
Statelessness allows for scalability and simplicity in web applications.
Shared memory is a memory space that can be accessed by multiple processes or threads simultaneously.
Shared memory allows processes or threads to communicate and share data efficiently.
It is typically used in inter-process communication (IPC) to avoid the overhead of copying data between processes.
Shared memory can be implemented using operating system mechanisms like memory-mapped files or system calls.
Example: Multip...
I am motivated by challenges, continuous learning, and the impact of my work on others, driving me to excel in software engineering.
Solving complex problems: I thrive on tackling difficult coding challenges, like optimizing algorithms for better performance.
Continuous learning: I enjoy exploring new technologies, such as machine learning, to enhance my skill set and stay relevant.
Making an impact: Contributing to proje...
Alignment issues in structures occur due to memory padding and alignment requirements.
Structures may have unused memory space due to alignment requirements.
Padding is added to align structure members on memory boundaries.
Alignment issues can lead to wasted memory and decreased performance.
Compiler directives like #pragma pack can be used to control alignment.
Example: struct MyStruct { char a; int b; char c; };
Addresses from malloc in different files can be the same, depending on memory allocation and system behavior.
malloc() allocates memory from the heap, which is managed by the operating system.
If both f1.c and f2.c are run in the same process, they may receive the same address if the memory is freed.
In separate processes, the address space is isolated, so malloc() can return the same address in different processes.
Exampl...
Memory Management Unit (MMU) is a hardware component that manages memory access and translation between virtual and physical addresses.
MMU is responsible for translating virtual addresses used by programs into physical addresses in the computer's memory.
It provides memory protection by assigning access permissions to different memory regions.
MMU also handles memory allocation and deallocation, ensuring efficient use of...
A socket is an endpoint for communication between two machines over a network.
A socket is a software abstraction that allows programs to send and receive data over a network.
It provides a mechanism for inter-process communication between applications running on different machines.
Sockets can be used for various network protocols such as TCP/IP, UDP, etc.
They are identified by an IP address and a port number.
Examples of...
Type casting in C allows conversion between different data types, enhancing flexibility in operations and memory management.
Implicit Casting: Automatic conversion by the compiler, e.g., int to float.
Explicit Casting: Manual conversion using (type) notation, e.g., (int)3.14.
Example of Implicit: float f = 5; // int 5 is converted to float.
Example of Explicit: int i = (int)3.99; // float 3.99 is converted to int 3.
Casting...
Yes, it is possible to declare a structure 'a' that contains a structure 'b' and 'b' in turn contains 'a'.
To achieve this, we can use forward declaration of one of the structures.
By using a pointer or reference to the other structure inside the first structure, we can avoid recursive definition.
This allows us to create a nested structure hierarchy.
To find the offset of a member of a structure object, use the 'offsetof' macro. If not allowed to create the object, use 'sizeof' and pointer arithmetic.
Use the 'offsetof' macro to find the offset of a member within a structure object
If not allowed to create the object, use 'sizeof' to get the size of the structure and perform pointer arithmetic
I'm an avid coder and a passionate open-source contributor, always eager to learn and share knowledge with others.
I contribute to several open-source projects, including a popular JavaScript library that helps developers streamline their workflow.
In my free time, I enjoy participating in hackathons, where I've collaborated with diverse teams to build innovative solutions in just 48 hours.
I have a personal blog where I ...
I possess strong problem-solving skills, effective communication, and a passion for continuous learning in software engineering.
Problem-solving: I enjoy tackling complex coding challenges, like optimizing algorithms for better performance.
Communication: I effectively collaborate with cross-functional teams, ensuring clarity in project requirements and updates.
Continuous learning: I regularly explore new technologies, s...
NetApp is a data management and storage solutions company, specializing in cloud data services and enterprise storage systems.
Founded in 1992, NetApp is headquartered in Sunnyvale, California.
NetApp provides solutions for data storage, management, and protection, including ONTAP software.
The company focuses on hybrid cloud environments, enabling seamless data management across on-premises and cloud infrastructures.
NetA...
Higher education can enhance skills, open opportunities, and foster personal growth in the software engineering field.
Advanced degrees can lead to specialized roles, such as data scientist or machine learning engineer.
Higher education often provides access to cutting-edge research and technologies.
Networking opportunities with peers and industry leaders can be invaluable.
Many companies value candidates with advanced de...
I come from a close-knit family with two siblings, an older brother and a younger sister.
Close-knit family
Two siblings - older brother and younger sister
I am interested in job profiles that involve software development, problem-solving, and continuous learning.
I prefer job profiles that allow me to work on challenging projects and utilize my technical skills.
I am interested in roles that involve software development, coding, and debugging.
I enjoy problem-solving and would like a job that challenges me to think creatively and analytically.
I value continuous learning and...
I applied via Naukri.com and was interviewed before Nov 2020. There were 3 interview rounds.
My goals in joining your organization include contributing to impactful projects, growing my skills, and collaborating with a talented team.
Contributing to Impactful Projects: I aim to work on projects that have a meaningful impact, such as developing software that improves user experience or enhances productivity.
Skill Development: I want to continuously learn and grow my technical skills, particularly in areas like c...
I applied via Naukri.com
I applied via Walk-in and was interviewed before Jan 2021. There were 5 interview rounds.
Developed a web-based project management system for a construction company.
Used PHP and MySQL for backend development.
Implemented a responsive UI using Bootstrap and jQuery.
Incorporated features such as task assignment, progress tracking, and document management.
Conducted user testing and made improvements based on feedback.
Completed the project within the given timeline and budget.
based on 2 interview experiences
based on 47 reviews
Rating in categories
4-5 Yrs
₹ 3.6-18 LPA
5-12 Yrs
Not Disclosed
Senior Software Engineer
365
salaries
| ₹12.6 L/yr - ₹21.5 L/yr |
Software Engineer
247
salaries
| ₹6 L/yr - ₹13 L/yr |
Software Developer
235
salaries
| ₹5.3 L/yr - ₹12 L/yr |
Talent Specialist
234
salaries
| ₹2 L/yr - ₹5 L/yr |
Technical Recruiter
222
salaries
| ₹2 L/yr - ₹5.6 L/yr |
Synechron
Movate
Sopra Steria
NCR Corporation