Full Stack Software Developer
200+ Full Stack Software Developer Interview Questions and Answers
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 moreQuestions 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.
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
Q3. Briefly explain the method you will use to execute an array linked list?
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?
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:
Q5. What is the difference between primary key, foreign key, candidate key & super key?
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++?
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 🌟
Q7. What is the best approach to find the missing number from set of consecutive n numbers
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++?
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
Q9. Can you tell us something about scope rules in C++?
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"?
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?
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?
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?
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?
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()?
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.
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?
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?
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
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++?
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?
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
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
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?
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
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
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
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
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?
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?
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?
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 ?
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)
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?
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
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.
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.
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?
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?
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
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?
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?
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.
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.
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?
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.
Q46. How to do configuration for ipsec if both site to site has same network
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?
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
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?
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
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.
Top Interview Questions for Full Stack Software Developer 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