Before the success of Java post Byte Beat, I brushed up the interview questions and made those preparations!

one side

On the one hand, the interviewer is a little girl, and she is very nice (not just her looks).

Asked mysql index

Redis string type

Why use rabbitmq

What are the components of rabbitmq and how to ensure accuracy and consistency.

The algorithm asked twice

Fast queue

Unordered array calculates how many numbers each position is greater than the preceding (merge sort)

Two sides

On the second side, I started to lean towards the project,

How to perform jvm tuning (then I am Barabara, the teacher said you write down specific parameters and request commands)

The cpu is full and the system is restarted, but it is full again after a while, how to solve it. (The teacher is a bit strict, always telling me not to listen to the principle, you give me specific commands)

Then I asked how to set up the spike system

How to set up the banking system and what problems will be encountered

Why is mongodb used in the project

The same two algorithms

A text distance calculation

(Solved by dynamic programming)

One is how much rain can be stored in the unordered array

 

Three sides

Did not ask technology

Just talked about how to learn

Read those books

How to set up a red envelope grab function

And what problems encountered in my project and how to solve them

The technical selection of the project and why it should be chosen

Then write an algorithm

Realize the enhancement of the hashmap, plus the automatic deletion of expiration and elimination strategy to realize the deletion of the shortest expiration time

HR face

Technical planning

What other companies have invested

Byte understanding

Why postgraduate entrance examination

The biggest gain in the project

Here are the interview questions I brushed before Four Sides succeeded; share with you! The algorithm is not included, because there are more algorithm series, but I have compiled the PDF. If you need it, you can "Add me VX Assistant" to get it for free!

Java basics

  • What are the several data types in JAVA and how many bytes each occupy.
  • Can the String class be inherited and why.
  • If the hashCode() of two objects is the same, equals() must also be true, right?
  • Is String a basic data type?
  • What are the classes for manipulating strings in Java? What is the difference between them?
  • How many types of IO streams are in Java?
  • What is the difference between BIO, NIO and AIO?
  • Which Map classes have been used, are there any differences, is HashMap thread-safe, what Map is used concurrently, and what are their internal principles, such as storage method, hashcode, capacity expansion, default capacity, etc.
  • How to reverse the string?
  • Do abstract classes have to have abstract methods?
  • What is the difference between ordinary and abstract classes?
  • Can abstract classes use final modification?
  • What is the difference between ArrayList and LinkedList?
  • ConcurrentHashMap data structure (required)
  • Volatile role (required)
  • How to ensure atomicity of Atomic class (CAS operation) (required)
  • Why use thread pool (required)

 

Redis

  • Application scenarios of Redis
  • Data types supported by Redis (required)
  • The data structure of zset jump table (required)
  • Redis data expiration strategy (required)
  • The specific implementation of Redis's LRU expiration strategy
  • How to solve the Redis cache avalanche and cache penetration problems
  • Redis's persistence mechanism (required)
  • Why is Redis single-threaded?
  • What is cache penetration? How to deal with it?
  • There are several ways to persist Redis?
  • Why is Redis so fast? (Required)
  • How does Redis implement distributed locks?
  • How does Redis optimize memory?
  • What are the Redis elimination strategies?
  • What are the common performance problems of Redis? How to solve it?
  • What should I pay attention to when using Redis?

ZooKeeper

  • CAP theorem
  • ZAB Agreement
  • Leader election algorithm and process
  • What is zoo keep er?
  • How many deployment modes does zoo keep er have?
  • How does zoo keep er ensure the synchronization of the master and slave nodes?

Mysql

  • Basic elements of business
  • Transaction isolation level (required)
  • How to solve the problem of transaction concurrency (dirty reading, phantom reading) (required)
  • MVCC multi-version concurrency control (required)
  • What are binlog, redolog and undolog, and what are their functions
  • InnoDB row lock/table lock
  • The difference between myisam and innodb, when to choose myisam
  • Why choose B+ tree as index structure (required)
  • What things can be stored in the leaf nodes of the index B+ tree (required)
  • When the query will not go (expected) index (required)
  • How to optimize sql
  • explain how to parse sql
  • Principle of order by

JVM

  • Runtime data area (memory model) (required)
  • Garbage collection mechanism (required)
  • Garbage collection algorithm (required)
  • Minor GC and Full GC trigger conditions
  • GC中Stop the world(STW)
  • The characteristics and differences of each garbage collector
  • Parent Delegation Model
  • Relationship between JDBC and Parental Delegation Model
  • What is a complete GC process in JVM, how to promote the object to the old age, talk about the main JVM parameters you know

Spring

  • Implementation of Spring's IOC/AOP (required)
  • Realization of dynamic agent (required)
  • How does Spring solve circular dependencies (three-level cache) (required)
  • Spring's post processor
  • How to implement Spring @Transactional (required)
  • Spring's transaction propagation level
  • The connection and difference between BeanFactory and ApplicationContext

other

  • How to realize the current limit of high concurrent system
  • The design of high concurrency spike system
  • How to design load balancing

Operating system

  • The difference between process and thread
  • Several ways of process synchronization
  • Synchronization between threads
  • What is buffer overflow. What is the harm and the reason
  • What kinds of states are there in the process
  • What is the difference between paging and segmentation

Multithreading

  • Several implementations of multithreading, what is thread safety
  • The principle and function of volatile, can it replace locks?
  • The difference between sleep and wait
  • The meaning of sleep(0)
  • The difference between Lock and Synchronized
  • What is the principle of synchronized and where is it generally used (for example, the difference between loading static methods and non-static methods)

supplement

In addition, some computer networks will be tested. Like message queues, RPC frameworks are rarely tested. Computer network is hierarchical, tcp/udp, three-way handshake and the like. The operating system is the process and the thread, the data structure of the process and how to communicate.

The sorting algorithm of the data structure is also more frequently tested, and you will be sure to write a quick sort by hand. The remaining algorithmic questions are accumulated by LeetCode. In fact, the algorithmic questions for non-algorithmic post exams are quite simple. Many of the questions are entirely to check whether your intelligence is normal. The slightly more difficult ones involve some algorithmic ideas. According to the classification of LeetCode question types, you can basically do one or two of each question. Time to interview.

Guess you like

Origin blog.csdn.net/a159357445566/article/details/109643819