Full Stack Engineer
40+ Full Stack Engineer Interview Questions and Answers
Q1. Find All Subsets
Given an array arr
consisting of 'N' distinct integers, your task is to generate all possible non-empty subsets of the given array.
You can return the subsets in any order.
Input:
The first lin...read more
Generate all possible non-empty subsets of a given array of distinct integers.
Use recursion to generate all subsets by including or excluding each element in the array.
Maintain a current subset and iterate through the array to generate subsets.
Print each subset as it is generated to get all possible non-empty subsets.
Q2. 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
The task is to find the length of the longest palindromic subsequence in a given string.
Iterate through the string and create a 2D array to store the lengths of palindromic subsequences.
Use dynamic programming to fill the array based on the characters in the string.
Consider the cases where characters match or do not match to update the array values.
Return the length of the longest palindromic subsequence for each test case.
Full Stack Engineer Interview Questions and Answers for Freshers
Q3. Word Pattern Problem Statement
Given two strings S
and T
, determine if S
follows the same pattern as T
.
A full match means there is a bijection between a letter of T
and a non-empty word of S
.
Example:
Input:
S...read more
Check if two strings follow the same pattern based on bijection between letters and words.
Iterate through each letter in T and corresponding word in S to create a mapping.
Use a hashmap to store the mapping between letters and words.
Check if the mapping is consistent for all test cases.
Q4. Reverse Linked List Problem Statement
Given a singly linked list of integers, return the head of the reversed linked list.
Example:
Initial linked list: 1 -> 2 -> 3 -> 4 -> NULL
Reversed linked list: 4 -> 3 -> 2...read more
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 current, previous, and next nodes while traversing the linked list.
Update the head of the reversed linked list to be the last node encountered.
Ensure to handle edge cases like an empty linked list or a single node in the list.
Q5. Next Smallest Palindrome Problem Statement
Given a string representation of a number 'S', determine the smallest palindrome that is strictly greater than this number 'N'.
Example:
Input:
3
2
99
3
123
4
4567
Output:
1...read more
The task is to find the smallest palindrome greater than a given number.
Iterate from the middle of the number and mirror the left side to form the palindrome.
Handle cases where the number is already a palindrome or has all 9s.
Consider odd and even length numbers separately.
Convert the string to integer for comparison and manipulation.
Q6. 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
Implement a function to return the level order traversal of a binary tree of integers.
Create a queue to store nodes for level order traversal
Start with the root node and enqueue it
While the queue is not empty, dequeue a node, print its value, and enqueue its children
Repeat until all nodes are traversed
Share interview questions and help millions of jobseekers 🌟
Q7. Maximum Size Rectangle Sub-matrix with All 1's Problem Statement
You are provided with an N * M
sized binary matrix 'MAT' where 'N' denotes the number of rows and 'M' denotes the number of columns. Your task is...read more
The task is to find the maximum size of a submatrix consisting of all 1's in a given binary-valued matrix.
Iterate through each cell of the matrix
For each cell, calculate the maximum size of a submatrix with that cell as the top-left corner
Keep track of the maximum size encountered so far
Return the maximum size
Q8. Count Subarrays with Sum Divisible by K
Given an array ARR
and an integer K
, your task is to count all subarrays whose sum is divisible by the given integer K
.
Input:
The first line of input contains an integer...read more
Count the number of subarrays in an array whose sum is divisible by a given integer K.
Iterate through the array and keep track of the running sum modulo K.
Use a hashmap to store the frequency of remainders.
For each prefix sum, check how many previous prefix sums have the same remainder.
Return the total count of subarrays with sum divisible by K.
Full Stack Engineer Jobs
Q9. Smaller Elements Count Problem Statement
Given an array of size N
, return a count array such that COUNT[i]
equals the number of elements which are smaller than ARR[i]
on its right side.
Input:
Input Format:
The...read more
Return an array where each element represents the count of smaller elements on its right side in the given array.
Iterate through the array from right to left and maintain a sorted list of elements encountered so far.
For each element, find its index in the sorted list to determine the count of smaller elements on its right side.
Use binary search or segment trees for efficient searching and updating of the sorted list.
Q10. Count the Number of Ones Problem Statement
Given an integer N
, calculate the total number of times the digit '1' appears in each number from 0 to N inclusive.
Input:
T (number of test cases)
Each test case conta...read more
The task is to count the number of occurrences of the digit '1' in each number from 0 to N.
Iterate through each number from 0 to N
Convert each number to a string
Count the number of occurrences of the digit '1' in the string representation of each number
Return the total count of '1's
Q11. Next Greater Node in Linked List Problem Statement
In a set of linked ninja villages, the goal is to determine if a stronger ninja exists in the nearest village linked ahead. Given a linked list of 'N' integers...read more
Given a linked list of ninja villages, find the next greater ninja strength in the nearest linked village.
Traverse the linked list and store the elements in an array.
Use a stack to keep track of elements with no next greater element found yet.
Iterate through the array to find the next greater element for each village.
Return the array of next greater elements for each village.
Q12. Minimum Operations to Equalize Array
Given an integer array ARR
of length N
where ARR[i] = (2*i + 1)
, determine the minimum number of operations required to make all the elements of ARR
equal. In a single opera...read more
The minimum number of operations required to make all elements of the given array equal.
The array is generated based on the formula ARR[i] = (2*i + 1).
To equalize the array, increment one element and decrement another in each operation.
The number of operations needed is equal to the difference between the maximum and minimum elements in the array.
Q13. Rank from Stream Problem Statement
Given an array of integers ARR
and an integer K
, determine the rank of the element ARR[K]
.
Explanation:
The rank of any element in ARR
is defined as the number of elements sma...read more
The task is to determine the rank of a specific element in an array based on the number of smaller elements before it.
Iterate through the array up to index K and count the number of elements smaller than ARR[K].
Return the count as the rank of ARR[K].
Handle multiple test cases by repeating the process for each case.
Q14. 0/1 Knapsack Problem Statement
A thief is planning to rob a store and can carry a maximum weight of 'W' in his knapsack. The store contains 'N' items where the ith item has a weight of 'wi' and a value of 'vi'....read more
The 0/1 Knapsack Problem involves maximizing the total value of items a thief can steal within a given weight limit.
Dynamic programming can be used to solve this problem efficiently.
Create a 2D array to store the maximum value that can be stolen at each weight capacity.
Iterate through the items and update the array based on whether the item is included or not.
The final answer will be the value at the last cell of the array.
Q15. Count Distinct Substrings
You are provided with a string S
. Your task is to determine and return the number of distinct substrings, including the empty substring, of this given string. Implement the solution us...read more
Implement a function to count the number of distinct substrings in a given string using a trie data structure.
Create a trie data structure to store the substrings of the input string.
Traverse the trie to count the number of distinct substrings.
Handle empty string as a distinct substring.
Return the count of distinct substrings for each test case.
Q16. Edit Distance Problem Statement
Given two strings S
and T
with lengths N
and M
respectively, your task is to find the "Edit Distance" between these strings.
The Edit Distance is defined as the minimum number of...read more
The task is to find the minimum number of operations required to convert one string into another using delete, replace, and insert operations.
Use dynamic programming to solve the problem efficiently.
Create a 2D array to store the edit distances between substrings of the two input strings.
Fill up the array based on the minimum of three possible operations: insert, delete, or replace.
Return the value at the bottom right corner of the array as the final edit distance.
Q17. Merge Intervals Problem Statement
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 and retu...read more
Merge overlapping intervals and return sorted list by start time.
Sort the intervals based on start time.
Iterate through intervals and merge overlapping ones.
Return the merged intervals sorted by start time.
Q18. Longest Subarray Zero Sum Problem Statement
Given an array of integers arr
, determine the length of the longest contiguous subarray that sums to zero.
Input:
N (an integer, the length of the array)
arr (list of ...read more
Find the length of the longest contiguous subarray that sums to zero in an array of integers.
Iterate through the array and keep track of the running sum and its corresponding index in a hashmap.
If the running sum is seen again, calculate the length of the subarray by subtracting the current index from the index stored in the hashmap.
Update the maximum length of the subarray as you iterate through the array.
Examples of OOP concepts using code and principles
Encapsulation: Using private variables and getter/setter methods
Inheritance: Creating subclasses that inherit properties and methods from a superclass
Polymorphism: Implementing methods with the same name but different functionality in subclasses
Q20. What is API? Difference between API and RestApi What is cloud? Where have you used cloud till now? Database related questions. A few html js related questions.
API stands for Application Programming Interface. It defines the methods and data formats that applications can use to communicate with each other.
API is a set of rules and protocols that allows different software applications to communicate with each other.
REST API is a type of API that follows the principles of REST (Representational State Transfer) architecture.
Cloud computing refers to the delivery of computing services over the internet, including storage, databases, net...read more
Q21. How is react optimised than other JS frameworks?
React is optimised due to virtual DOM, one-way data binding, and component-based architecture.
Virtual DOM allows React to update only the necessary components, improving performance.
One-way data binding ensures that data flows in a single direction, reducing the risk of bugs.
Component-based architecture promotes reusability and modularity, making code easier to maintain.
React's use of JSX allows developers to write HTML-like code within JavaScript, improving readability and p...read more
Q22. Find max continous sub array with unique elements in an array
Find max continous sub array with unique elements in an array
Use sliding window approach
Keep track of unique elements in the window
Update max length when a duplicate element is found
Q23. how to optimize the query ?
Optimizing a query involves using indexes, limiting the result set, and avoiding unnecessary joins.
Use indexes on columns frequently used in the query's WHERE clause
Limit the result set by using pagination or filtering criteria
Avoid unnecessary joins by denormalizing data or using subqueries
Q24. The most difficult challenges faced, situation-based approach, dealing with ambiguous requirements
Dealing with ambiguous requirements and difficult challenges in a situation-based approach.
Identifying and clarifying ambiguous requirements through effective communication
Breaking down complex problems into smaller, manageable tasks
Adapting to changing priorities and tight deadlines
Collaborating with team members to brainstorm solutions
Using critical thinking and problem-solving skills to find innovative solutions
Managing expectations and balancing trade-offs between differe...read more
Q25. In which hook do we perform the clean up?
The clean up is performed in the useEffect hook in React.
Clean up code is typically written in the return function of the useEffect hook.
This is useful for unsubscribing from subscriptions, clearing intervals, or any other necessary clean up tasks.
Example: useEffect(() => { // code here return () => { // clean up code here } }, [])
Q26. write code for retry mechanism ?
Implementing a retry mechanism in code to handle failures and retries automatically.
Create a function that takes a function to execute and a maximum number of retries as parameters.
Use a loop to execute the function and catch any exceptions that occur.
If an exception occurs, decrement the number of retries left and retry the function.
Example: function retry(func, maxRetries) { for(let i=0; i
Q27. How to index in mongo DB?
Indexes in MongoDB are used to improve the performance of queries by allowing the database to quickly locate and retrieve specific documents.
Indexes can be created using the createIndex() method in MongoDB.
Indexes can be created on a single field or a combination of fields.
Indexes can be unique, sparse, or compound.
Examples: db.collection.createIndex({ field: 1 }), db.collection.createIndex({ field1: 1, field2: -1 })
Q28. monolith vs microservices ?
Monolith is a single, large application while microservices are smaller, independent services.
Monolith is a single, self-contained application where all components are interconnected.
Microservices are smaller, independent services that communicate with each other through APIs.
Monoliths are easier to develop and deploy but can become complex and harder to scale.
Microservices offer better scalability, flexibility, and fault isolation but come with added complexity in managing m...read more
Q29. Have you worked on docker/kubernetes?
Yes, I have experience working with Docker and Kubernetes.
I have used Docker to containerize applications for easier deployment and scaling.
I have experience with Kubernetes for managing containerized applications in a clustered environment.
I have set up Kubernetes clusters, managed deployments, services, and pods.
I have worked on configuring networking, storage, and monitoring in Kubernetes.
I have experience with Helm charts for packaging Kubernetes applications.
Q30. How do handle work pressure?
I handle work pressure by prioritizing tasks, taking breaks, and seeking support when needed.
Prioritize tasks based on deadlines and importance
Take short breaks to recharge and refocus
Communicate with team members or supervisors for help or guidance
Practice stress-relief techniques like deep breathing or mindfulness
Maintain a healthy work-life balance to prevent burnout
Q31. What are duplexes in node?
Duplexes in Node.js are streams that can both read from and write to.
Duplex streams are instances of the `stream.Duplex` class in Node.js
They combine the features of Readable and Writable streams
Examples of Duplex streams include TCP sockets and zlib streams
Q32. What do understand by scrum?
Scrum is an agile project management framework that emphasizes teamwork, accountability, and iterative progress.
Scrum is based on the principles of transparency, inspection, and adaptation.
It involves breaking down a project into small, manageable tasks called user stories.
Scrum teams work in short iterations called sprints, typically 2-4 weeks long.
Daily stand-up meetings are held to discuss progress, challenges, and plans for the day.
Scrum also includes regular sprint revie...read more
Q33. What is es 6 in javascript.
ES6 is the 6th version of ECMAScript, the standard for JavaScript.
Introduced new features like let, const, arrow functions, classes, and modules.
Improved syntax and added new methods to built-in objects.
Supports destructuring, spread and rest operators, and template literals.
Compatible with modern browsers and Node.js versions.
Q34. What is mongoose Lookup?
Mongoose Lookup is a feature in Mongoose that allows for populating documents from another collection.
Mongoose Lookup is used to reference documents from another collection in MongoDB.
It is similar to a SQL join operation.
Example: User schema referencing a Post schema using Mongoose Lookup.
Q35. Explain your developer journey not CV
My journey started with self-learning and building small projects. Then I pursued a degree in computer science and gained professional experience in various companies.
Started with self-learning and building small projects
Pursued a degree in computer science
Gained professional experience in various companies
Continuously learning and improving skills
Q36. 5)What is call backhell
Callback hell is a situation where nested callbacks make the code difficult to read and maintain.
It occurs when multiple asynchronous functions are called one after the other.
It leads to deeply nested code that is hard to understand and debug.
It can be avoided by using promises or async/await syntax.
Example: nested callbacks in Node.js file system operations.
Q37. 6)What is data binding
Data binding is the process of connecting data between the model and view in a web application.
It allows for automatic updates to the view when the model changes and vice versa.
There are two-way and one-way data binding.
Examples include AngularJS's ng-model directive and React's state and props system.
Q38. SQL query to find duplicate values
Use GROUP BY and HAVING clause to find duplicate values in SQL.
Use GROUP BY clause to group the data based on the column you want to check for duplicates.
Use HAVING clause to filter out groups that have more than one entry, indicating duplicates.
Example: SELECT column_name, COUNT(*) FROM table_name GROUP BY column_name HAVING COUNT(*) > 1;
Q39. What are micro services
Microservices are a software development technique where applications are broken down into smaller, independent services that communicate with each other through APIs.
Microservices are small, independent services that focus on specific business functions.
Each microservice runs its own process and communicates with other services through APIs.
Microservices can be developed, deployed, and scaled independently of each other.
They promote flexibility, scalability, and resilience i...read more
Q40. Difference between div and span tag
div is a block-level element while span is an inline element in HTML.
div is used to create a block-level element that starts on a new line and takes up the full width available, while span is used to create an inline element that does not start on a new line and only takes up as much width as necessary.
div is typically used for grouping and styling larger sections of content, while span is used for styling smaller parts of text or inline elements within a block-level element....read more
Q41. Implementation of fetch api on sandbox
Using fetch API to make requests to a sandbox environment for testing purposes.
Use the fetch function to make HTTP requests to the sandbox URL
Handle the response using promises and the .then() method
Set the appropriate headers and request method for the API endpoint
Parse the response data using JSON methods if needed
Q42. Explain OOPs Concepts in Detail
OOPs concepts revolve around the principles of encapsulation, inheritance, polymorphism, and abstraction in object-oriented programming.
Encapsulation: Bundling data and methods that operate on the data into a single unit (object).
Inheritance: Allowing a class to inherit properties and behavior from another class.
Polymorphism: Ability for objects of different classes to respond to the same message.
Abstraction: Hiding the complex implementation details and showing only the nece...read more
Q43. Scope of databinding
Databinding is a technique to establish a connection between UI and data source.
Databinding allows automatic synchronization of data between UI and data source.
It reduces boilerplate code and makes code more readable and maintainable.
Databinding can be one-way or two-way depending on the requirement.
Examples of databinding frameworks are AngularJS, React, Vue.js, etc.
Q44. Write tests for Go
Writing tests for Go programming language
Use the testing package in Go to write unit tests
Create test files with _test.go suffix for each package to be tested
Use functions like TestXxx(t *testing.T) to define test cases
Run tests using 'go test' command in the terminal
Top Interview Questions for Full Stack Engineer Related Skills
Interview experiences of popular companies
Calculate your in-hand salary
Confused about how your in-hand salary is calculated? Enter your annual salary (CTC) and get your in-hand salary
Reviews
Interviews
Salaries
Users/Month