Question succinct--java Senior Software engineer interview Syllabus

Source: Internet
Author: User

If you want to apply for Senior Development engineer job, just know the basic knowledge of Java is not enough, but also must know the common data structure, algorithm, network, operating system and other knowledge. Therefore this article does not explain the concrete technology, the author synthesizes oneself to apply each big company's experience, has collated a big company to the Java Senior Development Engineer position appraisal outline, hoped can help to the need person.

At present, there are "Java xx book" Similar books, and the contents of the book are focused on the most basic part of Java, the most serious is that there is a lot of wrong content, very misleading. In addition, there are a variety of Java interview questions on the web, many of which are also focused on the Java language Foundation. In fact, if you want to apply for Senior Development Engineer Job, just understand the basic knowledge of Java is not enough, but also must know the common data structure, algorithm, network, operating system and other knowledge. Therefore this article does not explain the concrete technology, the author synthesizes oneself to apply each big company's experience, has collated a big company to the Java Senior Development Engineer position appraisal outline, hoped can help to the need person.

1 Java Basics

1.1 Collection and Map

(1) Mastering the succession system of collection and map.

(2) Master ArrayList, LinkedList, Vector, Stack, Priorityqueue, HashSet, Linkedhashset, TreeSet, HashMap, Linkedhashmap, TreeMap,Weakhashmap, Enummap, TreeMap, hashtable characteristics and the principle of implementation.

(3) Master copyonwritearraylist, Copyonwritearrayset, concurrenthashmap of the implementation of the principle and application of the scene.

1.2 IO

(1) Mastering the succession system of InputStream, OutputStream, Reader and writer.

(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 the use of methods.

1.3 Exceptions

(1) Mastering the Throwable succession system.

(2) Master the abnormal working principle.

(3) Understand 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 a, a total of four kinds) thread pool characteristics and application scope.

(2) Mastering multi-thread synchronization mechanism, and skilled use.

1.5 Socket

(1) Master socket Communication principle.

(2) Skilled use of multi-threaded socket for programming.

2 Java Virtual machine

2.1 JVM Memory Area Division

(1) Master the function and basic principle of program counter, heap, virtual machine stack, local method stack, method area (JAVA8 removed), Meta space (JAVA8 new).

(2) to master the division of the heap: The New Generation (Eden, Survivor1, Survivor2) and the old age of the role and working principle.

(3) Mastering the JVM memory parameter setting and tuning.

Class 2.2 Loading

(1) Mastering the loading 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.

(2) Mastering the characteristics and working principle of servlet.

(3) Master the IOC and AOP implementation principles of the Spring Framework (reflection and dynamic proxies).

(4) Grasp at least one MVC framework (Spring mvc,struts, etc.) working principle, and skilled use.

(5) Grasp at least one ORM framework (Hibernate,mybatis, etc.) working principle, and skilled use.

4 Data structures and algorithms

(1) Mastering the characteristics of linear tables and trees and using them skillfully.

(2) Mastering 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 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.

(2) Master the communication Principle of TCP/IP (three handshake, four wave)

6 Database

(1) Mastering complex SQL statement writing.

(2) Mastering the Database optimization (SQL level and table design level).

(3) 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).

8Design Patterns

(1) familiar with the common design patterns.

(2) The design pattern theory is applied to the actual development.

9 Linux

(1) Skilled use of common Linux commands.

(2) familiar with the basic concepts and characteristics 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 of 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.).

Question succinct--java Senior Software engineer Interview Outline (EXT)

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.