From the zero-speaking Java, give you a clear path to learn! What to learn and what to study!

Source: Internet
Author: User
Tags knowledge base

from the zero-speaking Java, give you a clear path to learn! What to learn and what to study!

1. Computer Basics:

1.1 Data Organization Basics:

Main study:
1. Vectors, lists, stacks, queues and heaps, dictionaries. Familiar with
2. Tree, binary search tree. Familiar with
3. Graph, Direction graph, non-direction diagram, basic concept
4. Two fork search A,b,c class proficiency, 9 large sort familiar.
5. The tree before the middle, the level, the word, the shortest way.
6.KMP and other string algorithms.

1.2 Operating system:

Main study:
1. Process, thread, process thread differences. Inter-process communication
2. Process scheduling Algorithm Understanding
3. Storage, virtual memory, paging segmentation, Memory scheduling algorithm
4. File system, chain, Index
5. Deadlock: Cause, avoid, release K
6.Linux Basic Operation command, will be a script programming: Shell,python

1.3 Computer network:

Main study:
1. Network layering: Five layer, seven layer, four floor, etc.
2. Network layer: IP classification, sub-network division, Hyper-net. ARP protocol, ICMP protocol. Understanding of internal gateways and external gateways, VPNs, etc.
3. Transport layer: Port, UDP protocol Understanding, TCP protocol Understanding, three-time handshake, four disconnection.
4. Application layer: Learn about the ports and underlying protocols used by common protocols.
5. More in-depth understanding: TCP/IP Congestion control, sliding window, how to achieve reliable and so on.

1.4 Basic algorithm:

Main study:
1. Understanding Big O and other marks
2. Dynamic programming such as: Several types of knapsack problem preferably have ready-made code for the written test. Longest common sub-sequence
3. Greedy algorithm: Understanding Huffman Coding (written test concept)
4.B Tree B + Tree for understanding database indexes
5. Common graph algorithms: Breadth first, depth first, shortest path algorithm (preferably with ready-made code), minimum spanning tree.


2.JAVA Knowledge Base:

2.1 Java Basics
Recommended Books: Programming ideas
1. Master Java Common Technology, IO, multi-threading, reflection, common set framework
2. Familiar with IO processing input and output for written test
3. Learn about Iterator,iterable and Comparable,comparator, as well as the traversal and sequencing of common collections.
4. Be familiar with NiO and understand the JMS and RPC
5. Be familiar with Java basic concepts, such as abstract classes and interface differences, and so on.

2.2 Java source code

1.hashmap,hashtable,concurrenthashmap Source and the difference
2. Other collection frames: Linkedhashmap,linkedhashset,copy-on-write, etc.
3. The source of lock,object,string and other types of knowledge.

2.3 Java Concurrency API

Recommended books: Coping with written interview: Java multithreaded programming and core technology. Real God Book: Java concurrent programming combat.
The difference and usage of Synchronize and Lock
2.wait () and await () notify () and signal (), wait () and sleep () differences and usage
3. Other API usage: Yield,join, etc.
4.voliate in-depth understanding, and CAS understanding
5.JAVA lock Bottom implementation: Spin lock, blocking lock, can re-enter the lock, biased to lock, and so on.
6. Thread pool and blocking queue
7. And some common cases of concurrency implementations such as producers and consumers

2.4 Understanding the JVM

Recommended books: In-depth understanding of Java virtual machines
1.JAVA memory model, which area contains what
2. Citation of technical Law and accessibility analysis method
3. Differences and effects of strong, soft, weak and false references to objects
4.JVM garbage collection mechanism, and recovery algorithm
5. Reasons and solutions for common Oom and SOF, and what tools to analyze.
6. Common JVM Input parameters familiar
7. Learn about GC pauses, escape analysis, Tlab area, out-of-heap memory, etc.
8. Common garbage Collector: g1,cms, etc.
9. Understand common performance monitoring tools: such as VISUALVM jconsole, etc.
10. You must be familiar with the virtual machine class loading mechanism, including the principle steps, and the principle of parental delegation.

3. Conventional Reserve Knowledge learning

3.1 Database:

Recommended books: Getting Started with sql: MySQL must know. Deep understanding: High-performance MySQL
1. Commonly associated query syntax, you write a few
2. Database index in-depth understanding and understanding
3.JDBC Learning
4. Common Database Tuning methods: For example, by index tuning
5.InnoDB and MyISAM differences
6. Understanding primary key, foreign key, index, unique index
7. Understanding indexes, views, triggers, cursors, and stored procedures
8. Common relational database and non-relational database: Relational understanding: mysql,oracle Non-relational understanding: REDIS,HBASE,MONOGODB, etc.

3.2 Design mode:

Recommended Books: Zen of Design patterns
1. There are several ways to make a single case pattern
2.JDK in the corresponding design mode: such as the IO in the decorative mode and the adapter mode, etc.
3. Design patterns commonly used in the framework: such as the responsibility chain model in struts, the Factory mode in spring, dynamic agent mode, etc.
4. Understand the 6 design principles

3.3HTTP Protocol:

Recommended Books: HTTP authoritative guide
1. What is HTTP, protocol version, etc.
2. Learn to use your browser to view HTTP requests and responses
3. Familiarity with HTTP request headers and request bodies
4. Familiarity with HTTP response headers and response bodies
5. Learn about restful styles

3.4 God-General spring:

Recommended books: Spring Combat and Spring Technology Insider
1. Understanding IOC Principles and functions
2. Understanding the principles and roles of AOP
3. Common XML configuration
4.Spring Transaction principle and usage
5.SpringMVC
6. Learn about spring's webflow, remote services, rest, messaging, security, etc.
7. New features: Spring Boot and cloud

4. Back-End Learning Path

4.1WEB Back End Learning Path

Recommended Books: You can choose some of the SSH integration development and the like
1.JSP and Servlet Learning
2.XML and JSON parsing learning
3. Front-end Knowledge: HTML, CSS,JS
4.JDBC learning, File upload download, javamail, etc.
5. Use JSP and servlet to develop simple projects
6. Next Framework Learning: struts2,hibernate,spring and mutual integrated development
7. Then you can learn: Springmvc,mybatis,lucene,shiro, etc.
8. Use the framework to implement simple projects such as CMS.

4.2 Service Architecture Learning Path (this part of the written interview does not necessarily study)

Recommended books: Principles and practices of distributed service framework and micro-service design
1. Understanding SOA and MicroServices
2. Load balancing: Lvs,nginx, etc.
3.RPC Framework Learning: rmi,thrift, etc.
4. Message Framework Learning: ACTIVEMQ, etc.
5.Netty Communication Framework Learning
6. Service Framework: Dubbo

4.3 Hadoop Learning Path (this part of the written interview does not necessarily study)

Recommended Books: The authoritative guide for Hadoop
1. Familiarity with MapReduce and HDFs
2.Hadoop Cluster Construction
3. Understanding: Zk,hive,hbase,pig,mahout, etc.
4.zk Several common functions such as Register Center, put configuration information and so on.

From the zero-speaking Java, give you a clear path to learn! What to learn and what to study!

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.