Java Interview Essential Skills __java

Source: Internet
Author: User

If you want to apply for Senior Development engineer job, only know the basic knowledge of Java is not enough, but also must understand the commonly used data structure, algorithms, networks, operating systems and other knowledge. Therefore, this article will not explain the specific technology, the author integrated their own experience of the major companies, sorting out a large company to the Java Senior Development engineer position of the assessment outline, hoping to help people in need.

At present, the market has "Java xx treasure" similar books, and the contents of the books are focused on the most basic parts of Java, the most serious is that there are 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, only know the basic knowledge of Java is not enough, but also must understand the common data structure, algorithms, networks, operating systems and other knowledge. Therefore, this article will not explain the specific technology, the author integrated their own experience of the major companies, sorting out a large company to the Java Senior Development engineer position of the assessment outline, hoping to help people in need. 1 Java Basics

1.1 Collection and Map

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

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

(3) Master the principle of copyonwritearraylist, Copyonwritearrayset, Concurrenthashmap and the applicable scene.

1.2 IO

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

(2) Mastering the word throttling (FileInputStream, DataInputStream, Bufferedinputstream, Fileoutputsteam, DataOutputStream, Bufferedoutputstream) and character streams (BufferedReader, InputStreamReader, FileReader, BufferedWriter, OutputStreamWriter, PrintWriter, FileWriter), and skilled use.

(3) to master the principle and use of NIO.

1.3 Exceptions

(1) Mastering the Throwable inheritance system.

(2) Master abnormal working principle.

(3) To understand common inspected exceptions (such as FileNotFoundException), non-inspected exceptions (such as NullPointerException) and errors (such as IOError).

More than 1.4 threads

(1) Master executors can be created three kinds (JAVA8 added a, a total of four) thread pool characteristics and scope of application.

(2) Grasp the multithreading synchronization mechanism, and skilled use.

1.5 Socket

(1) Grasp the principle of socket communication.

(2) Proficiency in the use of multithreading with sockets for programming. 2 Java Virtual machines

2.1 JVM Memory Area Partitioning

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

(2) Mastering the division of the heap: the role and working principle of the Cenozoic (Eden, Survivor1, Survivor2) and old age.

(3) Mastering JVM memory parameter setting and tuning.

2.2 Class loading

(1) Master class loading phase: Load, link (verify, prepare, parse), initialize, use, uninstall.

(2) Master Class loader classification and its application: Launch class loader, extended class loader, application class loader, custom loader. 3 Java

(1) Master JSP built-in objects, movements and related characteristics and working principle.

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

(3) Mastering the Spring Framework's IOC and AOP implementation principles (reflection and dynamic proxies).

(4) At least master the working principle of an MVC framework (Spring mvc,struts, etc.) and use it skillfully.

(5) At least grasp the working principle of an ORM framework (Hibernate,mybatis, etc.) and use it skillfully. 4 data structure and algorithm

(1) Master the characteristics of linear table and tree and use it skillfully.

(2) Master the common sort and lookup algorithms: Insert sort (direct insertion sort, hill sort), select sort (Direct select sort, heap sort), exchange sort (bubble sort, quick sort), merge sort, sequential lookup, binary lookup, hash lookup.

(3) Skilled use of common sorting and search algorithms to solve programming problems.

(4) Understand several basic algorithms: greedy algorithm, partition strategy, dynamic planning. 5 Computer Networks

(1) To master the hierarchical structure of the network, and the functional characteristics of each layer.

(2) Mastering the communication Principle of TCP/IP (three handshake, four wave) 6 database

(1) Mastering the complex SQL statement writing.

(2) Master the database optimization (SQL level and table design level).

(3) At least one database product.

(4) familiar with high concurrency, large data in the case of database development. 7 Web Technology

(1) Mastering the working principle of Ajax.

(2) At least familiar with a JS framework (such as jquery). 8 Design mode

(1) familiar with the common design patterns.

(2) The design pattern theory will be applied to the actual development. 9 Linux

(1) Proficiency in the use of Linux common commands.

(2) familiar with the basic concepts and characteristics of Linux operating system.

(3) familiar with shell scripts. 10 Operating system

(1) Mastering the process management of the operating system.

(2) Understand the operating system I/O. 11 Regular Expressions

(1) To master the common regular expression of symbols.

(2) Skilled use of regular expressions to solve practical problems (such as matching phone numbers, mailboxes, domain names, etc.).

Original text reproduced from:

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.