Full Stack Software Developer

300+ Full Stack Software Developer Interview Questions and Answers

Updated 28 Apr 2025
search-icon

Q1. Oops in Java Patterns in Java JDK,JRE,JVM MVC Array questions strings in Java This,super keywords Java problems like palindrome, prime number,and so many problems and logics Why java is platform independent Why...

read more
Ans.

Questions asked in a Full Stack Software Developer interview

  • Questions on OOPs concepts, design patterns, and MVC architecture

  • Array and string manipulation in Java

  • Understanding of JDK, JRE, and JVM

  • Usage of 'this' and 'super' keywords

  • Solving Java problems like palindrome, prime number, etc.

  • Explanation of Java's platform independence

  • SQL queries and commands

Q2. If an application is running slowly, what process would you follow to find the root cause? Specify for the database, backend API, and frontend.

Ans.

Process to find root cause of slow application for database, backend api and frontend side.

  • Check server logs for errors and warnings

  • Use profiling tools to identify bottlenecks

  • Optimize database queries and indexes

  • Minimize network requests and optimize API responses

  • Reduce image and file sizes for faster loading

  • Use caching to reduce server load

  • Check for memory leaks and optimize memory usage

Full Stack Software Developer Interview Questions and Answers for Freshers

illustration image

Q3. Briefly explain the method you would use to implement an array-based linked list.

Ans.

An array linked list can be executed using a loop to traverse through the array and access the linked nodes.

  • Create an array to store the linked nodes

  • Assign the first node to the first element of the array

  • Use a loop to traverse through the array and access the linked nodes

  • To access the next node, use the index of the current node as the index of the next node in the array

  • Stop the loop when the last node is reached

Q4. What is the difference between a primary key, foreign key, candidate key, and super key?

Ans.

Primary key uniquely identifies a record, foreign key links tables, candidate key can be primary key, super key is a set of attributes.

  • Primary key: Unique identifier for a record in a table

  • Foreign key: Links tables together by referencing the primary key of another table

  • Candidate key: A set of attributes that can be used as a primary key

  • Super key: A set of attributes that can uniquely identify a record

Are these interview questions helpful?

Q5. What are streams in C++? What are predefined streams in C++?

Ans.

Streams in C++ are used for input and output operations. Predefined streams in C++ include cin, cout, cerr, and clog.

  • Streams in C++ are objects that allow reading from or writing to external sources or destinations.

  • cin is the standard input stream used for reading input from the user.

  • cout is the standard output stream used for printing output to the console.

  • cerr is the standard error stream used for printing error messages to the console.

  • clog is an alternative to cerr for pri...read more

Q6. What is the best approach to find the missing number from a set of consecutive n numbers?

Ans.

One approach is to calculate the sum of all numbers in the set and then subtract the sum of the given numbers to find the missing number.

  • Calculate the sum of all numbers in the set using the formula n*(n+1)/2, where n is the total number of elements in the set.

  • Calculate the sum of the given numbers in the set.

  • Subtract the sum of the given numbers from the sum of all numbers to find the missing number.

Share interview questions and help millions of jobseekers 🌟

man-with-laptop

Q7. What are reference variables and how are they defined in C++?

Ans.

Reference variables in C++ are aliases for other variables, allowing direct access and manipulation of the original data.

  • Reference variables are declared using an ampersand (&) symbol.

  • They must be initialized when declared and cannot be reassigned to refer to a different variable.

  • Changes made to a reference variable affect the original variable it refers to.

  • They are commonly used to pass variables by reference to functions.

  • Reference variables can be used to create multiple na...read more

Q8. How do we link our stylesheet with the HTML?

Ans.

Linking a stylesheet with HTML involves using the <link> tag in the <head> section of the HTML document.

  • Use the <link> tag in the <head> section of the HTML document.

  • Specify the path to the stylesheet file in the href attribute of the <link> tag.

  • Set the rel attribute of the <link> tag to 'stylesheet'.

  • Example: <link rel='stylesheet' type='text/css' href='styles.css'>

Full Stack Software Developer Jobs

Full Stack Software Developer 4-9 years
DTCC
4.2
Hyderabad / Secunderabad
Full Stack Software Developer - .NET/C++ 7-12 years
Resillion
3.4
Bangalore / Bengaluru
Resillion - Full Stack Software Developer - .Net/Javascript (7-10 yrs) 7-10 years
Resillion
3.4

Q9. Can you tell us something about scope rules in C++?

Ans.

Scope rules in C++ determine the visibility and accessibility of variables and functions within a program.

  • Variables declared within a block have local scope and are only accessible within that block.

  • Global variables have file scope and can be accessed from any function within the file.

  • Function parameters have function scope and are only accessible within that function.

  • Nested blocks can have their own scope, and variables declared within them are only accessible within that bl...read more

Q10. What is the difference between a "semaphore" and a "monitor"?

Ans.

Semaphore and monitor are synchronization tools used in concurrent programming.

  • Semaphore is a signaling mechanism that allows multiple threads to access a shared resource simultaneously.

  • Monitor is a synchronization construct that allows threads to have both mutual exclusion and the ability to wait (block) for a certain condition to become true.

  • Semaphore is a lower-level primitive, while monitor is a higher-level abstraction.

  • Semaphore can be used to implement a monitor.

  • Example...read more

Q11. Can a service file have more than one instance? If yes, how?

Ans.

Yes, a service file can have more than one instance by creating multiple instances of the service class.

  • Multiple instances of a service class can be created by instantiating the class multiple times.

  • Each instance will have its own state and can be used independently.

  • This can be useful for scenarios where multiple instances of the same service are needed to handle different tasks.

Q12. Do you think BCNF is better than 2NF and 3NF? Why?

Ans.

BCNF is not necessarily better than 2NF & 3NF, it depends on the specific requirements of the database.

  • BCNF is the highest normal form and ensures that there are no non-trivial functional dependencies between any subset of candidate keys.

  • 2NF and 3NF are also important and should be used when appropriate.

  • For example, if a database has a composite primary key and non-key attributes that depend on only one part of the key, 2NF should be used.

  • If a database has transitive dependen...read more

Q13. What are the various forms of normalization?

Ans.

Normalization is a process of organizing data in a database to eliminate redundancy and improve data integrity.

  • First Normal Form (1NF) - Eliminate duplicate data by separating them into multiple tables.

  • Second Normal Form (2NF) - Remove partial dependencies by creating separate tables for sets of attributes.

  • Third Normal Form (3NF) - Eliminate transitive dependencies by creating separate tables for related attributes.

  • Boyce-Codd Normal Form (BCNF) - Remove anomalies by ensuring ...read more

Q14. What are the capabilities of JavaScript?

Ans.

JavaScript is a versatile programming language that can be used for both front-end and back-end development.

  • JavaScript is primarily used for client-side scripting, allowing dynamic content and interactivity on websites.

  • It can also be used for server-side development with frameworks like Node.js.

  • JavaScript has a wide range of capabilities, including manipulating HTML and CSS, handling events, creating animations, and making HTTP requests.

  • It supports object-oriented programming...read more

Q15. What is the difference between rand() and srand()?

Ans.

rand() generates a random number, srand() seeds the random number generator.

  • rand() generates a pseudo-random number between 0 and RAND_MAX

  • srand() sets the seed for the random number generator used by rand()

  • srand() should be called before rand() to ensure different sequences of random numbers

  • Example: srand(time(NULL)) sets the seed to the current time, ensuring a different sequence each time the program is run

Q16. Given a directory name, write a program to return a list of all .tst files present in the directory and its subdirectories.

Ans.

Program to return list of .tst files in given directory and subdirectories

  • Use recursion to traverse through all directories and subdirectories

  • Check if each file has .tst extension and add to list if true

  • Use built-in functions like os.listdir() and os.path.splitext() in Python

Q17. Explain class-based and function-based React components, including their differences.

Ans.

Class based vs function based React components with differences explained.

  • Class based components are ES6 classes that extend React.Component and have lifecycle methods.

  • Function based components are simple functions that return JSX.

  • Class based components have state and lifecycle methods, while function based components use hooks for state and lifecycle management.

  • Class based components have a render method, while function based components directly return JSX.

  • Class based compon...read more

Q18. If I add two objects with the same attribute values to a set, will the set contain two objects? If so, what changes would you make to the code to ensure only unique objects are inserted into the set?

Ans.

No, you will not see 2 objects in the set. To insert unique objects to a set, you can override the equals() and hashCode() methods in the object class.

  • In a set, each element must be unique based on the equals() method. If you add 2 objects with the same attribute values, only one will be stored in the set.

  • To ensure uniqueness, override the equals() and hashCode() methods in the object class. This will define how objects are compared and stored in the set.

  • For example, if you h...read more

Q19. What is "top-n analysis" in DBMS?

Ans.

Top-n analysis is a technique used in DBMS to retrieve the top n records based on a specific criteria.

  • Used to retrieve top n records

  • Based on specific criteria

  • Commonly used in data analysis and reporting

Q20. What we can achieve more in DropBox assignment, like authentication, authoriation, any other better way

Ans.

In the DropBox assignment, we can enhance security by implementing two-factor authentication, role-based access control, and encryption.

  • Implement two-factor authentication to add an extra layer of security

  • Utilize role-based access control to restrict access based on user roles

  • Implement encryption to protect data both in transit and at rest

Q21. What are character constants in C++?

Ans.

Character constants are fixed values represented by a single character in C++.

  • They are enclosed in single quotes (' ')

  • Examples include 'a', 'B', '5', '$'

  • They are also known as character literals

Q22. What do you mean by normalization?

Ans.

Normalisation is the process of organizing data in a database to reduce redundancy and improve data integrity.

  • It involves breaking down a table into smaller tables and defining relationships between them.

  • Normalization helps to eliminate data inconsistencies and anomalies.

  • There are different levels of normalization, with each level having specific rules to follow.

  • Examples of normalization include converting repeating groups into separate tables and creating a junction table fo...read more

Q23. Explain the new Angular feature that doesn't use @NgModule.

Ans.

The new Angular feature that doesn't use @NgModule is called Ivy.

  • Ivy is the new rendering engine in Angular that doesn't rely on @NgModule for compilation.

  • It allows for faster compilation times and smaller bundle sizes.

  • Ivy enables features like improved tree shaking and better debugging capabilities.

  • Example: Angular 9 introduced Ivy as the default rendering engine.

Q24. Where are indexes generally created?

Ans.

INDEX is generally created on columns that are frequently used in WHERE, JOIN, and ORDER BY clauses.

  • INDEX improves the performance of SELECT queries.

  • INDEX should be created on columns with high selectivity.

  • INDEX should not be created on columns with low selectivity.

  • Examples of columns to create INDEX on are primary keys, foreign keys, and columns used in search queries.

Q25. How would the application work without @NgModule?

Ans.

The application would not work properly without @NgModule as it is required to bootstrap the application and configure dependencies.

  • Without @NgModule, the application would not be able to bootstrap and start properly.

  • NgModule is used to configure dependencies, such as components, directives, and services.

  • NgModule also helps in organizing the application into modules for better maintainability and reusability.

Q26. How do you make an application scalable?

Ans.

To make an application scalable, consider using cloud services, optimizing database queries, caching frequently accessed data, and using microservices architecture.

  • Utilize cloud services like AWS or Azure for scalability on demand

  • Optimize database queries to improve performance

  • Implement caching mechanisms for frequently accessed data to reduce load on servers

  • Use microservices architecture to break down the application into smaller, independent services that can be scaled indi...read more

Q27. Java vs JavaScript Linux commands Jquery How JS communicates with serverside

Ans.

Questions on Java vs JavaScript, Linux commands, Jquery, and JS communication with serverside.

  • Java is a statically typed language, while JavaScript is dynamically typed.

  • Linux commands are used to interact with the operating system and perform tasks like file management and networking.

  • Jquery is a JavaScript library used for DOM manipulation and event handling.

  • JS communicates with serverside using AJAX, which stands for Asynchronous JavaScript and XML.

Q28. What are the differences between JavaScript and NodeJS?

Ans.

JavaScript is a programming language used for web development, while Node.js is a runtime environment for executing JavaScript code outside of a web browser.

  • JavaScript is primarily used for client-side scripting, while Node.js is used for server-side scripting.

  • JavaScript is executed in a web browser, while Node.js is executed on a server.

  • Node.js provides additional modules and libraries for server-side development, such as file system access and networking capabilities.

  • JavaSc...read more

Q29. Given two line segments with coordinates a1, b1 and a2, b2, determine if they intersect.

Ans.

To determine if two line segments with coordinates a1,b1 & a2,b2 intersect, we need to check if the line segments intersect.

  • Calculate the slopes of both line segments

  • Check if the slopes are equal, if yes, check if the y-intercepts are equal

  • If slopes are not equal, calculate the intersection point of the two lines

  • Check if the intersection point lies on both line segments

Q30. Which technologies excite you?

Ans.

I am excited about technologies that enable seamless integration and automation.

  • APIs and microservices

  • DevOps tools like Docker and Kubernetes

  • Automation tools like Selenium and Jenkins

  • Cloud computing platforms like AWS and Azure

  • Machine learning and AI technologies

Q31. What are the types of relationships in Database Management Systems (DBMS)?

Ans.

Types of relationships in DBMS include one-to-one, one-to-many, and many-to-many relationships.

  • One-to-one relationship: Each record in one table is related to only one record in another table.

  • One-to-many relationship: Each record in one table can be related to multiple records in another table.

  • Many-to-many relationship: Multiple records in one table can be related to multiple records in another table.

  • Examples: One-to-one - Employee and EmployeeDetails tables, One-to-many - De...read more

Q32. How do you optimize the performance of a Node.js app?

Ans.

Optimizing performance of a Nodejs app involves various techniques to improve speed and efficiency.

  • Use asynchronous programming to handle multiple requests efficiently

  • Implement caching to reduce redundant database queries

  • Optimize code by removing unnecessary loops and function calls

  • Use a load balancer to distribute traffic evenly across multiple servers

  • Monitor and analyze performance using tools like New Relic or Datadog

Q33. What are your pros and cons?

Ans.

I am a highly motivated and detail-oriented full stack developer with strong problem-solving skills.

  • Pros: Strong problem-solving skills

  • Detail-oriented

  • Highly motivated

  • Experience in full stack development

  • Cons: Can be overly meticulous at times

  • May need to work on delegating tasks more effectively

Q34. Explain the Singleton design pattern and implement a thread-safe version.

Ans.

Singleton design pattern ensures a class has only one instance and provides a global point of access to it.

  • Ensure a private static instance variable in the class.

  • Provide a public static method to access the instance, creating it if necessary.

  • Use synchronized keyword or double-checked locking to make it thread-safe.

Q35. AWS architecture used in current project and why used these services only. What could have been better.

Ans.

AWS architecture in projects optimizes scalability, reliability, and cost-effectiveness using various cloud services.

  • EC2 Instances: Used for scalable computing capacity; for example, we can spin up instances based on traffic demands.

  • S3 Storage: Chosen for its durability and scalability to store static assets like images and backups efficiently.

  • RDS: Utilized for managed relational databases, providing automated backups and scaling options, which simplifies database management....read more

Q36. Name various hooks and explain their purpose.

Ans.

Hooks in React are functions that allow you to use state and other React features in functional components.

  • useState - allows functional components to have state

  • useEffect - allows side effects in functional components

  • useContext - allows functional components to access context

  • useReducer - alternative to useState for more complex state logic

  • useMemo - memoizes a value to prevent unnecessary re-renders

  • useRef - allows functional components to access DOM elements or store mutable va...read more

Q37. Differentiate between an exclusive lock and a shared lock.

Ans.

Exclusive lock is used when a resource is being modified and prevents other processes from accessing it. Shared lock allows multiple processes to read a resource simultaneously.

  • Exclusive lock is used for write operations, while shared lock is used for read operations.

  • Exclusive lock blocks other processes from acquiring both exclusive and shared locks on the same resource.

  • Shared lock allows multiple processes to acquire shared locks on the same resource simultaneously.

  • Exclusiv...read more

Q38. Explain these terms - Linked List, Stack, Queue.

Ans.

Linked List is a linear data structure. Stack and Queue are abstract data types.

  • Linked List: A collection of nodes where each node points to the next node.

  • Stack: A data structure where elements are added and removed from the top only.

  • Queue: A data structure where elements are added at the rear and removed from the front only.

  • Example: Browser history can be implemented using a Linked List.

  • Example: Undo/Redo functionality can be implemented using a Stack.

  • Example: Print queue ca...read more

Q39. What is the object-oriented model?

Ans.

Object oriented model is a programming paradigm that uses objects to represent real-world entities.

  • Objects have properties and methods that define their behavior

  • Encapsulation, inheritance, and polymorphism are key concepts in OOP

  • Examples of OOP languages include Java, C++, and Python

Q40. Given a sorted array of integers, write a function to perform a binary search to find the index of a target value. If the target value is not found, return -1.

Ans.

Binary search function to find target value in sorted array

  • Define function that takes sorted array and target value as input

  • Initialize variables for start, end, and middle indices

  • Use while loop to iterate until start is less than or equal to end

Q41. What are the types of directives in Angular?

Ans.

Types of directives in Angular include structural directives, attribute directives, and component directives.

  • Structural directives are used to add or remove elements from the DOM based on conditions (e.g. *ngIf, *ngFor)

  • Attribute directives are used to change the appearance or behavior of an element (e.g. ngStyle, ngClass)

  • Component directives are custom directives that are components themselves (e.g. @Component)

Q42. What are the different data types present in JavaScript?

Ans.

JavaScript has several data types including string, number, boolean, object, function, undefined, and null.

  • String: 'hello', '123'

  • Number: 123, 3.14

  • Boolean: true, false

  • Object: { key: 'value' }

  • Function: function() { }

  • Undefined: undefined

  • Null: null

Q43. What is the method for implementing inheritance in Golang?

Ans.

In Golang, inheritance is implemented using composition instead of traditional inheritance.

  • Golang does not support traditional inheritance like other object-oriented languages.

  • Instead of inheritance, Golang promotes code reuse through composition.

  • Embedding structs in Golang allows for achieving similar behavior to inheritance.

Q44. What is the importance of the key prop in React? Explain in detail.

Ans.

Keys in React are important for efficient rendering and maintaining component state.

  • Keys help React identify which items have changed, are added, or are removed in a list of components.

  • Using keys correctly can improve performance by reducing unnecessary re-renders.

  • Keys should be unique among siblings but can be reused across different lists.

  • Example:

      {items.map(item =>
    • {item.name}
    • )}

Q45. How node.js works? Reason why node.js was familiar to work with?

Ans.

Node.js is a runtime environment that allows JavaScript to be run on the server side.

  • Node.js uses an event-driven, non-blocking I/O model which makes it lightweight and efficient.

  • It is built on the V8 JavaScript engine from Google Chrome.

  • Node.js is commonly used for building scalable network applications.

  • It allows developers to use JavaScript for both client-side and server-side development.

  • Node.js has a large ecosystem of open source libraries and frameworks available.

Q46. How would you restrict unauthorised access to certain end-points? Have you worked on with MFA's?

Ans.

Restricting unauthorized access to endpoints can be achieved through authentication mechanisms like JWT, OAuth, API keys, and implementing Multi-Factor Authentication (MFA).

  • Implementing JWT (JSON Web Tokens) for authentication and authorization

  • Using OAuth for secure authorization between applications

  • Utilizing API keys to control access to specific endpoints

  • Implementing Multi-Factor Authentication (MFA) for an added layer of security

  • Setting up role-based access control (RBAC) ...read more

Q47. Define the terms OSI, TCP, and IP.

Ans.

OSI, TCP & IP are networking protocols used for communication between devices on a network.

  • OSI (Open Systems Interconnection) is a conceptual model that defines how data is transmitted over a network.

  • TCP (Transmission Control Protocol) is a protocol that ensures reliable transmission of data between devices.

  • IP (Internet Protocol) is a protocol that handles the addressing and routing of data packets between devices on a network.

  • TCP/IP is a suite of protocols that are commonly ...read more

Q48. What is a String?? Difference between String Buffer and String Builder?

Ans.

A String is a sequence of characters. String Buffer and String Builder are mutable and faster alternatives to String.

  • String is an immutable class in Java.

  • String Buffer and String Builder are mutable classes.

  • String Buffer is synchronized and thread-safe.

  • String Builder is not synchronized and faster than String Buffer.

  • Both String Buffer and String Builder have methods to append, insert, delete, and reverse strings.

Q49. What is a Join? List its different types.?

Ans.

A Join is used to combine rows from two or more tables based on a related column between them.

  • Types of Joins: Inner Join, Left Join, Right Join, Full Outer Join, Cross Join

  • Inner Join: Returns rows when there is at least one match in both tables

  • Left Join: Returns all rows from the left table and the matched rows from the right table

  • Right Join: Returns all rows from the right table and the matched rows from the left table

  • Full Outer Join: Returns rows when there is a match in on...read more

Q50. What is an Operating System?

Ans.

An operating system is a software that manages computer hardware and software resources.

  • It acts as an interface between the user and the computer hardware.

  • It provides services to applications and manages system resources.

  • Examples include Windows, macOS, Linux, Android, and iOS.

Frequently asked in, ,
1
2
3
4
5
6
7
Next
Interview Tips & Stories
Ace your next interview with expert advice and inspiring stories

Interview experiences of popular companies

3.6
 • 10.8k Interviews
3.8
 • 8.5k Interviews
3.6
 • 7.8k Interviews
3.7
 • 5.8k Interviews
3.7
 • 3k Interviews
3.8
 • 2.9k Interviews
4.0
 • 2.4k 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 Software Developer 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