Java Advanced Software engineer Knowledge structure

Source: Internet
Author: User
Tags zookeeper

1 Java Foundation 1.1 collection and map
    1. Master the inheritance system of collection and map. Java Collection and map
    2. Master ArrayList, LinkedList, vectors, stacks, priorityqueue, HashSet, Linkedhashset, TreeSet, HashMap, Linkedhashmap, TreeMap, Weakhashmap, Enummap, TreeMap, Hashtable the characteristics and the realization principle.
    3. Master the Copyonwritearraylist, Copyonwritearrayset, concurrenthashmap the realization principle and the application scene.
    4. Java concurrency container
1.2 IO
    1. Master the succession system of InputStream, OutputStream, Reader and writer. Java io, io mode, java compression, Java XML and JSON, Java serialization
    2. Mastering the Byte stream (FileInputStream, DataInputStream, Bufferedinputstream, Fileoutputsteam, DataOutputStream, Bufferedoutputstream) and character streams (BufferedReader, InputStreamReader, FileReader, BufferedWriter, OutputStreamWriter, PrintWriter, FileWriter), and skilled use.
    3. Master the principle of NIO implementation and how to use it. Java NIO
1.3 Exceptions
    1. Master the Throwable succession system. In-depth understanding of Java exception handling mechanisms
    2. Master the principle of abnormal operation.
    3. Learn about common exceptions (such as FileNotFoundException), non-inspected exceptions (such as NullPointerException), and errors (such as IOError).
1.4 Multi-Threading
    1. Master executors can create three kinds (JAVA8 added one, a total of four kinds) thread pool characteristics and scope of application. Java Multi-Threading 5: Thread pool
      The thread pool in Java

    2. Master multi-threaded synchronization mechanism, and skilled use.
      Java Multithreading 1: Thread life cycle and Multithreading basics
      Java multithreaded 2:lock, semaphore, atomic weight, and queue
      Java multithreaded 3:volatile
      Java Multithreading 4: Synchronization lock vs Java thread synchronization method comparison
      Java multithreaded 6:java blocking queue and producer consumer model

    3. and contract
1.5 Socket
    1. Master socket Communication principle. Java Socket
    2. Proficient in programming with multi-threaded sockets.
2 Java Virtual Machine 2.1 JVM memory Zoning

Deep understanding of the JVM (Java Virtual machine)

    1. Master the role and rationale of program counters, heaps, virtual machine stacks, local method stacks, method areas (JAVA8 removed), meta-space (JAVA8 new).
    2. Master the division of the heap: The New Generation (Eden, Survivor1, Survivor2) and the old age of the role and working principle.
    3. Master JVM memory parameter settings and tuning.
Class 2.2 Loading
    1. Mastering the load phase of classes: loading, linking (validating, preparing, parsing), initializing, using, and uninstalling.
    2. Mastering class loader Classification and its application: Start the ClassLoader, extension class loader, application ClassLoader, custom loader.
3 Java
    1. Master JSP built-in objects, actions and related characteristics and working principle. Jsp
    2. Master the features and working principles of the servlet. Servlet
    3. Master the IOC and AOP implementation principles of the Spring Framework (reflection and dynamic proxies). Spring
    4. At least master the working principles of an MVC framework (Spring mvc,struts, etc.) and use it skillfully. Struts2
    5. Grasp at least one ORM framework (Hibernate,mybatis, etc.) working principle, and skilled use. Hibernate basic concept Hibernate relational XML implementation hibernate annotations
4 Data structures and algorithms
    1. Master the characteristics of linear tables and trees and use them skillfully.
    2. Master common Sorting and finding algorithms: Insert sort (direct insert sort, hill Sort), select sort (Direct select sort, heap sort), swap sort (bubble sort, quick sort), merge sort, order lookup, binary lookup, hash lookup.
    3. Skilled in the use of common sorting and finding algorithms to solve programming problems.
    4. Understand several basic algorithms: greedy algorithm, divide and conquer strategy, dynamic programming.
5 Computer network
    1. Master the hierarchical structure of the network, and the functional characteristics of each layer. Basic knowledge of computer network
    2. Master the principle of communication in TCP/IP (three handshake, four waves)
    3. HTTPS, encryption, verification and certification
6 Database
    1. Mastering complex SQL statement writing. MySQL Database Design
    2. master database Optimization (SQL level and table design level). Best 20 + experiences for MySQL performance optimization
    3. Master at least one database product.
    4. Familiar with high concurrency, big data in the case of database development.
7 Web Technology
    1. Learn how Ajax works.
    2. Be familiar with at least one JS framework (such as jquery). Jquery
8 Design Patterns
    1. Familiar with common design patterns.
    2. The design pattern theory is applied to the actual development.
9 Linux
    1. Skilled in using common Linux commands.
    2. Familiar with the basic concepts and features of Linux operating system.
    3. familiar with Shell scripts.
10 Operating system
    1. Master the process management of the operating system.
    2. Understand the I/O for the operating system.
11 Regular Expressions
    1. Mastering common regular expression symbols.
    2. Skilled use of regular expressions to solve practical problems (such as matching phone numbers, mailboxes, domain names, etc.). Common regular expressions and the use of Java
12 Safe
    1. Xss
    2. CROS
13 Distributed Systems
    1. Distributed Transactions and distributed locks
    2. Micro-Service
    3. Message Middleware Kafka
    4. Distributed cache and its clustered Redis, Memcached
    5. ZooKeeper
    6. RPC:WebService:SOAP, Uudi, WSDL, etc.
    7. The use of the SOA framework for Service governance (Dubbo, etc.)
    8. Use of other middleware (ZooKeeper)
    9. System Design: Usability
14 other
      1. BDSM Cuisine
      2. Basic knowledge of software engineering
      3. Memcached
      4. Corbar
      5. WebSocket

Java Advanced Software engineer Knowledge structure

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.