You are on page 1of 9

1. What is Full Stack development?

Full Stack development involves developing both the front end and back end of the web
application/website at the same time. This process includes three layers:

 Presentation layer (frontend part responsible for user experience) 


 Business logic layer (backend part refers to the server-side of the application)
 Database layer

2. What do Full Stack Web Developers do?


A Full Stack Web Developer is a person who is familiar with developing both client and
server software. In addition to mastering CSS and HTML, they are also know how to
program browsers, databases, and servers.

To fully comprehend the role of Full Stack developer, you must understand the web
development components - front end  and back end

The front end comprises a visible part of the application in which the user interacts, while
the back end includes business logic.

Q3. Name a few Full Stack developer tools?


Some of the popular tools used by full-stack developers to make development more
accessible and efficient are:
 Backbone

 Visual Studio Code

 WebStorm

 Slack

 Electron

 TypeScript

 CodePen

 GitHub

4. What skills do you need to be a full-stack developer?


 A Full Stack developer should be familiar with:

 Basic languages - Must be proficient in basic languages like HTML, CSS, and SQL.

 Front-end frameworks - BootStrap, AngularJS, VueJS, ReactJS, JavaScript,

TypeScript, Python, Ruby, PHP 

 Back-end frameworks - Express, Django, NodeJS, Ruby on Rails

 Databases - MySQL, SQLite, Postgres, MongoDB, Cassandra, Apache storm,

Sphinx

 Additional skills recommended - Git, Machine Learning, SSH, Linux

Command, Data Structures, Character encoding.

5. Explain Pair Programming?


As the name suggests, Pair Programming is where two programmers share a single
workstation. Formally, one programmer at the keyboard called the "driver" writes the code.
The other programmer is the "navigator" views each line of the code written, spell check,
and proofread it. Also, programmers will swap their roles every few minutes and vice-versa.
6. What is CORS?
Cross-origin resource sharing (CORS) is a process that utilizes additional HTTP headers to
tell browsers to provide a web application running at one origin. CORS accesses various
web resources on different domains. Web scripts can be integrated using CORS when it
requests a resource that has an external origin (protocol. Domain, or port) from its own.

7. What is Inversion of Control (IoC)?


Inversion of Control (IoC) is a broad term used by software developers for defining a pattern
that is used for decoupling components and layers in the system. It is mostly used in the
context of object-oriented programming. Control of objects or portions of a program is
transferred to a framework or container with the help of Inversion of Control. It can be
achieved using various mechanisms such as service locator pattern, strategy design
pattern, factory pattern, and dependency injection.

Full Stack Developer Interview Questions for Freshers


8. What is Dependency Injection?
Dependency Injection is a design pattern by which IoC is executed. Injecting objects or
connecting objects with other objects is done by container instead of by the object
themselves. It involves three types of classes.

 Client class: It depends on the service class.

 Service class: It provides service to the client class.

 Injector class: It injects service class objects into the client class.

9. What is Continuous Integration?


Continuous Integration (CI) is a practice where developers integrate code into a shared
repository regularly to detect problems early. CI process involves automatic tools that state
new code's correctness before integration. Automated builds and tests verify every check-
in.

10. What is multithreading and how it is used?


The main purpose of multithreading is to provide multiple threads of execution concurrently
for maximum utilization of the CPU. It allows multiple threads to exist within the context of a
process such that they execute individually but share their process resources.

11. How is GraphQL different from REST?


This is typically a difficult question to answer, but a good developer will be able to go
through this with ease. The core difference is GraphQL doesn't deal with dedicated
resources. The description of a particular resource is not coupled to the way you retrieve it.
Everything referred to as a graph is connected and can be queried to application needs.

12. List the ways to improve your website load time and
performance.
There are quite a lot of possible ways to optimize your website for the best performance:

 Minimize HTTP requests.

 Utilize CDNs and remove unused files/scripts.

 Optimize files and compress images.

 Browser caching. 

 Apply CSS3 and HTML5.

 Minify JavaScript & Style Sheets. 

 Optimize caches.

13. What is the Observer pattern?


The purpose of the Observer pattern is to define a one-to-many dependency between
objects, as when an object changes the state, then all its dependents are notified and
updated automatically. The object that watches on the state of another object is called the
observer, and the object that is being watched is called the subject.

14. What’s the difference between Full Stack Engineer and Full
Stack Developer?
A Full-Stack engineer is someone with a senior-level role with the experience of a Full Stack
developer, but with project management experience in system administration (configuring
and managing computer networks and systems). 

15. What is polling?


Polling is a method by which a client asks the server for new data frequently. Polling can be
done in two ways: Long polling and Short Polling.
 Long polling is a development pattern that surpasses data from server to client with

no delay. 

 Short polling calls at fixed delays and is based AJAX-based.

16. What’s the difference between GET and POST?


The following table compares the GET and POST:

GET POST
GET is used to request data from a specified POST is used to send data to a server to
resource. create/update a resource.
Can be bookmarked Cannot be bookmarked
Can be cached Not cached
Parameters are not saved in the browser
Parameters remain in the browser history
history
Data is visible to everyone in the URL Data is not displayed in the URL
Only ASCII characters allowed Binary data is also allowed

17. What’s the difference between abstract and interface?


The following table compares the abstract and interface:

Abstract Interface
An abstract class can have abstract and non- The interface can have only abstract
abstract methods methods.
An abstract class can have static, non-static, The interface has only static and final
final, non-final variables. variables.
An abstract class can provide the  Interface can’t provide the implementation of
implementation of the interface. an abstract class.
An abstract class can be extended using the An interface can be implemented using the
keyword "extends". keyword "implements".
A Java abstract class can have class Members of a Java interface are public by
members like private, protected, etc. default.

18. How can you prevent a bot from scraping a publicly


accessible API?
If the data within the API is publicly accessible, then it's not possible to prevent data
scraping completely. However, there is an effective solution that will deter most people/bots:
rate-limiting (throttling).
Throttling will prevent a specific device from making a defined number of requests within a
defined time. Upon exceeding the specified number of requests, 429 Too Many Attempts 
HTTP error should be thrown.

Other possible solutions to prevent a bot from scrapping are:

 Blocking requests based on the user agent string

 Generating temporary “session” access tokens for visitors at the front end

19. What is RESTful API?


REST stands for representational state transfer. A RESTful API (also known as REST API)
is an architectural style for an application programming interface (API or web API) that uses
HTTP requests to obtain and manage information. That data can be used to POST, GET,
DELETE, and OUT data types, which refers to reading, deleting, creating, and operations
concerning services.

20. What is a callback in JavaScript?


A callback in JavaScript is a function passed as an argument into another function, that is
then requested inside the outer function to make some kind of action or routine. JavaScript
callback functions can be used synchronously and asynchronously. APIs of the node are
written in such a way that they all support callbacks.

21. What do you mean by data attributes?


Data Attributes are used to store custom data private to the application or page. They allow
us to store extra data on the standard, semantic HTML elements. The stored data can be
used in JavaScript’s page to create a more engaging user experience.

Data attribute consists of two parts:

 Must contain at least one character long after the prefix "data-" and should not

contain uppercase letters.

 An attribute can be a string value.

22. What's the difference between "resetting" and "normalizing"


CSS?

Resetting Normalizing
Removes all the built-in browser styling. Normalizing makes elements render
consistently across browsers.
Provides bug fixes Includes bug fixes

23. What does ACID mean in Database systems?


Acronym ACID stands for Atomicity, Consistency, Isolation, and Durability. In database
systems, ACID refers to a standard set of properties that ensure database transactions are
processed reliably. 

24. How is rolling deployment different from blue-green


deployment?
 In a rolling deployment, a new version of the application gradually replaces the
previous one. Upgrading the system takes a period of time, and both old and new
versions will coexist without affecting user experience or functionality in that phase.
 In a blue-green deployment, two identical production environments work in parallel.
One is a blue environment that runs the production environment by receiving all user
traffic. Another one is the green environment which you want to upgrade. Both use
the same database backend and app configuration. If you swap the environment
from blue to green, then traffic is directed towards a green environment.

25. What is an Application server?


An application server is a software framework that allows the creation of both web
applications and server environments. It contains a comprehensive service layer model and
supports various protocols and application programming interfaces (API).

26. What is referential transparency?


Referential transparency is a term used in functional programming to replace the expression
without changing the final result of the program. This means that whether the input used is a
reference or an actual value that the reference is pointing to the program's behavior is not
changed.

27. What are the differences between Server-side Scripting and


Client-side Scripting? 

Basis for comparison Server-side scripting Client-side scripting

Works in backend and not Works in frontend and scripts


Definition
visible to the client-side. are visible among users.
Interaction with the server is
Processing Server Interaction required
not required

Ruby on Rails, PHP, ASP.net,


Languages CSS, HTML, JavaScript, etc.
Python, ColdFusion, etc.

Security Relatively Secure Insecure

28. What are the types of design patterns?


In general, a design pattern is a repeatable solution for common problems occurring in
software design. These patterns show the interactions and relationships between classes
and objects.

Mainly, there are three types of design patterns:

 Creational - These are about object creation or class instantiation. Further, these
patterns are categorized into object-creational patterns and class-creational patterns.
 Structural - These are about organizing different classes and objects to form larger
functionality and provide new functionality.
 Behavioral - These are about identifying common communication patterns between
objects.

29. What’s the difference between normalization and


denormalization?

Normalization Denormalization
Normalization is used to reduce data
Denormalization is used to add redundancy to
redundancy and data inconsistently from the
execute queries.
table.
Data integrity is maintained Data integrity is not maintained
In normalization, no of tables is increased. In denormalization, no of tables is decreased.
Normalization optimizes the usage of disk Denormalization does not optimize the disk
space. spaces.

30. Name a few ways to optimize a website to be as efficient and


scalable as possible?
The following ways are used to optimize website:

 Optimize all assets

 Enable gzipping
 Defer parsing of JavaScript

 Avoid inline JavaScript, CSS, and duplicate code

 Reduce DNS lookups

 Serve scaled images

 Specify image dimensions

 Minimize request size

 Leverage browser caching

You might also like