How to prepare for BAT technical interview in Java R&D direction

Recently, the school recruitment of major Internet giants such as BAT is preparing to start one after another. Perhaps most students in school do not know how to correctly measure the technology they have mastered, and they do not know that companies like BAT will ask themselves What kind of technical capabilities must be possessed. For the technical interview in the Java R&D direction, here is a summary of some technical knowledge points that you must master. The content of the inspection will be more than that summarized here, so if you want to have a very good offer, you need to have the following knowledge points. The content of the social recruitment inspection will add project experience, technical practical experience, and the use and understanding of popular technologies on this basis. The follow-up answers will also be given in the Java sharing WeChat public account: JavaQ, everyone is welcome to watch!

Java Basics:

Difference Between Object Oriented and Process Oriented

Four basic features of Java (abstract, encapsulation, inheritance, polymorphism)

The difference between Overload and

Override Whether the Constructor can be overridden

to access the control characters public, protected, private, and default The difference

Whether it is possible to inherit the String class

String and StringBuffer, StringBuilder The difference between

hashCode and equals methods The difference between

abstract classes and interfaces

Automatic boxing and unboxing

What is generics, why should they be used, and generics erase

collection classes in Java and Relational diagram

HashMap implementation principle (see source code)

HashTable implementation principle (see source code)

Difference between HashMap and HashTable

How HashTable achieves thread safety (see source code)

The difference between ArrayList and vector (see the source code) The

difference between ArrayList and LinkedList and the difference between the usage scenarios

Collection and Collections The

implementation principle of Concurrenthashmap (see the source code) The

difference between Error and Exception

, Unchecked Exception and Checked Exception, each list

how to implement proxy mechanism in Java ( JDK , CGLIB)

multi-threading implementation

Thread state transition How

to stop a thread

What is thread safety

How to ensure thread safety Will release locks) Multithreading and deadlock How to generate deadlock What is a daemon thread, what method is used to realize the daemon thread Java thread pool technology and principle What is the difference between IO and NIO Serialization and deserialization What are the common serialization protocols The difference between memory overflow and memory leak































Java memory model and OOM in various areas, how to reproduce OOM and how to solve

OOM

occurrence What tools can be used to detect memory leaks The difference between JavaEE: servlet life cycle and each method How to customize the filter in servlet JSP principle The difference between JSP and servlet The dynamic include and static include of JSP The request processing process in Struts MVC concept The difference between Spring mvc and Struts The difference between Hibernate/Ibatis Hibernate primary and secondary cache Hibernate implements cluster deployment How Hibernate implements declarative transactions Briefly describe the common optimization strategies of Hibernate Spring bean loading process (recommended to see Spring source code) How Spring implements AOP and IOC Spring bean injection method Spring's transaction management ( It is recommended to see the source code of Spring) Spring transaction propagation characteristics springmvc principle

















































What annotations have springmvc used

in Restful? There are several types of requests for

Restful benefits

. Differences between Tomcat, Apache, and JBoss Differences between

memcached and redis

Have you encountered the problem of Chinese garbled characters? How to solve them?

How to understand distributed locks

? What

json and xml do you know of open source protocols? Difference

Design Patterns:

Six Principles of Design Patterns

Commonly Used

Design Patterns Write a piece of code with a design pattern or draw a design pattern UML

how to understand MVC understanding

of high cohesion and low coupling

Algorithms :

depth-first, breadth-first algorithms

Sorting Algorithms and corresponding time complexity and space complexity

Write a sorting algorithm

Search algorithm

B+ tree and binary tree search time complexity

KMP algorithm, hash algorithm What are the

commonly used hash algorithms

How to judge whether a singly linked list has a ring?

Given 10,000 numbers, how do you find all the repeated numbers in it? Using all the methods you can think of, what is the time complexity and space complexity?

Given an array, how do you find two numbers whose sum is K?

100000 Numbers Find the smallest or largest 10?

What should I do if I continue to de-emphasize a bunch of numbers?

Data structures:

queues, stacks, linked lists, trees, heaps, graphs

Coding to implement queues and stacks

Linux:

Linux common commands

How to check memory usage

How to schedule processes under Linux

Operating system :

When will the operating

system deadlock Necessary conditions for

deadlock deadlock prevention

Database :

paradigm

Database transaction isolation level

Database connection The principle of the pool

Optimistic locking and pessimistic locking

How to realize the principle of paging

SQL injection for data query in different databases, how to prevent the implementation of

database index (B+ tree introduction, and the difference between B tree and R tree)

SQL performance optimization Advantages and disadvantages of

database indexes and what When the database index fails

Redis storage structure

Network :

OSI seven-layer model and TCP/IP four-layer model

HTTP and HTTPS difference between

HTTP message content

get submission and post submission Difference between

get submission and post submission Is there a byte limit for get submission, and if so, where is the limit ? The

three-way handshake and four-way wave of TCP The difference

between session and cookie The

principle of Session implementation in HTTP request The difference between

redirect and forward is the difference between

DNS

, TCP and UDP.

Security :

If the client keeps sending requests for connections, what will happen to

DDos attack

DDos

prevention ? How do you know that the connection is malicious? It may be a normal connection.

Others :

Tell me about a project you participated in and what role you played in it. What is the most difficult problem you

encountered and how to solve it. What do

you think you are lacking in? How do you

usually learn

how to evaluate yourself?

Puzzle :

give you 50 The red ball and 50 black balls have two identical buckets. Put the balls in the buckets and let your friends draw them randomly. What strategy can you use to make your friends have a higher probability of drawing red balls?

Find the lightest counterfeit coin out of 100 coins?

     The knowledge points of the above inspections can be searched for answers on the powerful Internet. Some answers may not be very complete, so you need to summarize them yourself, but for some knowledge points that need to know the principle, it is recommended to read the source code or the book for , and then summarize and get your own things, so that you will learn the real things and not easily forget them. Java basic knowledge points recommend "Java Programming Ideas", JVM recommends "In-depth Understanding of Java Virtual Machine", Spring Principles recommend "Spring Source Code In-depth Analysis", and recommends website architecture "Core Principles and Case Analysis of Large-scale Website Technology Architecture" . Welcome to the Java technology sharing WeChat public account: JavaQ, for more exciting technology sharing.

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=327042322&siteId=291194637