java entry route

1. Computer based:
1.1 Data Structure:
The main study:
1. Vector, linked lists, stacks, queues, and the stack, the dictionary. Familiar
2. tree, binary search tree. Familiar
3. FIG directed graph, the basic concept of the FIG., No
4. binary search A, B, C class skilled nine familiar sort.
5. In front of the tree hierarchy, the word shortest.
6.KMP and other string algorithms.

1.2 Operating system:
The main study:
1. processes, threads, processes, threads difference. Interprocess communication
2. The process scheduling algorithm appreciated
3. The memory, virtual memory, page segments, the scheduling algorithm memory
4. The file system, chain index
5. deadlock: reasons, to avoid lifting K
6.Linux basic operation command, It will be a scripting: shell, Python

Computer Network 1.3:
Key Learning:
1. Network stratification: five, seven, four, etc.
2. Network Layer: IP classification, subnetting, super-network. ARP protocol, ICMP protocol. Understanding of the internal and external gateways gateways, vpn, etc.
3. Transport layer: port, UDP protocol understanding, TCP protocol understanding, three-way handshake, four off.
4. Application layer: the underlying protocol used for the port and protocol used.
5. A more in-depth understanding of: TCP / IP congestion control, sliding window, how to achieve reliability.

1.4 basis algorithm:
Key learning:
1. Understand the big O notation, etc.
2. Dynamic programming such as: types of knapsack problem better have existing code written for. Longest common subsequence
3. greedy algorithm: Huffman coding appreciated (often written test concept)
4.B tree B + tree index for understanding the database
5. FIG commonly used algorithms: breadth-first, depth-first, shortest path algorithm (most good and ready-made code), minimum spanning tree.

2.JAVA knowledge base:
2.1JAVA foundation
Recommended Books: programming ideas
1. common technique to master java, io, multithreading, reflection, common set of frame
2. IO processing input and output are familiar with, written for
3. Iterator, Iterable and Comparable, Comparator understand and traverse the collection and sorting common.
4. NIO must be familiar with, and understand JMS and the RPC
5. The JAVA to be familiar with the basic concepts, such as abstract classes and interfaces and other differences, these memorized.

2.2JAVA source
1.hashmap, hashtable, concurrentHashMap source and the differences
2. Other Collections Framework: linkedHashMap, LinkedHashSet, Copy-On -Write , etc.
3. Lock, Object, String and other types of source code to understand.

2.3JAVA concurrency API

Recommended books: cope written interview: JAVA multi-threaded programming and core technology. The true God book: JAVA concurrent programming combat.

The difference between the usage Synchronize and Lock

2.wait () and await () notify () and signal (), wait () and sleep () differs from usage

3. Other API usage: yield, join, etc.

4.voliate depth understanding, and understanding of CAS

5.JAVA lock underlying implementation: spin locks, blocking locks reentrant lock, lock biased, and the like.

6. thread pools and blocking queues

7. and achieve some common concurrent cases such as producers and consumers

JVM 2.4 understand

Recommended books: in-depth understanding of JAVA virtual machine

1.JAVA memory model, which area of ​​what is stored

2. References Technology Law and reachability analysis

Strong, soft, weak, and the difference between the virtual object references 3 and Function

4.jvm garbage collection, and collection algorithm

5. Common OOM and SOF causes and solutions, and analyzed by what tools.

6. common input parameters familiar JVM

7. Learn GC pause, escape analysis, Tlab area, outside the heap memory, etc.

8. Common garbage collector: G1, CMS, etc.

9. Identifying common performance monitoring tools: The other visualvm jconsole

10. The virtual machine must be familiar with class loading mechanism, including, as well as the principle of the principle of step parents delegate the way.

3. General Knowledge Learning reserve

3.1 database:

Recommended books: sql entry: Mysql will know will be. Depth understanding: High Performance Mysql

1. commonly associated with the query syntax, to write his own hands a few

2. The in-depth knowledge and understanding of database indexes

3.JDBC learning

4. Common database tuning means: for example, by tuning Index

5.InnoDB and the difference between MyISAM

6. understand primary keys, foreign keys, indexes, unique index

7. Learn indexes, views, triggers, and stored procedures cursors

8. Common relational databases and non-relational databases: relational understanding: Mysql, Oracle non-relational understanding: redis, Hbase, monogodb etc.

3.2 Design Patterns:

Recommended books: Zen Design Patterns

1. Several written singletons must be

2.JDK corresponding design pattern: as IO and the decorative patterns provided orchestration mode

3. The frame common design pattern: as the chain of responsibility pattern Struts, Spring in the factory mode, dynamic mode Agent

4. Understand the six design principles

3.3HTTP agreement:

Recommended books: HTTP Definitive Guide

1. What is HTTP, the protocol version, etc.

2. Learn to use a browser to view HTTP request and response

3. familiar HTTP request headers and the request body

4. familiar response HTTP response headers and body

5. Understand the Rest style

3.4 god of Spring:

Recommended books: Spring and Spring Inside combat

1. Understand the principles and the role of IOC

2. Understand the principles and the role of AOP

3. Common XML configuration

4.Spring Affairs principle and use

5.SpringMVC

6. Spring understanding of webflow, remote service, rest, messaging, security, etc.

7. New features: Spring boot and cloud

4. The rear end of the road learning

Road 4.1WEB back-end learning

Recommended books: You can select some SSH integrated development like

1.JSP and Servlet learning

2.XML learning and JSON parsing

3. The front end of knowledge: HTML, css, js

4.JDBC learning, file upload \ download, JAVAMail etc.

5. You can use simple jsp and Servlet development projects

6. Then learning framework: Struts2, Hibernate, Spring and mutual integration and development

7. then can understand: SpringMvc, Mybatis, Lucene, shiro etc.

8. Use a simple framework to achieve the project such as CMS.

4.2 Learning Services Architecture road (this part of the written examination and interview are not necessarily learning)

Recommended books: a distributed service framework and the principles and practice of micro-service design

1. Understanding SOA and micro service

2. Load balancing: LVS, NGINX, etc.

3.RPC framework for learning: RMI, Thrift, etc.

4. The message frame Learning: ActiveMq etc.

5.Netty communications framework learning

6. Services Framework: dubbo

Road 4.3Hadoop learning (learning in this section are not necessarily written interview)

Recommended books: Hadoop The Definitive Guide

Familiar mapReduce and HDfS

2.Hadoop Cluster Setup

3. Understand: zk, hive, hbase, pig, mahout, etc.

4.zk several common action such as making registry, amp configuration information.

Released six original articles · won praise 4 · Views 1010

Guess you like

Origin blog.csdn.net/qq_37703846/article/details/100590227