Filter interviews by
Clear (1)
I applied via Approached by Company and was interviewed before Apr 2023. There were 5 interview rounds.
Top trending discussions
I was interviewed before Jan 2016.
posted on 10 Mar 2015
Algorithm to find 2 numbers in an array whose sum is equal to a target integer
Use a hash table to store the difference between target and each element in the array
Iterate through the array and check if the current element exists in the hash table
Return the pair of elements that sum up to the target integer
Write a select statement to retrieve work of all users who belong to my team.
Join USERS and WORK tables on user_id
Join MANAGERS and USERS tables on team
Filter by manager_id
The manifest.json file contains the most important information of a Chrome extension.
The manifest.json file includes the version number, permissions, content scripts, background scripts, and other important details.
It is located in the root directory of the extension.
It is required for all Chrome extensions.
Example: "manifest_version": 2, "version": "1.0", "permissions": ["tabs", "storage"]
Hashtable is faster for finding an item than a sorted list.
Hashtable has constant time complexity O(1) for finding an item.
Sorted list has logarithmic time complexity O(log n) for finding an item.
Hashtable uses hashing to directly access the item's location.
Sorted list requires binary search to find the item's location.
Hashtable is ideal for large datasets with frequent lookups.
Sorted list is ideal for datasets that re
JSON and XML are the most popular data interchange formats when using APIs.
JSON (JavaScript Object Notation) is a lightweight format that is easy to read and write. It is widely used in web APIs.
XML (Extensible Markup Language) is a more complex format that is also widely used in web APIs.
Other formats include CSV (Comma Separated Values), YAML (YAML Ain't Markup Language), and Protocol Buffers.
Popular APIs for Social Commerce services
Facebook Graph API for social media integration
Instagram API for photo sharing and tagging
Twitter API for real-time updates and customer engagement
Pinterest API for product discovery and sharing
Google Maps API for location-based services
PayPal API for secure payment processing
Use a script to iterate through each HTML page, locate phone numbers, and update their format.
Write a script using a programming language like Python or JavaScript to iterate through each HTML page
Use regular expressions to locate phone numbers in the pages
Update the format of the phone numbers as needed (e.g. adding country code, changing separators)
Save the updated HTML pages with the new phone number format
Designing Google Suggest system
I would start by analyzing user search patterns and frequently searched keywords
Then, I would create a database of these keywords and their associated search results
I would use indexing services to quickly retrieve relevant results for each keyword
I would also implement machine learning algorithms to improve the accuracy of suggestions over time
Check if a number is a power of 2 and odd.
To check if a number is a power of 2, use bitwise AND operator with the number and its predecessor. If the result is 0, it is a power of 2.
To check if a number is odd, use modulus operator with 2. If the result is 1, it is odd.
Example code in Python:
def is_power_of_two(num):
return num & (num - 1) == 0
def is_odd(num):
return num % 2 == 1
By introducing new menu items, optimizing pricing strategy, and improving the overall dining experience.
Conduct a survey to understand the preferences of employees
Introduce healthy and affordable meal options
Offer discounts for bulk orders or loyalty programs
Partner with local vendors to source fresh ingredients
Improve the ambiance and seating arrangements
Implement online ordering and delivery services
Reviewing 30 million ads from 42 languages in Google AdWords and rejecting non-compliant ads requires a systematic approach.
Create a set of specific rules and guidelines for ad compliance
Use automated tools to filter out ads that violate the rules
Assign a team of reviewers to manually check the remaining ads
Ensure that the reviewers are fluent in the languages of the ads they are reviewing
Regularly update the rules and...
Multiple data structures are used to print nodes in a specific order. One data structure cannot be used alone.
The given order suggests a depth-first search traversal of a tree-like structure.
A stack can be used to keep track of the nodes to be visited.
A queue can be used to store the children of a node in the order they are visited.
An array can be used to store the nodes in the required order.
A linked list can be used ...
Find largest pen using minimum comparisons with tops.
Divide pens into two groups and compare largest pen from each group with largest top.
Repeat the process with the group containing the largest pen until only one pen is left.
The remaining pen is the largest pen.
Total number of comparisons required is 2n-3.
Given n dice with 'a' sides and sum b, return no. of ways to obtain b. Optimize time and space complexity.
Use dynamic programming to reduce time complexity
Create a 2D array to store the number of ways to obtain each sum for each number of dice
Use rolling arrays to optimize space complexity
Example: n=2, a=6, b=7 -> 6 ways to obtain sum 7
Example: n=3, a=4, b=8 -> 21 ways to obtain sum 8
Sort 128 GB data on 2 machines with 64 GB RAM each. Extend to 1000 machines.
Use external sorting algorithm like merge sort or quick sort
Divide data into smaller chunks and sort them individually
Merge sorted chunks using additional RAM
For 1000 machines, use distributed sorting algorithms like MapReduce or Hadoop
Ensure data consistency and fault tolerance in distributed sorting
I was interviewed before Mar 2021.
Round duration - 60 minutes
Round difficulty - Easy
This was the first technical round.
Given a singly linked list of integers, return the head of the reversed linked list.
Initial linked list: 1 -> 2 -> 3 -> 4 -> NULL
Reversed link...
Reverse a singly linked list of integers and return the head of the reversed linked list.
Iterate through the linked list and reverse the pointers to point to the previous node instead of the next node.
Keep track of the previous, current, and next nodes while reversing the linked list.
Update the head of the reversed linked list as the last node encountered during reversal.
You are given a binary tree consisting of distinct integers and two nodes, X
and Y
. Your task is to find and return the Lowest Common Ancestor (LCA) of these two nodes...
Find the Lowest Common Ancestor (LCA) of two nodes in a binary tree.
Traverse the binary tree to find the paths from the root to nodes X and Y.
Compare the paths to find the last common node, which is the LCA.
Handle cases where one node is an ancestor of the other.
Consider edge cases like when X or Y is the root node.
Implement a recursive or iterative solution to find the LCA efficiently.
Internal fragmentation occurs when allocated memory is larger than the requested memory, leading to wasted space.
Internal fragmentation is common in memory management systems.
It occurs when a block of memory is allocated to a process, but the process does not use all of the allocated memory.
This results in wasted space within the allocated block.
For example, if a process requests 100 bytes of memory but is allocated a ...
BSS segment in memory stores uninitialized static and global variables.
BSS segment stands for 'Block Started by Symbol' and is a section of memory where uninitialized static and global variables are stored.
Variables declared with the 'static' keyword or as global variables without initialization are stored in the BSS segment.
For example, int a; or static int b; would be stored in the BSS segment.
Round duration - 60 minutes
Round difficulty - Easy
Technical Interview round with questions on DSA, OS, OOPS etc.
Given a positive integer 'N', compute its square root and return it. If 'N' is not a perfect square, then return the floor value of sqrt(N).
N = 25
N = 20
N...
Calculate the square root of a positive integer and return the floor value if not a perfect square.
Use the sqrt() function to calculate the square root of the given integer.
If the square root is not an integer, return the floor value using floor() function.
Handle constraints such as the range of 'N' and the number of test cases.
The returned value for the 'main' function goes to the operating system.
The returned value is typically an integer representing the exit status of the program.
A return value of 0 usually indicates successful execution, while non-zero values indicate errors.
The operating system can use the return value to determine the success or failure of the program.
A segmentation fault is a type of error that occurs when a program tries to access a memory location that it is not allowed to access.
Occurs when a program tries to access memory outside of its allocated space
Usually caused by bugs in the code such as accessing an uninitialized pointer or writing past the end of an array
Can lead to program crashes or unexpected behavior
Example: Accessing an element beyond the bounds of
Round duration - 30 minutes
Round difficulty - Easy
This was a typical managerial round.
Tip 1 : Must do Previously asked Interview as well as Online Test Questions.
Tip 2 : Go through all the previous interview experiences from Codestudio and Leetcode.
Tip 3 : Do at-least 2 good projects and you must know every bit of them.
Tip 1 : Have at-least 2 good projects explained in short with all important points covered.
Tip 2 : Every skill must be mentioned.
Tip 3 : Focus on skills, projects and experiences more.
I was interviewed before Mar 2021.
Round duration - 60 minutes
Round difficulty - Easy
Technical Interview round with questions on DSA, Programming and OOPS.
Given two strings A
and B
, find the index of the first occurrence of A
in B
. If A
is not present in B
, return -1.
A = "bc", B = "abcdd...
Implement the strstr() function in C to find the index of the first occurrence of one string in another.
Iterate through the main string and check if the substring matches at each position.
Return the index if a match is found, else return -1.
Handle edge cases like empty strings or when the substring is longer than the main string.
Accessing a null pointer in C results in a segmentation fault, as the program tries to access memory at address 0.
Attempting to dereference a null pointer will result in a segmentation fault, as the program tries to access memory at address 0.
It is important to always check if a pointer is null before attempting to access its value.
Example: int *ptr = NULL; printf('%d', *ptr); // This will result in a segmentation faul
Phases of a compiler include lexical analysis, syntax analysis, semantic analysis, optimization, and code generation.
Lexical analysis: Converts source code into tokens.
Syntax analysis: Checks the syntax of the code using a grammar.
Semantic analysis: Checks the meaning of the code.
Optimization: Improves the code for efficiency.
Code generation: Generates machine code or intermediate code.
A system stack is a data structure that stores information about the active subroutines of a computer program.
A system stack typically consists of a stack of frames, each representing a subroutine call.
The stack grows and shrinks as subroutines are called and returned.
The top of the stack points to the currently executing subroutine.
Common operations on a system stack include push (adding a new frame) and pop (removing
Given an integer N
, for each integer from 0
through N
, find and print the number of set bits (1s) present in its binary representation.
N = 5
...
Count the number of set bits in binary representation of integers from 0 to N.
Iterate through integers from 0 to N and count the number of set bits in their binary representation.
Use bitwise operations to check if a bit is set in the binary representation.
Return the count of set bits for each integer in the range.
Round duration - 60 minutes
Round difficulty - Easy
Technical Interview round with questions on DSA, Programming and OOPS.
You are provided with a binary tree consisting of 'N' nodes, where each node contains an integer value. Your task is to perform the In-Order traversal ...
Perform In-Order traversal on a binary tree without recursion.
Use a stack to simulate the recursive process of In-Order traversal.
Start with the root node and keep traversing left until reaching a null node, pushing nodes onto the stack.
Pop nodes from the stack, print the value, and move to the right child if it exists.
Repeat until the stack is empty and all nodes have been visited.
Determine if a given singly linked list of integers contains a cycle.
A cycle in a linked list occurs when a node's next points back to a previous node in ...
Detect if a singly linked list has a cycle by using Floyd's Cycle Detection Algorithm.
Use Floyd's Cycle Detection Algorithm to detect a cycle in a singly linked list.
Maintain two pointers, one moving at twice the speed of the other.
If there is a cycle, the two pointers will eventually meet.
If one of the pointers reaches the end of the list (null), there is no cycle.
An interrupt is a signal sent to the CPU to alert it of an event that needs immediate attention.
Interrupts can be generated by hardware devices or software programs.
They can be used to handle events such as keyboard input, mouse clicks, or network activity.
Interrupts can be classified as hardware interrupts, software interrupts, or exceptions.
Examples of interrupts include the timer interrupt, which is used for multita...
CSMA stands for Carrier Sense Multiple Access. It is a protocol used in network communication to avoid collisions.
CSMA allows devices to listen to the network before transmitting data to avoid collisions.
If a device senses that the network is busy, it waits for a random amount of time before attempting to transmit.
CSMA/CD (Collision Detection) is a variant of CSMA used in Ethernet networks.
CSMA/CA (Collision Avoidance)
Round duration - 30 minutes
Round difficulty - Easy
Typical Managerial round.
Tip 1 : Must do Previously asked Interview as well as Online Test Questions.
Tip 2 : Go through all the previous interview experiences from Codestudio and Leetcode.
Tip 3 : Do at-least 2 good projects and you must know every bit of them.
Tip 1 : Have at-least 2 good projects explained in short with all important points covered.
Tip 2 : Every skill must be mentioned.
Tip 3 : Focus on skills, projects and experiences more.
Connection-oriented protocols establish a dedicated end-to-end connection before data transmission, while connectionless protocols do not.
Connection-oriented protocols ensure reliable data transmission, while connectionless protocols do not guarantee reliability.
Connection-oriented protocols are used in applications such as file transfer and email, while connectionless protocols are used in applications such as video s...
My experience of the whole day was productive and challenging.
Started the day with a team meeting to discuss project progress
Worked on coding and debugging for several hours
Collaborated with colleagues to solve complex problems
Attended a training session on new software development tools
Finished the day by reviewing and documenting my work
I am a software developer at NetApp.
Design and develop software applications
Collaborate with cross-functional teams
Write clean and efficient code
Participate in code reviews and testing
Stay up-to-date with emerging trends and technologies
A QA (Quality Assurance) is responsible for ensuring that software products meet the required quality standards.
Develop and execute test plans and test cases
Identify and report defects and issues
Collaborate with developers to resolve issues
Ensure compliance with industry standards and regulations
Continuously improve testing processes and methodologies
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 stack consists of 7 layers that define the functions and protocols of network communication.
Physical layer: Deals with the physical transmission of data.
Data Link layer: Provides error-free transmission over a physical link.
Network layer: Handles routing and logical addressing.
Transport layer: Ensures reliable data delivery and manages end-to-end connections.
Session layer: Establishes, manages, and terminates s...
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 ...
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 object that controls access to a shared resource through the use of a counter.
Semaphores can be used to limit the number of threads accessing a resource simultaneously.
They can be used to solve the critical section problem in concurrent programming.
Semaphores can have two types: counting semaphores and binary semaphores.
Counting semaphores allow a specified number of threads to access a...
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...
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; };
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...
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
Netapp is a multinational storage and data management company.
Netapp specializes in providing storage solutions for businesses and organizations.
They offer a wide range of products and services including storage systems, software, and cloud services.
Netapp's solutions help organizations manage and protect their data, improve efficiency, and enable data-driven decision making.
They have a strong presence in the enterpris...
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
based on 1 interview
Interview experience
based on 1 review
Rating in categories
Software Engineer
432
salaries
| ₹0 L/yr - ₹0 L/yr |
Senior Software Engineer
289
salaries
| ₹0 L/yr - ₹0 L/yr |
Technical Support Engineer
272
salaries
| ₹0 L/yr - ₹0 L/yr |
Senior Technical Support Engineer
139
salaries
| ₹0 L/yr - ₹0 L/yr |
Principal Software Engineer
132
salaries
| ₹0 L/yr - ₹0 L/yr |
RUBRIK INDIA
Druva
Veeam Software
CommVault