i
Practo
Filter interviews by
Magic functions are special methods in PHP that start with __. Autoloading is a way to automatically load classes.
Magic functions are used to handle certain events in PHP, such as object creation or property access.
Autoloading allows PHP to automatically load classes when they are needed, without requiring manual includes.
Magic functions can be used in conjunction with autoloading to dynamically load classes or ha...
Queue can be implemented using two stacks by maintaining the order of elements in the stacks.
Create two stacks, let's call them stack1 and stack2
When an element is enqueued, push it to stack1
When an element is dequeued, pop all elements from stack1 and push them to stack2
Pop the top element from stack2 and return it as the dequeued element
If stack2 is empty, repeat step 3
To get the front element of the queue, peek...
Given three sorted arrays, find common elements.
Create three pointers to traverse each array
Compare the elements at the pointers and move the pointer of the smallest element
If all pointers point to the same element, add it to the result and move all pointers
Repeat until any pointer reaches the end of its array
Check if a number is a power of 2 or not.
A power of 2 has only one bit set in its binary representation.
Use bitwise AND operator to check if the number is a power of 2.
If n is a power of 2, then n & (n-1) will be 0.
Retrieve the 2nd highest and nth highest marks from a student table using SQL queries.
Use the DISTINCT keyword to avoid duplicate marks.
For the 2nd highest marks: SELECT DISTINCT Marks FROM student ORDER BY Marks DESC LIMIT 1 OFFSET 1;
For nth highest marks: SELECT DISTINCT Marks FROM student ORDER BY Marks DESC LIMIT 1 OFFSET n-1; (replace n with the desired number)
Example for 2nd highest: If Marks are 90, 85, 90,...
Left join returns all records from left table and matching records from right table. Full outer join returns all records from both tables.
Left join is used to combine two tables based on a common column.
In left join, all records from the left table are returned along with matching records from the right table.
If there is no match in the right table, NULL values are returned.
Example: SELECT * FROM table1 LEFT JOIN ...
Given an integer N
representing the number of pairs of parentheses, find all the possible combinations of balanced parentheses using the given number of pairs.
Generate all possible combinations of balanced parentheses for a given number of pairs.
Use recursion to generate all possible combinations of balanced parentheses.
Keep track of the number of open and close parentheses used in each combination.
Return the valid combinations as an array of strings.
Design a queue data structure following the FIFO (First In First Out) principle using only stack instances.
Your task is to complete predefined functions to...
Implement a queue using stacks following FIFO principle.
Use two stacks to simulate a queue.
For enQueue operation, push elements onto stack1.
For deQueue operation, if stack2 is empty, pop all elements from stack1 and push onto stack2, then pop from stack2.
For peek operation, if stack2 is empty, pop all elements from stack1 and push onto stack2, then return top of stack2.
For isEmpty operation, check if both stack1 a...
Advantages of OOP include code reusability, modularity, and easier maintenance.
Code reusability: Objects can be reused in different parts of the program, reducing redundancy.
Modularity: OOP allows for breaking down complex problems into smaller, more manageable parts.
Easier maintenance: Changes to one part of the codebase do not necessarily affect other parts, making maintenance easier.
Encapsulation: Data hiding a...
You are given a Binary Tree, and you need to determine the length of the diameter of the tree.
The diameter of a binary tree is the length of the longest path betwee...
The task is to find the diameter of a binary tree, which is the length of the longest path between any two end nodes in the tree.
Traverse the tree to find the longest path between two nodes.
Keep track of the maximum diameter found during traversal.
The diameter may not necessarily pass through the root node.
Consider both left and right subtrees while calculating the diameter.
Example: For input 1 2 3 4 -1 5 6 -1 7 -...
I applied via LinkedIn and was interviewed in Jul 2024. There was 1 interview round.
Coding test based on Binary trees, String Manipulation
I appeared for an interview in Aug 2021.
Round duration - 90 minutes
Round difficulty - Medium
This round had 3 coding questions of Medium to Hard level of difficulty.
Given two integer arrays ARR1
and ARR2
of sizes 'N' and 'M' respectively, find the intersection of these arrays. The intersection is defined as the se...
Find the intersection of two unsorted arrays while maintaining the order of elements from the first array.
Iterate through the elements of the first array and check if they exist in the second array.
Use a hash set to keep track of elements already seen in the second array for efficient lookup.
Maintain the order of elements from the first array while finding the intersection.
Handle duplicate elements in both arrays appro...
Given an infinite supply of coins of varying denominations, determine the total number of ways to make change for a specified value using these coins. If it's not possible to make...
The task is to determine the total number of ways to make change for a specified value using given denominations.
Create a function that takes in the number of denominations, the denominations array, and the value to make change for as input
Use dynamic programming to iterate through all possible combinations of coins to make the specified value
Keep track of the number of ways to make change for each value from 0 to the ...
Given a string S
of length L
, determine the length of the longest substring that contains no repeating characters.
"abac...
Find the length of the longest substring without repeating characters in a given string.
Use a sliding window approach to keep track of the longest substring without repeating characters.
Use a hashmap to store the index of each character in the string.
Update the start index of the window when a repeating character is encountered.
Calculate the maximum length of the substring as you iterate through the string.
Round duration - 60 minutes
Round difficulty - Medium
This round started with 2 coding questions and then moved on to some more questions from OOPS.
You are provided with a singly linked list of integers. Your task is to determine whether the given singly linked list is a palindrome. Return true
if it is a pali...
Check if a given singly linked list is a palindrome or not.
Traverse the linked list to find the middle element using slow and fast pointers.
Reverse the second half of the linked list.
Compare the first half with the reversed second half to determine if it's a palindrome.
Given a sorted array that has been rotated, the task is to find the index of a specific element. The array is initially sorted in ascending order and then rotated ...
Search for an element in a rotated sorted array efficiently in O(logN) time complexity.
Implement binary search to find the pivot point where rotation occurs.
Divide the array into two subarrays and perform binary search on the appropriate subarray.
Handle cases where the element may be in the left or right subarray after rotation.
Return the index of the element if found, else return -1.
A static variable in C is a variable that retains its value between function calls.
Declared using the 'static' keyword
Retains its value throughout the program's execution
Useful for maintaining state across function calls
Abstraction is hiding the implementation details while inheritance is a mechanism for creating new classes using existing classes.
Abstraction focuses on hiding the internal implementation details of a class, allowing the user to only interact with the necessary information.
Inheritance allows a class to inherit properties and behavior from another class, promoting code reusability and creating a hierarchy of classes.
Abs...
Round duration - 60 minutes
Round difficulty - Medium
This round had questions mainly from HTML,CSS and JavaScript as I had mentioned some Frontend Projects in my resume so the interviewer wanted to check my skills on those. He also asked me some SQL queries and a simple coding question towards the end of the interview.
Event bubbling is the process where an event triggered on a child element is propagated up through its parent elements.
In event bubbling, when an event occurs on a child element, it first runs the event handlers on the child element, then on its parent, then all the way up to the top level of the DOM.
Event bubbling allows for delegation of event handling to a parent element, reducing the number of event listeners neede...
Optimizing website asset loading involves minimizing file sizes, reducing HTTP requests, utilizing caching, and prioritizing critical resources.
Minimize file sizes by compressing images, scripts, and stylesheets.
Reduce HTTP requests by combining files, using sprites, and lazy loading non-essential resources.
Utilize browser caching to store static assets locally for faster subsequent page loads.
Prioritize critical resou...
There are multiple ways to display HTML elements, including inline, block, inline-block, and flex.
HTML elements can be displayed as inline, which allows them to flow with surrounding content.
Block elements take up the full width available and start on a new line.
Inline-block elements are displayed as blocks, but flow like inline elements.
Flexbox allows for more advanced layout options, such as aligning items and distri...
Anagrams are words or names that can be formed by rearranging the letters of another word. For instance, 'spar' can be rearranged to form 'rasp', making them anagrams.
Check if two strings are anagrams by rearranging their letters.
Create a frequency map of characters for both strings
Compare the frequency maps to check if they are equal
Return True if the frequency maps are equal, else False
Round duration - 30 minutes
Round difficulty - Easy
This is a cultural fitment testing round. HR was very frank and asked standard questions. Then we discussed about my role.
I bring a unique blend of technical skills, problem-solving abilities, and a passion for innovation that aligns with your team's goals.
Proven experience in developing scalable applications, such as a recent project where I improved load times by 30%.
Strong proficiency in multiple programming languages, including Python and Java, which allows me to adapt to your tech stack quickly.
Excellent teamwork and communication sk...
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.
Queue can be implemented using two stacks by maintaining the order of elements in the stacks.
Create two stacks, let's call them stack1 and stack2
When an element is enqueued, push it to stack1
When an element is dequeued, pop all elements from stack1 and push them to stack2
Pop the top element from stack2 and return it as the dequeued element
If stack2 is empty, repeat step 3
To get the front element of the queue, peek the ...
Retrieve the 2nd highest and nth highest marks from a student table using SQL queries.
Use the DISTINCT keyword to avoid duplicate marks.
For the 2nd highest marks: SELECT DISTINCT Marks FROM student ORDER BY Marks DESC LIMIT 1 OFFSET 1;
For nth highest marks: SELECT DISTINCT Marks FROM student ORDER BY Marks DESC LIMIT 1 OFFSET n-1; (replace n with the desired number)
Example for 2nd highest: If Marks are 90, 85, 90, 80, ...
Left join returns all records from left table and matching records from right table. Full outer join returns all records from both tables.
Left join is used to combine two tables based on a common column.
In left join, all records from the left table are returned along with matching records from the right table.
If there is no match in the right table, NULL values are returned.
Example: SELECT * FROM table1 LEFT JOIN table...
Magic functions are special methods in PHP that start with __. Autoloading is a way to automatically load classes.
Magic functions are used to handle certain events in PHP, such as object creation or property access.
Autoloading allows PHP to automatically load classes when they are needed, without requiring manual includes.
Magic functions can be used in conjunction with autoloading to dynamically load classes or handle ...
Given three sorted arrays, find common elements.
Create three pointers to traverse each array
Compare the elements at the pointers and move the pointer of the smallest element
If all pointers point to the same element, add it to the result and move all pointers
Repeat until any pointer reaches the end of its array
Check if a number is a power of 2 or not.
A power of 2 has only one bit set in its binary representation.
Use bitwise AND operator to check if the number is a power of 2.
If n is a power of 2, then n & (n-1) will be 0.
Event bubbling is the propagation of an event from the innermost child element to the outermost parent element.
Events triggered on a child element will also trigger on its parent elements
The event travels up the DOM tree until it reaches the document object
Can be stopped using event.stopPropagation()
Can be useful for event delegation
The .on('click',function() is a more flexible method than .click(function())
The .on() method can handle multiple events and selectors
The .click() method can only handle one event and one selector
The .on() method can also handle dynamically added elements
The .click() method cannot handle dynamically added elements
Function to check if two strings are anagram or not
Create two character arrays from the strings
Sort the arrays
Compare the sorted arrays
Function to determine the order of integers in an array.
Check first and last element to determine if increasing or decreasing
Check for inflection point to determine if order changes
Return order type as string
Optimize images, minify code, reduce HTTP requests, use caching, and lazy loading.
Optimize images using compression and appropriate file formats
Minify code to reduce file size and improve load times
Reduce HTTP requests by combining files and using sprites
Use caching to store frequently accessed data locally
Implement lazy loading to defer loading of non-critical resources
Design a database schema for a movie site with user ratings and recommendations.
Create tables for movies, users, ratings, and recommendations
Use foreign keys to link tables
Include columns for movie genre and user watch history
Algorithm for recommendations can use user watch history and ratings to suggest similar movies
Using a coin toss function, we can generate random binary outcomes for various applications in programming.
The toss() function simulates a fair coin toss, returning 'head' or 'tail'.
It can be used in games to make random decisions, like choosing a player to start.
In algorithms, it can help in randomized algorithms, such as quicksort.
Example: If toss() returns 'head', you might proceed with one branch of logic; if 'tail...
Function to simulate dice roll with equal probability without using random function
Use a toss function that returns either 0 or 1 with equal probability
Call the toss function 3 times and convert the result to a binary number
If the binary number is greater than 0 and less than or equal to 6, return it
If the binary number is greater than 6, repeat the process
Query to fetch duplicate email from table
Use GROUP BY and HAVING clause to filter out duplicates
SELECT email, COUNT(*) FROM table_name GROUP BY email HAVING COUNT(*) > 1;
This will return all the duplicate emails in the table
I appeared for an interview before Apr 2021.
Round duration - 90 minutes
Round difficulty - Medium
This round had 3 coding questions of Medium to Hard level of difficulty.
Given an integer N
representing the number of pairs of parentheses, find all the possible combinations of balanced parentheses using the given number of pairs.
Generate all possible combinations of balanced parentheses for a given number of pairs.
Use recursion to generate all possible combinations of balanced parentheses.
Keep track of the number of open and close parentheses used in each combination.
Return the valid combinations as an array of strings.
You are given a long type array/list ARR
of size N
, representing an elevation map. The value ARR[i]
denotes the elevation of the ith
bar. Your task is to determine th...
Calculate the total amount of rainwater that can be trapped between given elevations in an array.
Iterate through the array and calculate the maximum height on the left and right of each bar.
Calculate the amount of water that can be trapped at each bar by taking the minimum of the maximum heights on the left and right.
Sum up the trapped water at each bar to get the total trapped water for the entire array.
You are given a grid containing oranges where each cell of the grid can contain one of the three integer values:
Find the minimum time required to rot all fresh oranges adjacent to rotten oranges.
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 fresh oranges and return -1 if not all fresh oranges can be rotten.
Update the grid with the new state of oranges after each second.
Handle edge cases such as empty grid or no fresh oranges present.
Example...
Round duration - 60 Minutes
Round difficulty - Medium
This was a standard DS/Algo round where I was given 2 questions to solve under 60 minutes. I was able to come up with the optimal approach for both the questions and then at the end of the interview I was also asked the famous Die Hard Water Puzzle.
Design a queue data structure following the FIFO (First In First Out) principle using only stack instances.
Your task is to complete predefined functions t...
Implement a queue using stacks following FIFO principle.
Use two stacks to simulate a queue.
For enQueue operation, push elements onto stack1.
For deQueue operation, if stack2 is empty, pop all elements from stack1 and push onto stack2, then pop from stack2.
For peek operation, if stack2 is empty, pop all elements from stack1 and push onto stack2, then return top of stack2.
For isEmpty operation, check if both stack1 and st...
You are provided with 'N' intervals, each containing two integers denoting the start time and end time of the interval.
Your task is to merge all overlapping intervals a...
Merge overlapping intervals and return sorted list of merged intervals by start time.
Sort the intervals based on start time.
Iterate through intervals and merge overlapping ones.
Return the merged intervals in sorted order.
Round duration - 60 Minutes
Round difficulty - Medium
This round had 2 coding questions - first one related to Binary Tree and the second one was a simple question from Bit Manipulation. This was followed by some questions from OOPS.
You are given a Binary Tree, and you need to determine the length of the diameter of the tree.
The diameter of a binary tree is the length of the longest path betwe...
The task is to find the diameter of a binary tree, which is the length of the longest path between any two end nodes in the tree.
Traverse the tree to find the longest path between two nodes.
Keep track of the maximum diameter found during traversal.
The diameter may not necessarily pass through the root node.
Consider both left and right subtrees while calculating the diameter.
Example: For input 1 2 3 4 -1 5 6 -1 7 -1 -1 ...
Determine if it is possible to reorder the digits of a given integer 'N' such that the resulting number is a power of two. The leading digit must not be zero.
The fir...
The problem involves determining if it is possible to reorder the digits of a given integer to form a power of 2.
Iterate through all possible permutations of the digits of the given integer.
Check if any of the permutations form a power of 2.
Return 1 if a valid permutation is found, else return 0.
Advantages of OOP include code reusability, modularity, and easier maintenance.
Code reusability: Objects can be reused in different parts of the program, reducing redundancy.
Modularity: OOP allows for breaking down complex problems into smaller, more manageable parts.
Easier maintenance: Changes to one part of the codebase do not necessarily affect other parts, making maintenance easier.
Encapsulation: Data hiding and ab...
Access specifiers define the level of access to class members in Object-Oriented Programming.
Access specifiers include public, private, protected, and default
Public members are accessible from outside the class
Private members are only accessible within the class
Protected members are accessible within the class and its subclasses
Default access is when no access specifier is specified
Round duration - 30 Minutes
Round difficulty - Easy
This was my last round and I hoped it to go good just like the other rounds. The interviewer was very straight to point
and professional. The interview lasted for 30 minutes.
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.
Top trending discussions
I appeared for an interview in Jan 2016.
To find the right view of a binary tree, we need to traverse the tree and keep track of the rightmost node at each level.
Traverse the tree using level order traversal
At each level, keep track of the rightmost node
Add the rightmost node to the result array
Return the result array
Find two missing numbers from an unsorted array in O(n) time complexity.
Calculate the sum of all numbers from 1 to n using the formula n*(n+1)/2
Calculate the sum of all numbers in the given array
Subtract the sum of array from the sum of all numbers to get the sum of missing numbers
Use the sum of missing numbers and the sum of squares of all numbers from 1 to n to calculate the missing numbers using simultaneous equatio...
To find average salary without disclosing any one salary
Collect salaries of all employees
Add all salaries and divide by total number of employees
Do not disclose any individual salary
Divide a golden brick into minimum parts to pay daily salary to a worker.
The number of parts needed will depend on the daily salary of the worker.
The size of the parts should be equal.
The parts should be small enough to cover the daily salary but large enough to minimize the number of parts.
The formula to calculate the number of parts is: number of parts = total value of the golden brick / daily salary
I appeared for an interview before Feb 2021.
Round duration - 60 minutes
Round difficulty - Easy
It comprised of general aptitude questions and two coding questions. It was an offline test.
Given an integer N
, find all possible placements of N
queens on an N x N
chessboard such that no two queens threaten each other.
A queen can attack another queen if they ar...
The N Queens Problem involves finding all possible placements of N queens on an N x N chessboard where no two queens threaten each other.
Use backtracking algorithm to explore all possible configurations.
Keep track of rows, columns, and diagonals to ensure queens do not attack each other.
Generate and print valid configurations where queens are placed safely.
Consider constraints and time limit for efficient solution.
Exam...
Given an integer array arr
of size 'N' containing only 0s, 1s, and 2s, write an algorithm to sort the array.
The first line contains an integer 'T' representing the n...
Sort an integer array containing only 0s, 1s, and 2s in linear time complexity.
Use three pointers to keep track of the positions of 0s, 1s, and 2s in the array.
Iterate through the array and swap elements based on the values encountered.
Achieve sorting in a single scan over the array without using any extra space.
Round duration - 60 minutes
Round difficulty - Easy
After having a technical discussion about my CV. He gave me two questions to code.
Ninja has to determine all the distinct substrings of size two that can be formed from a given string 'STR' comprising only lowercase alphabetic characters. These su...
Find all unique contiguous substrings of size two from a given string.
Iterate through the string and extract substrings of size two
Use a set to store unique substrings
Return the set as an array of strings
Determine if a given singly linked list of integers forms a cycle or not.
A cycle in a linked list occurs when a node's next
points back to a previous node in the ...
Detect if a singly linked list forms a cycle by checking if a node's next points back to a previous node.
Traverse the linked list using two pointers, one moving one step at a time and the other moving two steps at a time.
If the two pointers meet at any point, there is a cycle in the linked list.
If one of the pointers reaches the end of the list (null), there is no cycle.
Round duration - 30 minutes
Round difficulty - Easy
This was supposed to be the HR round but out of surprise the interviewer started by giving me a question to code.
After I approached this question with the right solution he just asked about my family. After that he said to wait. After half an hour the results were announced. A total of three students were hired and I was amongst one of them.
Given an integer N
representing the number of pairs of parentheses, find all the possible combinations of balanced parentheses using the given number of pairs.
Generate all possible combinations of balanced parentheses for a given number of pairs.
Use recursion to generate all possible combinations of balanced parentheses.
Keep track of the number of open and close parentheses used in each combination.
Return the valid combinations as an array of strings.
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 applied via Campus Placement and was interviewed before Oct 2019. There were 4 interview rounds.
Twitter system design involves multiple components such as servers, databases, caching, and APIs.
Use sharding to distribute data across multiple servers
Implement caching to reduce database load
Use message queues for handling high traffic
Implement APIs for user authentication and data retrieval
Use load balancers to distribute traffic evenly
Implement a search engine for efficient search functionality
The minimum number of platforms needed to avoid train crashes based on arrival and departure times.
Sort the arrival and departure arrays in ascending order.
Initialize a variable to keep track of the maximum number of platforms needed.
Iterate through the arrival and departure arrays simultaneously.
If the current arrival time is less than or equal to the current departure time, increment the platform count.
If the current...
Some of the top questions asked at the Practo Software Developer interview -
based on 1 interview experience
Difficulty level
Duration
based on 3 reviews
Rating in categories
Business Development Manager
245
salaries
| ₹4 L/yr - ₹8.3 L/yr |
Product Support Specialist
118
salaries
| ₹2 L/yr - ₹4.4 L/yr |
Territory Sales Manager
109
salaries
| ₹3 L/yr - ₹10 L/yr |
Team Lead
62
salaries
| ₹5 L/yr - ₹11 L/yr |
Software Engineer2
49
salaries
| ₹17 L/yr - ₹29 L/yr |
Lybrate
Mfine
DocsApp
MagicBricks