Java high-level software engineer interview course, java Course

Source: Internet
Author: User

Java high-level software engineer interview course, java Course

If you want to apply for a job as a senior development engineer, it is far from enough to understand the basic knowledge of Java. You must also understand common data structures, algorithms, networks, operating systems, and other knowledge. Therefore, this article will not explain the specific technology. based on my own experience in applying for major companies, I have compiled an outline of the assessment for senior Java development engineers by large companies, hope to help people who need it.

At present, there are similar books on the market, and the content in the books focuses on the most basic part of Java, the most serious is that there are a lot of wrong content, very misleading. In addition, there are various Java interview questions on the Internet, many of which are based on the Java language. In fact, if you want to apply for a job as a senior development engineer, it is far from enough to understand the basic knowledge of Java. You must also understand common data structures, algorithms, networks, operating systems, and other knowledge. Therefore, this article will not explain the specific technology. based on my own experience in applying for major companies, I have compiled an outline of the assessment for senior Java development engineers by large companies, hope to help people who need it.

1. Java Basics

1.1 Collection and Map

(1) master the inheritance system of Collection and Map.

(2) master the features and implementation principles of ArrayList, LinkedList, Vector, Stack, PriorityQueue, HashSet, LinkedHashSet, TreeSet, HashMap, LinkedHashMap, TreeMap, WeakHashMap, EnumMap, TreeMap, and HashTable.

(3) master the implementation principles and applicable scenarios of CopyOnWriteArrayList, CopyOnWriteArraySet, and ConcurrentHashMap.

1.2 IO

(1) master the inheritance system of InputStream, OutputStream, Reader, and Writer.

(2) Master byte streams (FileInputStream, DataInputStream, bytes, FileOutputSteam, DataOutputStream, and bytes) and bytes streams (BufferedReader, InputStreamReader, FileReader, BufferedWriter, OutputStreamWriter, PrintWriter, FileWriter ), and proficient in usage.

(3) Master NIO implementation principles and usage methods.

1.3 exceptions

(1) master the Throwable inheritance system.

(2) Master how exceptions work.

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

1.4 Multithreading

(1) master the features and applicability of the three types of thread pools that can be created by Executors (four types are added in Java 8.

(2) master the multi-thread synchronization mechanism and use it skillfully.

1.5 Socket

(1) master the Socket communication principle.

(2) proficient in multi-thread programming combined with Socket programming.

2 Java Virtual Machine

2.1 JVM memory region division

(1) Measure the test taker's knowledge about the functions and basic principles of program counters, stacks, virtual machine stacks, local method stacks, method zones (removed in Java 8), and metadata (added in Java 8.

(2) master the heap Division: functions and working principles of the new generation (Eden, elastic vor1, and elastic vor2) and old generation.

(3) Master JVM memory parameter settings and tuning.

2.2 class loading

(1) master the loading phase of the class: Loading, linking (verification, preparation, parsing), initialization, use, and uninstallation.

(2) Master classloaders and Their Applications: Start classloaders, extended classloaders, application classloaders, and custom loaders.

3 J2EE

(1) master the built-in JSP objects, actions, related features and working principles.

(2) master the characteristics and working principles of Servlet.

(3) understand the implementation principles of IOC and AOP in the spring framework (reflection and dynamic proxy ).

(4) understand the working principles of at least one MVC Framework (Spring MVC, Struts, etc.) and use it skillfully.

(5) master the working principles of at least one ORM framework (hibernate, MyBatis, etc.) and be proficient in using it.

4. data structures and algorithms

(1) master the characteristics of linear tables and trees and use them skillfully.

(2) Master common sorting and search algorithms: insert sorting (direct insertion sorting, Hill sorting), select sorting (Direct selection of sorting, heap sorting) exchange sorting (Bubble sorting, fast sorting), Merge Sorting, sequential search, binary search, and hash search.

(3) familiar with common sorting and searching algorithms to solve programming problems.

(4) learn about several basic algorithms: greedy algorithms, grouping policies, and dynamic planning.

5. Computer Network

(1) master the layered structure of the network and the features of each layer.

(2) Understanding the Communication Principles of TCP/IP (three handshakes and four waves)

6 Databases

(1) master the compilation of complex SQL statements.

(2) master database optimization (SQL and table design ).

(3) have at least one database product.

(4) familiar with database development with high concurrency and big data.

7. Web Technology

(1) understand the working principles of AJAX.

(2) be familiar with at least one js framework (such as jQuery ).

8. Design Mode

(1) familiar with common design patterns.

(2) apply the Design Pattern Theory to actual development.

9 Linux

(1) familiar with common Linux commands.

(2) familiar with the basic concepts and features of linux.

(3) familiar with Shell scripts.

10 Operating Systems

(1) master the Process Management of the operating system.

(2) understand the I/O of the operating system.

11 Regular Expression

(1) grasp common Regular Expression symbols.

(2) familiar with regular expressions to solve practical problems (such as matching phone numbers, email addresses, and domain names ).

Java study and exchange QQ group: 523047986 chat prohibited, do not enter!

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.