Fullstack Engineer Flashcards
What is Full Stack development
Full stack development involves developing both the front end and the back end of the web application/website at the same time.
This process includes three layers:
1) Presentation layer (front end part)
2)Business logic layer (backend part)
3)Database
What do full stack developers do
A full stack developer is a person who is familiar with developing both client and server software. In addition to mastering CSS and HTML, they also know how to program browsers, databases, and servers.
Name a few full stack developer tools
visual studio code, typescript, github, eslint
What skills do you need to be a fullstack developer?
A full stack developer should be familiar with:
1)Basic languages - HTML, CSS and SQL
2) Front end frameworks and libraries - bootstrap, reactjs, typescript
3) Backend frameworks - Express, NodeJs, Django
4) Databases - Mysql, sqlite, postgres, mongodb
5)Additional skills - git, machine learning, ssh, linux command, data structures, character encoding
Explain Pair programming
As the name suggests, pair programming is where programmers share a single workstation. Formally, one programmer at the keyboard called the driver writes the code. The other programmer is the navigator who views each line of the code written, spell check, and proofread it. Also, programmers will swap their roles every few minutes and vice-versa.
What is CORS
Cross-origin resource sharing (CORS) is a process that utilizes addition HTTP headers to tell vrowsers to provide a web application running at one origin. CORS accesses various web resources on different domains. Web scriptrs can be integrated using CORS when it requests that has an external origin (protocol. Domain, or port) from its own
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 objct-oriented programming. Control of objects or portions of a program is transferred to a framework or container with the strategy design pattern, factory pattern, and dependency injection.
What is dependecy injection
Depemdency 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.
1)Client class: It depends on the service class.
2)Service class: It provides service to the client class
3)Injector class: It injects service class into the client class
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 beuiilds and tests verify every check-in.
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 exists within the context of a process such that they execute individually but share their process resources.
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 reffered to as a graph is connected and can be queried to application needs.
List the ways to improve your website load time and performance
1) Minimize HTTP requests
2) Utilize CDNs (Content Delivery Networks) and remove unused files/scripts
3) Optimize files and compress images
4) Browser caching (Browser caching is a process that involves the temporary storage of resources in web browsers)
5) Apply CSS3 and HTML5
6) Minimize Javascript & style sheets
7) Optimize chaches
What is the observer pattern
The purpose of the Observer patters 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
Whats the difference between a Full Stack engineer and a full stack developer
A full stack engineer is someone with a senior-level role with experience of a full stack developer, but with project management experinece in system administration(configuring and managing computer networks and systems)
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.
1) Long polling is a developmnet pattern that surpasses data from server to client with no delays.
2) Short polling calls at fixed delays and is AJAX based
HTTP Long Polling is a technique used to push information to a client as soon as possible on the server. As a result, the server does not have to wait for the client to send a request. In Long Polling, the server does not close the connection once it receives a request from the client.