Full Stack Engineer

40+ Full Stack Engineer Interview Questions and Answers

Updated 22 Feb 2025
search-icon

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
Ans.

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
Ans.

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

illustration image

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
Ans.

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
Ans.

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.

Are these interview questions helpful?

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
Ans.

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
Ans.

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 🌟

man-with-laptop

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

Ans.

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
Ans.

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

CBRE - Java Full Stack Engineer (6-10 yrs) 6-10 years
CBRE South Asia Pvt Ltd
4.2
Full stack Engineer - Java & Angular/Vue 5-10 years
Apple India Pvt Ltd
4.3
Hyderabad / Secunderabad
Full Stack Engineer - React 2-5 years
Electronic Arts
4.1
Hyderabad / Secunderabad

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
Ans.

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
Ans.

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

Ans.

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

Ans.

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

Ans.

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

Ans.

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

Ans.

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

Ans.

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

Ans.

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
Ans.

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.

Q19. Can you provide examples of OOP concepts using code, including coding for all the principles of Object-Oriented Programming?
Ans.

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.

Ans.

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?

Ans.

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

Ans.

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 ?

Ans.

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

Ans.

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?

Ans.

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 ?

Ans.

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?

Ans.

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 ?

Ans.

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?

Ans.

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?

Ans.

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?

Ans.

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?

Ans.

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.

Ans.

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?

Ans.

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

Ans.

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

Ans.

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

Ans.

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

Ans.

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

Ans.

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

Ans.

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

Ans.

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

Ans.

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

Ans.

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

Ans.

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

Interview Tips & Stories
Ace your next interview with expert advice and inspiring stories

Top Interview Questions for Full Stack Engineer Related Skills

Interview experiences of popular companies

3.8
 • 8.1k Interviews
3.8
 • 5.6k Interviews
3.9
 • 340 Interviews
3.9
 • 207 Interviews
4.0
 • 81 Interviews
View all

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

Full Stack Engineer Interview Questions
Share an Interview
Stay ahead in your career. Get AmbitionBox app
qr-code
Helping over 1 Crore job seekers every month in choosing their right fit company
65 L+

Reviews

4 L+

Interviews

4 Cr+

Salaries

1 Cr+

Users/Month

Contribute to help millions

Made with ❤️ in India. Trademarks belong to their respective owners. All rights reserved © 2024 Info Edge (India) Ltd.

Follow us
  • Youtube
  • Instagram
  • LinkedIn
  • Facebook
  • Twitter