* means not required
A programming language
HTML
-
The box model
-
HTML5
- Semantic tag
- canvas & svg
- Responsive meta
CSS
-
The selector
- Priority policy
- Pseudo class/pseudo element
-
Style sheet inheritance
-
CSS3
- Flex & Grid
- filter
- Media query & REM
- Transform & Animation
-
BFC
- Height of collapse
- Margin collapse
- Float to clear
- Position nested & overwritten
Javascript
-
ECMAScript
-
ES5
- Basic data types
- Functional scope
- closure
- Method call/function call
- Higher-order functions
- Module is loaded
-
ES6+
-
Block-level scope
-
Template string
-
Promise the task
-
Async iterator
-
Class
- inheritance
-
proxy
-
Arrow function
- This points to the
-
-
Prototype chain
- New operator
- bind / call / apply
- Deep copy
-
-
BOM
-
DOM interaction
-
The event agent
- Bubble/capture
- Two methods of listening
-
-
Form management
- How do I submit a form
-
-
History API
-
XHR API
-
Asynchronous mechanisms
-
Event Loop
- MacroTask / MicroTask
-
-
Garbage collection mechanism
- Mark clear/reference count
WebAssembly *
Computer network
The seven-layer OSI model
HTTP
-
1.0/1.1/2.0
- 1.0
- 1.1 persistence
- 2.0 Pipeline/server push
-
Status code
-
Cache control policy
TCP
-
Three handshakes/four waves
-
The sliding window
- Slow start/congestion control
-
Reliable communication
- TCP state machine
UDP
WebSocket
The data structure
String/array/linked list
Hash table/binary tree/queue/stack
algorithm
BFS/DFS
Dynamic programming
An operation
The sorting
-
Bubble/select/fast-sort/merge
- Distributed sorting
The sliding window
mathematics
Linear algebra
-
matrix
- Matrix rank of
Higher mathematics
- Chain derivative
- Gradient/derivative/partial derivative
Compilation principle
Server Foundation
Node *
PHP *
- CGI / Fast-CGI
- SetCookie
Database *
-
SQL
-
Time function
-
Read locks and write locks
-
The data type
- Char/vARCHAR difference
-
Command invocation
- drop, delete, truncate
-
The transaction
-
ELK *
Processes and threads
- Mutex and deadlock
The engineering practice
modular
-
ES5
- CommonJS/AMD/CMD thought
-
ES6+
-
Class
- Polyfill
-
The user authentication
- OAuth
componentization
Depend on the building
- Webpack
- Gulp *
Version management
-
Git
- Branch mechanism
Package management
Performance optimization
-
Base64 encoding/Sprite
-
Lazy loading/preloading
-
Static resource rendering blocked
-
CSS selector optimization/expression optimization
-
CDN
-
The cache control
- Ajax cache
- The header field
Mainstream frameworks (at least one)
Vue
-
Life cycle process
-
HTML template
-
Component communication mechanism
-
High order component
-
Principle of the Router
-
VueX status management
- Action / Mutation
-
Principle of bidirectional binding
-
Virtual Dom
- Principle of Diff *
React
- The life cycle
- JSX
- Redux
- Component state Management
The browser
Apply colours to a drawing mechanism
- DOM
- Redraw/reflow
- shadow DOM
Browser cache
- Cookie
- Storage
The same-origin policy
- Cross-domain access methods
SEO optimization
- Meta tags
security
-
TLS
- Asymmetric encryption principle *
-
Network attack
- XSS
- CSRF
- Database injection