1, the front-end article:
Basic JS and CSS need at least a general understanding of the basics
- Common status code and back-end corresponding error troubleshooting
- The difference between 301 and 302
- 304 How to produce and how to avoid
- ...
- JSONP and JSON
- The way to construct a JSONP request
- How to construct the native
- How jquery is structured
- ...
- Constructs a JSONP response
- Ajax
- How to construct an AJAX request
- How to construct the native
- How jquery is structured
- ....
- Several processing methods of cross-domain
- Scene
- Different subdomain with primary domain
- Different primary domains
- Processing mode
- Iframe
- Proxy request
- SRC attribute of the script element (JSONP)
- Cookie.setdomain
- Back-end Set P3P header response
- ....
- Cookies
- The role of Cookies
- The difference between a cookie and a back-end session
- What is the role of HttpOnly cookies?
- Describes what information is contained in a URL Http://www.baidu.com/s?wd=Hi#heiheihei
Advanced
- The meaning of the various headers
- Http/https's Grab Bag
- Browser Debugging Tools
- Anyproxy
- Httpscoop
- Fiddler
- Wireshark
- Charles
- Long polling for HTTP
- Xss
- WebSocket
- Quickly simulate an HTTP request
- Familiarize yourself with some of the MVC's front-end frameworks
- Browser plugin
- Node-webkit
2. Basic Knowledge Chapter
OK finally from the front-end request through the network to reach our server, open a long back-end trip request will first reach our web server (nginx), and then the Nginx judge whether the static request or need to forward to our application server (tomcat) for logical processing Web server
- Apache
- Nginx
- Nginx's Branch
- Teginx [SLB server in use]
- openresty [Crawler Module]
-
- Why Nginx is called a reverse proxy server
- This is when Nginx proxies the back-end tomcat request. The pros and cons are just relative, not absolute.
-
- The meaning of server_name
- The server_name in Nginx actually matches the host in the HTTP request header.
- Curl-h ' host:www.baidu.com ' http://115.239.211.112/s?wd=Hi ' and http://www.baidu.com/s?wd=Hi equivalence
- Location summary and rewrite rule notation
- parameter function and meaning of default variable
- Nginx's upstream configuration
- Common with the default load balancing policy
- Advanced
- Will be a few simple ngx dialect processing
- compiling manually and adding modules
- Using Nginx to build a FQ tool
- Nginx + LUA Advanced Learning
- 11 Stages of Nginx processing request
Application Server
- Tomcat
- Tomcat consists of three parts
- JSP container translates JSP into Serverlet
- Web containers are primarily used to handle static resources
- Serverlet container (name Catalina played lol all know) processing server This is called Tomcat/logs/catalina.out two is not log.out
- Basic Network Configuration
- Settings for JVM parameters
- How the project path is configured
- Configure Server.xml
- Copy to WebApp
- Find JSP-generated Java and class files
- Jetty
Cache
- Latency for object access
- Intra-stack local variable (in-method) > Thread cache (threadlocal) > in-heap cache (global variable/ehcache) > Off-Heap cache > out-of-process cache (Memcache/redis)
- In-heap caches (common cache frameworks are inside the heap)
- Simple configuration of advantages
- Disadvantages can lead to frequent GC and reduced availability
- Out-of-stack caching
- Disadvantages but it's hard to find out after leaks.
- Advantages No GC-led delay
- Out-of-process caching
- Advantage program restart without reloading, support distributed
- Disadvantage operation and maintenance ability
- .....
- The choice of the cache is not a balm, generally depending on the business scenario,
- Advantages and disadvantages need to dig their own, know the principle and optimization direction is the ultimate goal
Thread
- The difference between a thread and a process
- Daemon thread and normal thread
- Thread scheduling
- Time-sharing scheduling model and preemptive scheduling model
- Java uses preemptive scheduling with high precedence, equal priority random
- What you need to be aware of in Java to adjust the priority of threads
- Several ways to implement threading
- Thread with no return value
- Thread with return value
- The JDK provides several thread pool usage scenarios with the implementation of the team
Serialization/deserialization
- Serialization is the process of converting an object's state into a format that can be persisted or transmitted, in contrast to deserialization
- I understand that the ultimate purpose of serialization is to store and transfer
- The general discussion of this issue will revolve around several aspects
- Performance issues time/space loss (for example, the longer the compressed file compression ratio, the greater the time)
- Universal (cross-platform) such as json/xml is more common and more readable
- Debug complexity
- Serialization Framework and Class library selection
- Java Native (I personally do not have a special need for the general use of the original, stable and reliable, because the system is not optimized to achieve this level)
- Thrift
- Protobuf
- Hessian
- ...
Web
- Basis
- Label configuration in Web. xml
- Filter, Servlet, Listener
- Order of initialization
- Features and application scenarios
- The life cycle of the servlet
- The scope of the request, session, application (JSP also contains a page)
- The difference between forward and redirect
- MVC Framework
- Struts1
- Process is relatively simple, you can learn the core logic and then self-simulation to write a
- Struts2
- After a big, gray loophole, he was dumped.
- Springmvc
- At present the company is used, I am only in the stage of use, there are problems can be exchanged
- Dispatcherservlet some of the process of processing requests, the components involved
- Jfinal
- ...
- The framework is created to improve development efficiency and efficiency while thinking about a problem, whether you understand his underlying principles, or how it is structured
- With questions to find answers, to debug, Harvest is the biggest
- The framework is always just a tool
- Template engine
- Jsp
- Velocity
- Freemarker
- ...
IO streams and common file operations
- The file character set problem must be determined first.
- Several implementations of InputStream and OutputStream in JDK
- Where IO operations are generally involved
- File Read and Transfer
- Serialization in the RPC framework
- The performance difference between sequential read-write and Random read and write of data description file
- The specific role of the buffer class
- How to parse and store a 1G CSV file into a database in a 512M memory JVM
- How to upload/download files in Serverlet
- Nginx and spring MVC have the maximum upload limit switch
- Which headers to set when downloading, and how the browser knows that the server is returning the download action
- Generate Verification Code
- Common tool Classes
- FileUtils and Ioutils
- Excel
- Image
- Java-class libraries don't seem to be very hot, mainly because the JVM is less efficient in this area.
- GraphicsMagick (This has nothing to do with Java, but some of our business uses him, so mention it in particular)
3. Network Articles
Although it is a development but some simple commands need to know, especially when troubleshooting problems to quickly locate the problem
- Command
- Common
- Routing-related
- Flow-related
- How to understand the IP address and port in the TCP/IP protocol
- DNS service with local Hosts file
Problem
- Trying to describe what protocols were generated when you entered the URL and hit enter in the browser? Like Http://www.baidu.com/s?wd=Hi.
- How to quickly see which ports a Tomcat/dubbo listens to in a Linux environment? What machines are currently accessed
- How Tomcat or Dubbo binds to the intranet in a multi-NIC environment
Advanced
- The scenarios and common solutions of TCP sticky packets and unpacking
- Attempt to grab the request and response of an ARP protocol with the grab kit [remember to clean up the local ARP cache]
Encourage each other, the future road is long, comrades still need to work AH!!!
New company training-backend skill tree