For a beginner/intermediate programmer, the interview questions will not only cover the Java language, but also cover a lot of other knowledge, such as computer basics (data structures, computer networks, operating systems, etc.), C language basics, Java basics, and some framework related knowledge. This article covers almost all areas.

Basic computer knowledge

C Language Basics

Java based

Java advanced

Java Web

Design patterns

The comprehensive ability of knowledge

Tool use

Project related

Technology of enthusiasm

Presentation skills

Ways of thinking

other

Recommended reading

Also, I know a lot of people ask questions about the answers to these questions. I have all the answers, but I can’t post them directly due to space limitations. The answers to these questions will be provided in my public account and knowledge planet, thank you for your attention.

I summed up this set of topics, a total of 280, is the quality of the test. If these interview questions can be answered well, there will be no problem in taking part in the school recruitment of major companies in China.

I can hardly estimate how difficult it is for one to master all these subjects. But I think if you are a person who has some basic computer knowledge and some Java experience. Like a junior who’s doing well in school. I can master all the topics in about half a year. Don’t ask me why, because I tried.

For convenience, I’ve divided them into categories, some are must-see, I use! Annotation, some of the more advanced ones I’m going to use %, some of the ones I need to know, I’m going to use, okay? Annotations.

Will keyword

void byte int long char short float doubleString StringBuffer StringBuilder Array CollectionCollections List ArrayList LinkedList Vector SetHashMap TreeMap LinkedHashMap ConcerrentHashMapSet TreeMap HashMap synchronized volatiletransient implements extends public privateprotected this super static final const runstart thread enmu stack queue list heap throwthrows try catch finally break continueinstanceof

! 1. What are queues, stacks and linked lists

! 2, What is a tree (balanced tree, sorting tree,B tree,B+ tree,R tree, red black tree), heap (large root heap, small root heap), graph (directed graph, undirected graph, topology)

! Similarities and differences between stacks and queues

? 4. Two storage structures commonly used in stacks

%5, two stack implementation queue, and two queue implementation stack

! 1. What kinds of sorting methods are there?

! 2, can write common sorting algorithm, such as quick sorting, merge and so on.

%3, the time complexity and stability of various sorting algorithms, focus on fast sorting.

! 4, single linked list traversal and reverse order

! Depth-first search and breadth-first search

? 6. Minimum spanning tree

! 7. Common Hash algorithms, hashing principles and costs

%8, full permutation, greedy algorithm, KMP algorithm, hash algorithm

? 9. Consistent Hash algorithm

? 1. Virtual memory management

? 2. Page feeding algorithm

! 3. Interprocess communication

? 4, process synchronization: producer consumer problem, philosopher dining problem, reader writer problem

! 5, deadlock four necessary conditions, avoid methods

! 6. Some basic Linux commands, such as ls, tail, chmod, etc

! 1. TCP and UDP are different

! 2. The whole process of HTTP request and response

! 3, HTTP common response codes: 200, 301, 302, 404, 500

! 4. The difference between GET and POST

! 5. The difference between forward and redirect

! 6. Osi seven-layer model

! 7. TCP/IP four-layer model and principle

! 8. TCP and UDP

! 9, TCP three handshake, four closed

%10, lost, sticky package,

? 11, capacity control, congestion control

? 12. Subnets

%13, IPV4 and IPV6

? HTTPS and HTTP/2

! 1, the paradigm

! Database transaction and isolation levels

! 3, why lock, lock classification, lock granularity

4, optimistic lock, pessimistic lock concept and implementation

! 5, how to implement pagination (Oracle, MySql)

! Mysql engine

? MYSQL statement optimization

%8, read data from a large table, how to solve the performance problem

! 9, internal connection, left connection, right connection and difference

! 10. Differences between a Statement and a PreparedStatement

%11 index and index implementation (B+ tree introduction, and B tree, R tree difference

? 12, What is database connection pool

%1. How to extract the IP address that visits Taobao the most in a certain day from massive log data

%2, hundreds of millions of data, statistics of the number of occurrences of the first N data

% 300, 500 million int, find their median

Two files, each containing 5 billion urls, 64 bytes each. Memory limit is 4 gigabytes. Find the same URL in both files

%5, there are 4 billion unsigned int numbers that are not sorted.

? Tips: Divide and conquer, Hash mapping, heap sort, double bucket partition, Bloom Filter, Bitmap, database index, MapReduce

! Constructors and destructors

%2. Why not call the virtual function in the constructor

%3. Why not throw an exception in the destructor

! 1. Three basic features and five basic principles of object orientation

%2, C++ inherited memory layout

! C++ polymorphism implementation mechanism

! 4, New /deletr and malloc/free

! 1. Why complement

%2, memory leak in C

! 3. Base conversion

% 4, write strlen/strcpy/ STRCMP

! 5. Differences between C, C++, and Java, and their respective strengths and weaknesses

! 1. What is the mechanism for implementing polymorphism in Java? The difference between dynamic polymorphism and static polymorphism

! 2, Interface and abstract class difference, how to choose

! 3, Java can inherit, can be more implementation

%4, The difference between Inner Class and Static Nested Class

! 5. The difference between overloading and overwriting.

! 6. Whether String can be inherited

! Can a constructor be override?

! 8. What is the difference between public, protected and private?

! 1. List some common classes in the Java Collection library

! 2. Do List, Set, Map inherit from Collection interface? What are the storage features?

! 3. Differences and connections between ArrayList, LinkedList, and Vector

! 4. Differences between HashMap and Hashtable, TreeMap, and ConcurrentHashMap

! 5. What is the difference between Collections and Collections

%6. Other collection classes: Treeset, LinkedhashMap, etc.

! 1. Difference between Error and Exception

! 2. Types of exceptions and what are run-time exceptions

! 3. Differences between final, finally and Finalize

In %4, try-catch-finally, will the code in finally be executed if it returns ina catch?

! 5. List more than three RuntimeExceptions

! 6. Simple principle and application of exception handling mechanism in Java

! StringBuffer, StringBuilder

! The difference between equals and ==

%3, hashCode, and equals

! 4. What is the difference between Input/OutputStream and Reader/Writer

! How to convert between character stream and byte stream?

! 6. Switch can use those data types

%7, four references to Java

! Serialization and deserialization

! 9. Regular expressions

! What is the difference between int and Integer

! 1. The difference between processes and threads

! 2. The difference and connection between parallelism and concurrency

! 3. Synchronous and asynchronous

! 4, multi-threaded implementation, what is the difference

! 5. What is a daemon thread

%6, How to stop a thread?

! 7. What is thread safety?

! 8. The difference between synchronized and lock

! 9. When a thread enters a synchronized method of an object, can other threads enter other synchronized methods of the object?

! Do I start a thread with run() or start()?

! What’s the difference between ‘wait’ and ‘sleep’

%13, notify and notifyAll

%14, the role of the thread pool

%15, thread pool-related classes in Java

! 1. The concept of gc, if objects A and B are referenced in A loop, can they be gc?

%2. How does the JVM GC determine if an object needs to be reclaimed?

! Can you actively trigger GC in Java

! JVM memory structure, the difference between heap and stack

! JVM heap generation

%6 what is a memory overflow in Java and how is it related to a memory leak

! Java class loading mechanism, what is parental delegation

! 8. Class loading method of ClassLoader

! 1. Differences between NIO, AIO and BIO

? IO and NIO

? What are the algorithms in HashCode

! 2. Basic concepts of reflection, whether reflection can call private methods

! The concept of generics in Java

? JVM startup parameters -xms and -xmx

5, the implementation of the proxy mechanism

! String s = new String(“s”), create several objects.

! 1, JSP and Servlet differences, the concept of servlets.

! 2. Servlet life cycle

! 3. How sessions work in servlets and how expiration times are set

! 4. What are the application scenarios of filter in Servlet?

? 5, JSP dynamic include and static include

%6. Common configuration and functions in web.xml

%7. Servlet thread safety issues

! 1. Introduce several commonly used MVC frameworks

! 2. What is MVC

! 3, Struts request implementation process

%4, The difference between Spring MVC and Struts MVC

? 5, Service nested transaction processing, how to rollback

! Struts2 interceptor and filter difference and execution order

7, Struts2 interceptor implementation principle

! 1. The difference between session and cookie

! 2. How does HTTP request Session work?

%3. Can Session be implemented if the client disables cookies?

! 4, HTTP get and POST differences

! 5. Redirect vs. forward

! 6. Status codes returned by common Web requests. What do 404, 302, 301 and 500 stand for respectively

? Hibernate/ Ibatis/MyBatis

? 2, What is “OR Mapping”

%3, Hibernate’s caching mechanism, level 1 and level 2 caching

! 4. What are the benefits of using Spring and its core philosophy

! 5. What are AOP and IOC, and how do they work

! 6. Initialization of Spring beans

! 7. Spring transaction management, several ways of Spring bean injection

%8, Spring four dependency injection methods

! What is a Web server and what is an application server

! 2. What are the common Web servers?

? 3. Differences between Tomcat and WebLogic

! What is SQL injection and how to avoid it?

%2. What is an XSS attack and how can it be avoided

%3. What is a CSRF attack and how can it be avoided

! Java dynamic proxy concept

%2, Java dynamic proxy implementation

! 1. Common character encodings

! 2. How to solve the problem of Chinese garbled characters

%1, how XML is parsed, and the pros and cons.

%2. What is Ajax, and how does Ajax solve cross-domain problems

%1, talk about the design patterns you know or are familiar with

! 2. Several implementations of Singleton to implement a thread-safe Singleton.

? 3. Differences between the factory pattern and the abstract factory pattern

! 1. Describe the whole process of an HTTP request, as thoroughly as possible

! 2. What happens when you type www.taobao.com into your browser’s address bar and press Enter

! What does Git/SVN do? The used?

! Do you know what Maven/Gradle is? The used?

! 3. What IDE is usually used and why

! 4. What browser do you usually use and why

! 5. What operating system is the usual development machine

! 6. Will it be developed on Linux? Do common Linux commands work

! 1. Please give a brief introduction of your project

! What’s your role in this project

! 3. Have you done the technical selection of this project?

! 4. What research and comparison have you done for a particular technology

! 5. What was the biggest problem encountered in this project? How did you solve it?

! 6. Whether performance, security and other issues have been considered in the project

! 1. The latest version of Java

! 2. Java8 lambda expressions

%3, Java8 stream API

%4. Modularization of Java9

%5, Java10 local variable type inference

% 6, Spring Boot2.0

% 7, HTTP / 2

8, can climb over the wall, know the principle of climb over the wall

! What are you reading recently

! 1. Can you briefly introduce yourself?

! 2. Can you describe your impression of Hangzhou? Sum it up in three sentences.

! 1. How to estimate the number of software engineers in Hangzhou

! 2. What’s the most impressive article you’ve read recently

! 3. There are several opinions in this article, which one do you agree with most and which one do you disagree with most

! How do you feel about working overtime

! Do you have any questions for me (the interviewer)

Programmer interview written test treasure book

Programmer interview golden rule

Java Programming ideas

Effective Java 

In-depth understanding of the Java virtual machine

Big talk about data structures

The sword refers to Offer

! Hollis technology blog (http://www.hollischuang.com) and personal public (Hollis) no.

Not satisfied with the title? Still want answers? Welcome to follow my official account (Hollis). I am sorting out the answers and will give them in batches later. Of course, you can also join my planet to discuss these interview questions and answers with 140+ golfers. Finally, if you find this article helpful, please like and retweet it.

– MORE | – MORE excellent articles

  • How did I get the offer from Alibaba through school admission

  • For fresh graduates, which is more important, Java foundation or project experience

  • Java Engineer To God (2018 Revision)

  • The most thorough article in the hash() analysis of the Map

If you saw this, you enjoyed this article.

So please long press the QR code to follow Hollis

Forwarding moments is the biggest support for me.