Full Stack Software Developer

200+ Full Stack Software Developer Interview Questions and Answers

Updated 13 Dec 2024

Popular Companies

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 a application is running slow what process would you follow to find root cause of this? Specify for database , backend api and frontend side.

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 will use to execute an array 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. How do we link our stylesheet with the HTML?

Ans.

Linking stylesheet with HTML is done using the link tag in the head section of HTML.

  • Use the link tag with rel attribute set to stylesheet and href attribute set to the path of the stylesheet file.

  • Place the link tag inside the head section of the HTML document.

  • Example:

Are these interview questions helpful?

Q5. What is the difference between primary key, foreign key, candidate key & 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

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

Share interview questions and help millions of jobseekers 🌟

man-with-laptop

Q7. What is the best approach to find the missing number from 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.

Q8. What are reference variables and how is it 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

Full Stack Software Developer Jobs

Full Stack Software Developer 3-8 years
IBM India Pvt. Limited
4.1
Hyderabad / Secunderabad
Full Stack Software Developer 2-7 years
iQuasar Software Solutions
4.2
Jammu
Full Stack Software Developer (Intern) 0-1 years
Furtados School of Music
4.0
Remote

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 & 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 normalisation?

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 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 sub directories.

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. class based vs function based react, explain both with their difference?

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. What is the "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

Q19. If I add 2 same attribute values for a object to a set...will I see 2 objects in the set, if yes what changes you make to the code to insert unique objects to a 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

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

Q21. What do you mean by normalisation?

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

Q22. Throw some light on 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.

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

Q24. Where do we generally create INDEX?

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. What is the process to sign legal documents

Ans.

The process to sign legal documents involves reviewing the document, signing in the presence of a witness if required, and storing the signed document securely.

  • Review the legal document thoroughly to ensure understanding of its contents and implications

  • Sign the document in the designated signature area using your legal name

  • If required, have a witness present during the signing process

  • Store the signed document in a secure location for future reference

Q27. 1.diffrence 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

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

Q29. Are two line segments with coordinates a1,b1 & a2,b2 intersecting or not?

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 makes you exited?

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. How to 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

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

Q33. Singleton design pattern. Explain and implement (thread safe)

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.

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

Q35. How to optimise performance of a Nodejs 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

Q36. Differentiate exclusive lock and 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

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

Q38. What is 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

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

Q40. What are 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)

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

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

Q43. What is the importance of key 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}
    • )}

Q44. Define the terms OSI, TCP & 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

Q45. What is 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, ,

Q46. How to do configuration for ipsec if both site to site has same network

Ans.

Configure IPsec with NAT-T or use different subnets for the site-to-site connections.

  • Use NAT-T (Network Address Translation Traversal) to allow both sites to communicate with the same network.

  • Alternatively, use different subnets for the site-to-site connections to avoid conflicts.

  • Ensure proper routing and firewall rules are in place to allow traffic between the sites.

  • Consider using VPN concentrators or routers that support multiple VPN connections with the same subnet.

  • Test th...read more

Q47. What are the different parameter passing mechanisms in python?

Ans.

Python has four parameter passing mechanisms: positional, keyword, default, and variable-length.

  • Positional parameters are passed by position.

  • Keyword parameters are passed by name.

  • Default parameters have a default value if not specified.

  • Variable-length parameters can take a variable number of arguments.

Q48. How would you breakdown the following criteria into stories and assign them a point

Ans.

Breaking down criteria into stories and assigning points

  • Identify user stories based on criteria

  • Estimate points for each story based on complexity

  • Prioritize stories based on business value

  • Create sprint backlog based on prioritized stories

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

Q50. Tell me what is the difference between div and span

Ans.

div is a block-level element while span is an inline element in HTML.

  • div is used to group block-level elements and create sections on a webpage.

  • span is used to style inline elements or group inline elements together.

  • div elements create a line break before and after the element, while span does not.

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

Interview experiences of popular companies

3.7
 • 10k Interviews
3.9
 • 7.8k Interviews
3.7
 • 7.3k Interviews
3.8
 • 5.4k Interviews
3.8
 • 2.8k Interviews
3.6
 • 2.3k Interviews
4.1
 • 2.3k Interviews
4.3
 • 487 Interviews
3.3
 • 22 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
Get AmbitionBox app

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