


30+ LinkedIn Software Developer Interview Questions and Answers
Q1. Optimal BST Problem Statement
You are given a sorted array representing keys of a BST and an array of frequency counts showing how often each key is searched. Your task is to construct a binary search tree (BST...read more
Construct a BST with minimum search cost based on keys and frequencies.
Create a recursive function to construct the BST by considering all possible root nodes.
Calculate the cost for each possible BST and return the minimum total cost.
Optimize the solution by using dynamic programming to store intermediate results.
Ensure that the keys are sorted and frequencies are provided for each key.
Example: For keys [1, 3, 5] and frequencies [3, 10, 7], the minimum total cost is 30.
Q2. Bit Majority Number Generation
You are given an array arr
consisting of N
integers. Construct a number from these integers such that, for each bit position, if the quantity of set bits (1s) is greater than the ...read more
Generate a number based on majority set bits in given integers array.
Iterate through each bit position and count set and unset bits
Construct the resulting number based on majority set bits at each position
Return the final constructed number
Q3. Counting Triangles in Graphs
Given two graphs – a directed graph DIR_GRAPH
and an undirected graph UNDIR_GRAPH
– you are tasked with counting the number of triangles in each of the graphs.
Example:
In the examp...read more
Count the number of triangles in a directed and undirected graph.
Parse the input to extract vertices, edges, and edges between vertices.
Implement a function to count triangles in both directed and undirected graphs.
Return the counts of triangles for each test case.
Q4. Distance Between Two Nodes in a Binary Tree
Given a binary tree and the values of two distinct nodes, determine the distance between these two nodes in the tree. The distance is defined as the minimum number of...read more
Calculate the distance between two nodes in a binary tree.
Traverse the tree to find the paths from the root to each node
Find the lowest common ancestor of the two nodes
Calculate the distance by adding the distances from each node to the common ancestor
Q5. Stock Trading Maximum Profit Problem
Given the stock prices for 'N' days, your goal is to determine the maximum profit that can be achieved. You can buy and sell the stocks any number of times but can only hold...read more
The goal is to determine the maximum profit that can be achieved by buying and selling stocks on different days.
Iterate through the stock prices and buy on days when the price is lower than the next day, and sell on days when the price is higher than the next day.
Calculate the profit by summing up the differences between buying and selling prices.
Repeat the process for each test case and output the maximum profit possible for each case.
Q6. Find The Repeating And Missing Number Problem Statement
You are provided with an array nums
which contains the first N positive integers. In this array, one integer appears twice, and one integer is missing. Yo...read more
Identify the repeating and missing number in an array of first N positive integers.
Iterate through the array and keep track of the sum of elements and sum of squares to find the missing and repeating numbers.
Use a set to identify the repeating number and calculate the missing number using the sum formula.
Handle multiple test cases by looping through each case and applying the same logic.
Example: For nums = [1, 2, 3, 4, 4, 5], the repeating number is 4 and the missing number i...read more
Q7. Number of Distinct Substrings Problem Statement
Given a string WORD
containing lowercase English alphabets and having length N
, determine the number of distinct substrings in WORD
.
Input:
The first line include...read more
Count the number of distinct substrings in a given string.
Iterate through all possible substrings and store them in a set to avoid duplicates.
Use nested loops to generate all substrings efficiently.
Consider using a hash set to store unique substrings.
Example: For input 'abcd', generate substrings 'a', 'ab', 'abc', 'abcd', 'b', 'bc', 'bcd', 'c', 'cd', 'd'.
Q8. Ninja's Complement Problem Statement
Every day, Ninja dreams of a number but does not understand its significance. Upon investigation, Ninja discovers that converting this number to binary, taking its complemen...read more
Convert a number to binary, take its complement, and convert back to decimal.
Convert the given number to binary representation
Take the complement of the binary number by swapping '1's and '0's
Convert the complement back to decimal representation
Return the complement number for each test case
Q9. Sum of Digits Problem Statement
Given an integer 'N', continue summing its digits until the result is a single-digit number. Your task is to determine the final value of 'N' after applying this operation iterat...read more
Given an integer, sum its digits until a single-digit number is obtained.
Iteratively sum the digits of the integer until a single-digit number is reached
Output the final single-digit integer for each test case
Handle multiple test cases efficiently
Q10. Count Ways to Reach the N-th Stair Problem Statement
You are provided with a number of stairs, and initially, you are located at the 0th stair. You need to reach the Nth stair, and you can climb one or two step...read more
The problem involves finding the number of distinct ways to climb to the Nth stair by taking one or two steps at a time.
Use dynamic programming to solve the problem efficiently.
The number of ways to reach the Nth stair is the sum of the number of ways to reach the (N-1)th stair and the (N-2)th stair.
Handle base cases for N=0 and N=1 separately.
Consider using modulo 10^9+7 to avoid overflow in calculations.
Q11. Optimal Strategy for a Coin Game
You are playing a coin game with your friend Ninjax. There are N
coins placed in a straight line.
Here are the rules of the game:
1. Each coin has a value associated with it.
2....read more
The problem involves finding the optimal strategy to accumulate the maximum amount in a coin game with specific rules.
Start by understanding the rules of the game and how players take turns to choose coins.
Consider the scenario where both players play optimally to maximize winnings.
Iterate through different strategies to determine the best approach for selecting coins.
Keep track of the total winnings accumulated by each player and choose coins accordingly.
The output should be...read more
Q12. Validate Binary Search Tree (BST)
You are given a binary tree with 'N' integer nodes. Your task is to determine whether this binary tree is a Binary Search Tree (BST).
BST Definition:
A Binary Search Tree (BST)...read more
Validate if a given binary tree is a Binary Search Tree (BST) or not.
Check if the left subtree of a node contains only nodes with data less than the node's data.
Check if the right subtree of a node contains only nodes with data greater than the node's data.
Recursively check if both the left and right subtrees are also binary search trees.
Q13. Ninja and Sorted Array Merging Problem
Ninja is tasked with merging two given sorted integer arrays ARR1
and ARR2
of sizes 'M' and 'N', respectively, such that the merged result is a single sorted array within ...read more
Merge two sorted arrays into one sorted array in place.
Use two pointers to compare elements from both arrays and place them in the correct position in ARR1.
Start from the end of ARR1 and compare elements from both arrays, placing the larger element at the end of ARR1.
Continue this process until all elements from ARR2 are merged into ARR1.
Q14. Find Distinct Palindromic Substrings
Given a string 'S', identify and print all distinct palindromic substrings within it. A palindrome reads the same forwards and backwards. For example, 'bccb' is a palindrome...read more
Find and print all distinct palindromic substrings in a given string.
Iterate through all possible substrings of the input string.
Check if each substring is a palindrome.
Store distinct palindromic substrings in a set to avoid duplicates.
Sort the set of palindromic substrings and print them space-separated.
Q15. Decode Ways Problem Statement
Given a string strNum
that represents a number, the task is to determine the number of ways to decode it using the following encoding: 'A' - 1, 'B' - 2, ..., 'Z' - 26.
Input:
The f...read more
The task is to determine the number of ways to decode a given number string using a specific encoding.
Use dynamic programming to solve the problem efficiently.
Consider different cases like single digit decoding, double digit decoding, and invalid cases.
Handle edge cases like leading zeros and empty string inputs.
Implement a recursive function with memoization to avoid redundant calculations.
Q16. Number of Islands Problem Statement
You are given a non-empty grid that consists of only 0s and 1s. Your task is to determine the number of islands in this grid.
An island is defined as a group of 1s (represent...read more
Count the number of islands in a grid of 0s and 1s connected horizontally, vertically, or diagonally.
Iterate through the grid and perform depth-first search (DFS) to mark visited land cells as water.
Increment the island count each time a new island is encountered during DFS.
Consider all adjacent cells (horizontally, vertically, and diagonally) while exploring the island.
Ensure to handle boundary conditions and check for valid land cells during DFS.
Return the total count of is...read more
Q17. Longest Palindromic Subsequence Problem Statement
Given a string A
consisting of lowercase English letters, determine the length of the longest palindromic subsequence within A
.
Explanation:
- A subsequence is d...read more
Find the length of the longest palindromic subsequence in a given string of lowercase English letters.
Use dynamic programming to solve this problem efficiently.
Create a 2D array to store the lengths of palindromic subsequences for different substrings.
Fill the array diagonally based on the characters in the string.
Return the length of the longest palindromic subsequence for each test case.
Q18. Stack with getMin Operation
Create a stack data structure that supports not only the usual push and pop operations but also getMin(), which retrieves the minimum element, all in O(1) time complexity without usi...read more
Implement a stack with push, pop, top, isEmpty, and getMin operations in O(1) time complexity without using extra space for storing additional stack data structures.
Use two stacks - one to store the actual elements and another to store the minimum element at each level of the main stack.
When pushing an element, compare it with the current minimum and update the minimum stack accordingly.
For getMin operation, simply return the top element of the minimum stack.
Ensure all operat...read more
Q19. Generate All Parentheses Combinations
Given an integer N
, your task is to create all possible valid parentheses configurations that are well-formed using N
pairs. A sequence of parentheses is considered well-fo...read more
Generate all possible valid parentheses configurations using N pairs.
Use backtracking to generate all possible combinations of parentheses.
Keep track of the number of open and close parentheses used.
Add '(' if there are remaining open parentheses, and add ')' if there are remaining close parentheses.
Base case: when the length of the generated string is 2*N, add it to the result array.
Q20. Word Distance Calculation
Given a document represented as an array/list ARR
of words with length N
, find the smallest distance between two given words for multiple queries. The distance is defined as the differ...read more
Find the smallest distance between two words in a document for multiple queries.
Iterate through the document array to find the indices of the two words in each query.
Calculate the absolute difference between the indices to get the distance.
If a word from the query is not present in the document, return the length of the document array.
Repeat the process for each query and output the smallest distance for each.
Q21. Level Order Traversal Problem Statement
Given a binary tree of integers, return the level order traversal of the binary tree.
Input:
The first line contains an integer 'T', representing the number of test cases...read more
The problem requires implementing a function to return the level order traversal of a binary tree.
Implement a function that takes the root of the binary tree as input and returns the level order traversal of the tree.
Use a queue data structure to perform level order traversal.
Process each level of the tree one by one, starting from the root node.
Print the node values at each level in the order they appear from left to right.
Handle null nodes represented by -1 in the input.
Q22. Binary Tree to Doubly Linked List
Transform a given Binary Tree into a Doubly Linked List.
Ensure that the nodes in the Doubly Linked List follow the Inorder Traversal of the Binary Tree.
Input:
The first line ...read more
Convert a Binary Tree into a Doubly Linked List following Inorder Traversal.
Perform Inorder Traversal of the Binary Tree to get the nodes in order.
Create a Doubly Linked List by linking the nodes in the order obtained from Inorder Traversal.
Return the head of the Doubly Linked List as the output.
Q23. Serialize and Deserialize Binary Tree Problem Statement
Given a binary tree of integers, your task is to implement serialization and deserialization methods. You can choose any algorithm for serialization and d...read more
Implement serialization and deserialization methods for a binary tree of integers.
Use any algorithm for serialization and deserialization.
Ensure the serialized string can be correctly decoded back to form the original binary tree.
Nodes are separated by spaces, and -1 is used to depict a null node.
Output the level order traversal of the deserialized binary tree with nodes separated by single spaces.
Q24. Shuffle Two Strings
You are provided with three strings: A
, B
, and C
. Your task is to determine if C
is formed by interleaving A
and B
. A string C
is considered an interleaving of A
and B
if:
- The length of
C
i...read more
Determine if a string C is formed by interleaving two strings A and B.
Check if the length of C is equal to the sum of lengths of A and B.
Ensure all characters of A and B are present in C.
Verify that the order of characters in C matches the order in A and B.
Q25. Combination Sum Problem Statement
Given an array of distinct positive integers ARR
and a non-negative integer 'B', find all unique combinations in the array where the sum is equal to 'B'. Numbers can be chosen ...read more
Find all unique combinations in an array where the sum is equal to a given target sum, with elements in non-decreasing order.
Use backtracking to generate all possible combinations.
Sort the array to ensure elements are in non-decreasing order.
Track the current combination and sum while backtracking.
Terminate recursion when the sum equals the target sum.
Avoid duplicates by skipping elements that have been used in previous combinations.
Q26. Palindrome Permutation - Problem Statement
Determine if a permutation of a given string S
can form a palindrome.
Example:
Input:
string S = "aab"
Output:
"True"
Explanation:
The permutation "aba" of the string ...read more
Check if a permutation of a string can form a palindrome.
Create a frequency map of characters in the string.
Count the number of characters with odd frequencies.
If there is at most one character with an odd frequency, return true.
Otherwise, return false.
ps displays a snapshot of current processes, while top provides real-time information and allows for interactive management.
ps displays a static list of processes, while top continuously updates the list
top allows for interactive management of processes (e.g. killing, renicing), while ps does not
ps is useful for a quick snapshot of processes, while top is useful for monitoring real-time system activity
The command to kill all running Java processes is 'pkill -f java'
Use the 'pkill' command followed by the '-f' flag and 'java' keyword to kill all Java processes
Be cautious when using this command as it will terminate all running Java processes
Make sure to have the necessary permissions to kill processes on the system
OOP allows for code reusability, modularity, and easier maintenance.
Encapsulation: Bundling data and methods together to protect data from outside interference.
Inheritance: Allows for the creation of new classes based on existing classes, promoting code reuse.
Polymorphism: Objects can be treated as instances of their parent class, allowing for flexibility and extensibility.
Modularity: Breaking down a program into smaller, manageable parts, making it easier to maintain and upd...read more
I am familiar with testing frameworks such as JUnit, Selenium, and TestNG.
JUnit
Selenium
TestNG
JSON is a lightweight data interchange format that is easy for humans to read and write and easy for machines to parse and generate.
JSON is based on key-value pairs, where keys are always strings enclosed in double quotes.
Data is organized in a hierarchical structure using objects and arrays.
Example: {"name": "John", "age": 30}
Example: [{"name": "Alice", "age": 25}, {"name": "Bob", "age": 35}]
The best protocol for storing images is JPEG (Joint Photographic Experts Group).
JPEG is a widely used format for storing images due to its high compression ratio and good image quality.
It supports millions of colors and is compatible with most devices and software.
Other options include PNG (Portable Network Graphics) for lossless compression and GIF (Graphics Interchange Format) for animations.
Design a system for a traffic enforcement camera.
1. Install cameras at strategic locations to monitor traffic violations.
2. Use image recognition software to detect violations such as speeding or running red lights.
3. Store captured images and violation data in a secure database.
4. Generate automated tickets and send them to violators.
5. Implement a user interface for law enforcement to review violations and approve tickets.
Prevent SQL injection by using parameterized queries, input validation, and escaping user input.
Use parameterized queries to separate SQL code from user input.
Validate and sanitize user input to prevent malicious code injection.
Escape special characters in user input before executing SQL queries.
Using a map-based design to check for isomorphic words in a file.
Create a map where the key is the sorted characters of a word and the value is a list of words with the same sorted characters.
Iterate through the file, for each word, sort its characters and check if it exists in the map. If it does, add the word to the list. If not, create a new entry in the map.
After processing the file, iterate through the map and output the lists of isomorphic words.
Cross-site scripting (XSS) is a type of security vulnerability that allows attackers to inject malicious scripts into web pages viewed by other users.
XSS occurs when a web application allows users to input unvalidated data that is then displayed on the page without proper encoding.
There are three main types of XSS: stored XSS, reflected XSS, and DOM-based XSS.
An example of XSS is when a user inputs a script into a search bar, and the script is executed when another user views...read more
Interview Process at LinkedIn Software Developer

Top Software Developer Interview Questions from Similar Companies








Reviews
Interviews
Salaries
Users/Month

