search
HomeJavajavaTutorialWhat to learn about java full stack

What to learn about java full stack

May 30, 2019 pm 05:34 PM
java full stack

What to learn about java full stack

Recently there has been a heated discussion on the Internet about a rumor that Facebook is recruiting so-called "Full Stack Engineers", requiring applicants to have knowledge of every aspect of the development stack. mastered. So what exactly is a "full stack engineer"? Literally speaking, a full-stack engineer must be familiar with every level of the development stack, or at least be familiar with most of them and have a natural enthusiasm and interest in all software technologies.

For such developers, they are very good at using the technology they master to make their lives easier, which is why Facebook wants to hire them. They use their brains and passion to code, good products It can also be presented naturally in the shortest time. So, what qualities does a qualified "full stack engineer" have?

Development stack analysis

1. Server, network and hosting environment

You need to understand which modules may fail and why, and cannot take it for granted People believe that all problems can be solved by increasing resources.

Knowing how to use operating systems, cloud storage, network resources, and understanding data redundancy and availability is required.

Understand how the size of your application places limitations on hardware.

There are also multi-threading and race conditions. These concepts are often not encountered on development machines, but they are everywhere in real deployment environments.

Full stack engineers must also be able to work well with Devops. The systems they design should provide useful error messages and logging capabilities so that DevOps can obtain this information in a timely manner and take valuable actions.

2. Data Modeling

If the data model is flawed, then it is often necessary to use ugly code at the business logic and higher levels to make up for that data The model cannot cover the blind spots.

Know how to establish a reasonable normalized relationship model, with complete foreign keys, indexes, views, query tables, etc.

You must also be familiar with the storage of non-relational data and know in what ways non-relational databases surpass relational databases.

3. Business logic

This is the key to the value of system application.

Master SOLID design capabilities (single responsibility, open and closed, Liskov substitution, interface separation, dependency injection).

Familiar with some commonly used frameworks.

API/Action/MVC

These are about how the external world interacts with business logic and data models.

A large number of frameworks will be used.

Ability to write clear, consistent, and simple-to-use interfaces.

4. User interface

Full-stack engineers need to: a) know how to build easy-to-read layouts; b) be aware of the role of artists and graphic designers. In short, it is particularly critical to implement a good visual design solution.

Proficient in HTML5/CSS.

Judging from the current trends, JavaScript will be the star of tomorrow. Recently, this field has achieved fruitful results (NodeJs, backbone, knockout, Angular (my own addition, not in the original text)). Therefore, mastering JavaScript is essential.

5. User experience

Full stack engineers should realize that users just want everything to work well.

A good system will not make users suffer from carpal tunnel syndrome or eye fatigue. Full-stack engineers can look at the overall situation and simplify a process that requires 8 clicks and 3 steps into only one click.

Know how to prompt error messages to users. If something goes wrong, apologize sincerely. Sometimes some unintentional error messages can make users feel inexplicable.

Understand user and market needs

This layer is related to the system architecture, but it is by no means a role that cannot be touched (there may be an error in translation, original text: but that is too much of a hands off role).

Full stack engineers need to understand what customers need when using the software and what the entire market needs.

The above is the detailed content of What to learn about java full stack. For more information, please follow other related articles on the PHP Chinese website!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
How do I use Maven or Gradle for advanced Java project management, build automation, and dependency resolution?How do I use Maven or Gradle for advanced Java project management, build automation, and dependency resolution?Mar 17, 2025 pm 05:46 PM

The article discusses using Maven and Gradle for Java project management, build automation, and dependency resolution, comparing their approaches and optimization strategies.

How do I create and use custom Java libraries (JAR files) with proper versioning and dependency management?How do I create and use custom Java libraries (JAR files) with proper versioning and dependency management?Mar 17, 2025 pm 05:45 PM

The article discusses creating and using custom Java libraries (JAR files) with proper versioning and dependency management, using tools like Maven and Gradle.

How do I implement multi-level caching in Java applications using libraries like Caffeine or Guava Cache?How do I implement multi-level caching in Java applications using libraries like Caffeine or Guava Cache?Mar 17, 2025 pm 05:44 PM

The article discusses implementing multi-level caching in Java using Caffeine and Guava Cache to enhance application performance. It covers setup, integration, and performance benefits, along with configuration and eviction policy management best pra

How can I use JPA (Java Persistence API) for object-relational mapping with advanced features like caching and lazy loading?How can I use JPA (Java Persistence API) for object-relational mapping with advanced features like caching and lazy loading?Mar 17, 2025 pm 05:43 PM

The article discusses using JPA for object-relational mapping with advanced features like caching and lazy loading. It covers setup, entity mapping, and best practices for optimizing performance while highlighting potential pitfalls.[159 characters]

How does Java's classloading mechanism work, including different classloaders and their delegation models?How does Java's classloading mechanism work, including different classloaders and their delegation models?Mar 17, 2025 pm 05:35 PM

Java's classloading involves loading, linking, and initializing classes using a hierarchical system with Bootstrap, Extension, and Application classloaders. The parent delegation model ensures core classes are loaded first, affecting custom class loa

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
1 months agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat Commands and How to Use Them
1 months agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools

DVWA

DVWA

Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Powerful PHP integrated development environment

SublimeText3 English version

SublimeText3 English version

Recommended: Win version, supports code prompts!