Filter interviews by
I applied via Approached by Company and was interviewed in Dec 2022. There were 5 interview rounds.
Find the 2nd largest element in an array of strings.
Sort the array in descending order
Access the element at index 1 to get the 2nd largest element
To get the top view of a binary tree, we need to find the nodes that are visible when looking at the tree from the top.
Start from the root node and assign it a horizontal distance of 0.
Traverse the tree using a queue and keep track of the horizontal distance of each node.
For each horizontal distance, only keep the node with the smallest level in the result.
Repeat the process for left and right child nodes, updating the
NotificationCenter is a system that enables communication between different parts of an application.
NotificationCenter allows components of an application to communicate without having direct references to each other.
It uses the observer pattern where objects register themselves as observers for specific notifications.
Notifications can be posted to the NotificationCenter with optional data.
Observers can then receive an...
Design a Twitter feed using SOLID principles
Separate classes for each responsibility (Single Responsibility Principle)
Use interfaces to define behavior and allow for easy swapping of implementations (Open/Closed Principle)
Dependency Injection to decouple components and make testing easier (Dependency Inversion Principle)
Liskov Substitution Principle to ensure derived classes can be substituted for their base classes wi...
Find the first occurrence of a given number in a sorted array.
Use binary search to efficiently find the first occurrence of the number.
Keep track of the index of the first occurrence as you search through the array.
Return the index of the first occurrence once found.
Calculate the number of children and grandchildren
Count the number of direct children of a person
Count the number of grandchildren of a person
Use recursion to count all descendants
Consider only living descendants
Exclude step-children and adopted children
I appeared for an interview before May 2021.
Round duration - 90 minutes
Round difficulty - Medium
Given 'N' students standing in a row with specific heights, your task is to find the length of the longest strictly increasing subsequence of their heights...
Find the length of the longest strictly increasing subsequence of heights of students in a row.
Iterate through the heights array and for each element, find the length of the longest increasing subsequence ending at that element.
Use dynamic programming to keep track of the longest increasing subsequence length for each element.
Return the maximum length found as the result.
You are given the start and end times of 'N' intervals. Write a function to determine if any two intervals overlap.
If an interval ends at time T and anothe...
Given start and end times of intervals, determine if any two intervals overlap.
Iterate through intervals and check if any two intervals overlap by comparing their start and end times
Sort intervals based on start times for efficient comparison
Consider edge cases where intervals end and start at the same time
Various SQL queries related to data manipulation and retrieval were asked during the interview.
Basic SELECT queries to retrieve data from a single table
JOIN queries to retrieve data from multiple tables based on a common column
Aggregate functions like COUNT, SUM, AVG, etc. to perform calculations on data
Subqueries to retrieve data based on the result of another query
UPDATE queries to modify existing data in a table
DELE...
Round duration - 60 Minutes
Round difficulty - Medium
Given a string STR
of size N
and an integer M
representing the number of rows in the zig-zag pattern, return the string formed by concatenating all rows when the string ST...
Arrange a string in zig-zag pattern with given number of rows and concatenate the rows.
Iterate through the string and distribute characters to rows based on zig-zag pattern
Concatenate the characters in each row to get the final result
Handle edge cases like when number of rows is 1 or equal to the length of the string
You are given a permutation of 'N' integers. A sequence of 'N' integers is considered a permutation if it includes all integers from 1 to 'N' exactly once. Your task is ...
The task is to rearrange a given permutation of 'N' integers to form the lexicographically next greater permutation.
Iterate from right to left to find the first element that is smaller than the element to its right.
Swap this element with the smallest element to its right that is greater than it.
Reverse the elements to the right of the swapped element to get the lexicographically next greater permutation.
Round duration - 60 Minutes
Round difficulty - Medium
Given a string S, your task is to recursively remove all consecutive duplicate characters from the string.
String S
Output string
Recursively remove consecutive duplicate characters from a string.
Use recursion to check if the current character is the same as the next character, if so skip the next character
Base case: if the string is empty or has only one character, return the string
Example: Input: 'aaabcc', Output: 'abc'
Given an input string 'S', you are tasked with finding and returning all possible permutations of the input string.
The first and only line of input ...
Return all possible permutations of a given input string.
Use recursion to generate all possible permutations of the input string.
Swap characters at different positions to generate permutations.
Handle duplicate characters in the input string by using a set to store unique permutations.
Round duration - 60 Minutes
Round difficulty - Medium
Design an e-commerce website similar to Flipkart or Amazon.
Implement user-friendly interface for easy navigation
Include search functionality with filters for products
Incorporate secure payment gateway for transactions
Provide personalized recommendations based on user behavior
Include customer reviews and ratings for products
Implement order tracking and delivery status updates
Offer various payment options like credit/deb
Tip 1 : Prepare DSA well. Standard Leetcode-type questions will be asked.
Tip 2 : You should be crystal clear about your project/s as any question would be asked and you should be able to answer it.
Tip 3 : Prepare CS fundaments like OS, OOPs, DBMS, etc.
Tip 1 : Clearly mention the tech. stack you have worked on in the project/s
Tip 2 : As a fresher, you should add your coding profiles on CodeChef, Codeforces, etc. so as to make the resume shortlisting easy
I appeared for an interview before Jan 2021.
Round duration - 120 Minutes
Round difficulty - Medium
The test included MCQ questions from SQL, Linux Commands, C/C++ programming, Logical Reasoning, Aptitude questions. The other section was the coding round, where 2 SQL queries and 2 coding questions were there.
You are provided with an array/list ARR
of length N
containing only 0s and 1s. Your goal is to determine the number of non-empty subarrays where the numbe...
Count the number of subarrays where the number of 0s is equal to the number of 1s in a given array of 0s and 1s.
Iterate through the array and keep track of the count of 0s and 1s encountered so far.
Use a hashmap to store the count of 0s and 1s encountered at each index.
For each index, check if the count of 0s is equal to the count of 1s encountered so far and update the result accordingly.
Determine if an array contains a Pythagorean triplet by checking whether there are three integers x, y, and z such that x2 + y2 = z2 within the array.
The first lin...
Detect if an array contains a Pythagorean triplet by checking if there are three integers x, y, and z such that x^2 + y^2 = z^2.
Iterate through all possible triplets of numbers in the array and check if they form a Pythagorean triplet.
Use a nested loop to generate all possible combinations of three numbers from the array.
Check if the sum of squares of two numbers is equal to the square of the third number for each trip...
Round duration - 50 Minutes
Round difficulty - Medium
This was a standard DSA round where I was asked to solve 2 questions and also code it in a production ready manner . At the end I was also asked some questions related to Linux and SQL . I was tested on some basic commands of Linux .
Given a string S
, your task is to return all distinct palindromic substrings of the given string in alphabetical order.
A string is considered a pal...
Return all distinct palindromic substrings of a given string in alphabetical order.
Iterate through all possible substrings of the given string.
Check if each substring is a palindrome.
Store distinct palindromic substrings in alphabetical order.
Given two integers a
and b
, your task is to swap these numbers and output the swapped values.
The first line contains a single integer 't', representing the num...
Swap two integers 'a' and 'b' and output the swapped values.
Create a temporary variable to store one of the integers before swapping.
Swap the values of 'a' and 'b' using the temporary variable.
Output the swapped values of 'a' and 'b'.
Normalization is the process of organizing data in a database to reduce redundancy and improve data integrity, while denormalization is the process of intentionally adding redundancy to improve query performance.
Normalization involves breaking down a table into smaller tables and defining relationships between them to reduce redundancy and dependency.
Denormalization involves combining tables or adding redundant data to...
Round duration - 60 Minutes
Round difficulty - Medium
This was a DS/Algo + Core round where I was asked questions related to DBMS , SQL queries and Linux Commands . The first question was of DSA and I was able to code it preety fast . I was also asked to execute some SQL queries on my laptop.
Overall , this round went good according to my opinion.
Your task is to determine if two given strings are anagrams of each other. Two strings are considered anagrams if you can rearrange the letters of one string to form the...
Check if two strings are anagrams of each other by comparing their sorted characters.
Sort the characters of both strings and compare them.
Use a dictionary to count the frequency of characters in each string and compare the dictionaries.
Ensure both strings have the same length before proceeding with comparison.
Handle edge cases like empty strings or strings with different lengths.
Use SQL query with GROUP BY and HAVING clause to delete duplicate emails from a database.
Use GROUP BY clause to group emails together
Use HAVING clause to filter out groups with more than one email
Use DELETE statement to remove duplicate emails
DELETE removes specific rows from a table, while TRUNCATE removes all rows and resets auto-increment values.
DELETE is a DML command, while TRUNCATE is a DDL command.
DELETE can be rolled back, while TRUNCATE cannot be rolled back.
DELETE triggers ON DELETE triggers, while TRUNCATE does not trigger any triggers.
DELETE is slower as it maintains logs, while TRUNCATE is faster as it does not maintain logs.
Example: DELETE FRO...
Round duration - 30 Minutes
Round difficulty - Easy
This was a typical HR round with some standard Behavioral questions .
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 appeared for an interview in Oct 2016.
Inheritance is a concept in object-oriented programming where a class inherits properties and behaviors from another class.
Inheritance allows for code reuse and promotes modularity.
The class that is being inherited from is called the superclass or base class.
The class that inherits from the superclass is called the subclass or derived class.
The subclass can access the public and protected members of the superclass.
Inhe...
Regular expressions in PHP are powerful tools for pattern matching and manipulating strings.
Regular expressions are defined using the preg_match() function in PHP.
They are used to search, replace, and validate strings based on specific patterns.
Regex patterns consist of a combination of characters and special symbols.
Modifiers can be added to the pattern to control the matching behavior.
Common regex functions in PHP in...
Polymorphism is the ability of an object to take on many forms. It allows objects of different classes to be treated as the same type.
Polymorphism allows a single interface to be used for different types of objects.
It enables code reusability and flexibility in object-oriented programming.
For example, a parent class 'Animal' can have multiple child classes like 'Dog', 'Cat', and 'Bird'. They can all be treated as 'Anim...
I appeared for an interview in Dec 2016.
Sort the individual digits of a 10 digit number.
Convert the number to a string to access individual digits
Use a sorting algorithm to sort the digits
Convert the sorted digits back to a number
The code for finding the Lowest Common Ancestor (LCA) in a Binary Search Tree (BST).
Start from the root node and compare it with the given two nodes.
If both nodes are smaller than the current node, move to the left subtree.
If both nodes are greater than the current node, move to the right subtree.
If one node is smaller and the other is greater, then the current node is the LCA.
Continue this process until the LCA is fou
A DBMS for managing college faculty, professors, courses, and students.
The DBMS should have tables for faculty, professors, courses, and students.
Each table should have appropriate attributes to store relevant information.
Relationships can be established between tables using foreign keys.
Queries can be used to retrieve information about faculty, professors, courses, and students.
The DBMS can be used to track enrollment
I was actively involved in coding competitions, hackathons, and programming clubs during college.
Participated in coding competitions such as ACM ICPC and Codeforces
Attended hackathons to work on real-world projects and improve problem-solving skills
Joined programming clubs to collaborate with peers and learn new technologies
Yes, I believe in seeking help when stuck in a problem as it leads to faster resolution and learning.
I believe in collaborating with team members to brainstorm solutions
I am not afraid to ask for help from more experienced developers
I utilize online resources like Stack Overflow or documentation when needed
Teamwork is collaborating with others towards a common goal, utilizing each member's strengths and skills.
Collaborating with others towards a common goal
Utilizing each member's strengths and skills
Communicating effectively and openly
Respecting and valuing diverse perspectives
Sharing responsibilities and supporting each other
Celebrating successes as a team
When faced with an unsolvable problem, I break it down, research, seek help, experiment, and iterate until a solution is found.
Break down the problem into smaller, manageable parts
Research and gather information related to the problem
Seek help from colleagues, online communities, or experts
Experiment with different approaches or solutions
Iterate and refine the solution based on feedback and results
In 5 years, I see myself as a senior software developer leading a team of developers on innovative projects.
Leading a team of developers on innovative projects
Senior software developer role
Continuing to learn and grow in the field
I appeared for an interview before Jun 2016.
I am a passionate software developer with experience in Java, Python, and web development.
Experienced in Java, Python, and web development technologies
Strong problem-solving skills
Excellent team player with good communication skills
SAP is a leading software provider with a wide range of products and solutions for businesses.
SAP offers a comprehensive suite of enterprise software solutions for various industries.
Their products are known for their scalability, reliability, and integration capabilities.
SAP has a strong global presence and a large customer base, including many Fortune 500 companies.
Their software helps businesses streamline processes...
SAP is a multinational software corporation that provides enterprise software solutions.
SAP develops and sells software for managing business operations and customer relations.
Their software helps organizations streamline processes, improve efficiency, and make data-driven decisions.
SAP offers a wide range of products, including ERP (Enterprise Resource Planning), CRM (Customer Relationship Management), and SCM (Supply...
I have worked on various projects including a web application for inventory management and a mobile app for task tracking.
Developed a web application using React for inventory management
Created a mobile app using Flutter for task tracking
Implemented RESTful APIs for communication between frontend and backend
Utilized databases like MySQL and MongoDB for data storage
I appeared for an interview before Dec 2020.
Round duration - 60 minutes
Round difficulty - Easy
This was a 60 minute technical round involving questions based on data structures, OOPS concepts, DBMS and projects that I had mentioned in my resume.
Calculate the Nth term in the Fibonacci sequence, where the sequence is defined as follows: F(n) = F(n-1) + F(n-2)
, with initial conditions F(1) = F(2) = 1
.
Calculate the Nth Fibonacci number efficiently using recursion or dynamic programming.
Implement a recursive function to calculate the Nth Fibonacci number.
Use memoization to store previously calculated Fibonacci numbers for efficiency.
Consider using dynamic programming to optimize the solution.
Handle edge cases such as N = 1 or N = 2 separately.
Ensure the solution works efficiently for large values of N (up to 10000).
Operator overloading in OOP allows custom behavior for operators like +, -, *, etc.
Operator overloading is a feature in OOP that allows defining custom behavior for operators
Example: Overloading the + operator to concatenate strings or add two numbers
Example: Overloading the * operator to perform matrix multiplication
Function overloading is when multiple functions have the same name but different parameters or return types.
Allows multiple functions with the same name but different parameters or return types
Helps improve code readability and maintainability
Example: int add(int a, int b) and float add(float a, float b)
C is a procedural programming language while C++ is a multi-paradigm programming language with object-oriented features.
C is a procedural programming language while C++ supports both procedural and object-oriented programming.
C does not support classes and objects while C++ does.
C does not have built-in support for exception handling while C++ does.
C does not have namespaces while C++ does.
C does not have function over
Round duration - 45 minutes
Round difficulty - Easy
HR round that lasted for 45 minutes. Did brainstorming on puzzles and HR asked questions to know more about me.
Tips : During HR, think before you speak, they can catch any word that you speak. Prepare well for aptitude, as they shortlist less people after the test. Ask good questions during the end of the interviews. It might impress them. So prepare for it before going for the interview. Lastly, don’t be nervous, HRs are only trying to make you nervous during the interview as a part of the stress test.
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 appeared for an interview before Dec 2020.
Round duration - 60 minutes
Round difficulty - Medium
This was a 60 minute technical round where the interviewer asked programming based questions and questions on DBMS concepts.
Given an array of 'N' non-negative integers and an integer 'K', your task is to find the maximum elements for each subarray of size 'K'.
The first line contains...
Find the maximum elements for each subarray of size 'K' in an array of non-negative integers.
Iterate through the array and maintain a deque to store the indices of elements in decreasing order.
Pop elements from the deque if they are out of the current window of size 'K'.
The front of the deque will always have the index of the maximum element in the current window.
ACID properties are a set of properties that guarantee the reliability of transactions in database management systems.
Atomicity ensures that either all operations in a transaction are completed successfully or none of them are. For example, transferring money from one account to another should either be completed in full or not at all.
Consistency ensures that the database remains in a consistent state before and after ...
Write-ahead logging is a technique used in DBMS to ensure that changes are recorded in the log before they are applied to the database.
Write-ahead logging ensures that changes are first written to the log file before being applied to the database to maintain data integrity.
It helps in recovering the database in case of a system crash or failure by replaying the log entries to bring the database back to a consistent sta...
Deadlock avoidance schemes are strategies used to prevent deadlocks in a system.
Banker's algorithm: Ensures that the system will never enter an unsafe state by keeping track of available resources and only granting a request if it does not lead to a deadlock.
Wait-die and Wound-wait: Two deadlock prevention schemes used in transaction processing systems to avoid deadlocks by allowing transactions to wait or abort based ...
A clustered index is a type of index that sorts and stores the data rows in the table based on their key values.
Defines the order in which data is physically stored in a table
Only one clustered index per table
Helps in improving the performance of queries that involve range searches or sorting
Example: Clustered index on a table's primary key
Round duration - 60 minutes
Round difficulty - Easy
This was a 60 minute technical round where the interviewer asked data structure based questions, questions on OOPS and OS concepts.
A virtual function in C++ is a function that is declared within a base class and is redefined by a derived class.
Virtual functions allow a function to be overridden in a derived class.
They are used in polymorphism to achieve runtime binding.
The base class function must be declared as virtual for dynamic binding to occur.
Example: virtual void display() = 0; // pure virtual function
malloc() is used to dynamically allocate memory in C, while free() is used to release allocated memory.
malloc() allocates a block of memory of specified size and returns a pointer to the beginning of the block.
free() deallocates the memory previously allocated by malloc() or calloc().
Example: int *ptr = (int*)malloc(5 * sizeof(int)); // Allocates memory for 5 integers
Example: free(ptr); // Deallocates the memory alloca
Structure padding is the concept of adding empty bytes to a structure to align its data members on memory boundaries.
Structure padding is done to optimize memory access and improve performance.
Padding is necessary because most processors require data to be aligned on specific memory boundaries for efficient access.
For example, if a structure contains a char followed by an int, padding may be added after the char to ali
Round duration - 30 minutes
Round difficulty - Easy
HR based round that lasted for 30 minutes. The interviewer asked question to know more about me.
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.
based on 1 interview
Interview experience
Computer Scientist
461
salaries
| ₹20 L/yr - ₹72.9 L/yr |
Technical Consultant
293
salaries
| ₹12.6 L/yr - ₹28 L/yr |
Software Engineer
261
salaries
| ₹8.3 L/yr - ₹32.4 L/yr |
Computer Scientist 2
259
salaries
| ₹29.4 L/yr - ₹101 L/yr |
Senior Technical Consultant
218
salaries
| ₹15.5 L/yr - ₹46 L/yr |
Salesforce
Oracle
Microsoft Corporation
Amazon