The full stack engineer is for most projects other than BAT's main station, and this ability may not be an expert in one area, but it will be able to solve a problem quickly for some time. It may be easier to do the development of the server, but all the ability can be done by practicing practice very well,
The whole stack should have a few aspects: operations, server development, architecture, big data, search, front end, mobile (Android,ios)
Let's start with our full stack of roads.
operations: This capability involves aspects of domain name (DNS), CDN, Machine (Linux) data monitoring configuration, load, container tuning configuration, JVM (here with Java instructions) data monitoring adjustment; Database configuration, cluster, load cluster, container cluster,
Server Development : The server side is talking about Java,
Java language Fundamentals: Basic data types, data storage structure, here are three key String, set, map;
JVM structure, memory management, file load execution process, HTTP,HTTPS,
Special points: Queue, multi-threading, concurrency, Io/nio/aio, message mechanism, reflection, algorithm, design mode, dynamic agent;
Architecture : The architecture includes many aspects, the nature of the front-end architecture is light, mobile-side architecture is mainly in the selection of tools, they are also architecture, just not as heavy as the server, server-side project architecture, clustering;
Big Data : Here are a few things to know:
Big Data high concurrency processing, Big Data Framework Hadoop (2.6)/spark (2.0)/hbase/storm/hive
Search: can also be zoned to the server side, here are some learning points: search Framework SOLR, luncene ...
Front end: js,css,jquery, browser,
Mobile: Android: Five components, use of common toolkit, Terminal machine, iOS have similarities with it, in addition to language and garbage collection
Full stack Engineer's ability point