preface

Now it is 2020, I believe many people are preparing for the interview, how to get the desired Offer, enter the dream big factory, realize their career ideal, to achieve the well-off level of programmers.

This article mainly introduces liu Ge in January several times of face classics, (a one-time check missing a enough),! (Thanks for liu Ge’s content)

I hope you can understand that the interview companies will not be announced.

The first (Zookeeper+ Microservices + Messaging middleware + High concurrency architecture design)

One side

  • JVM data storage model, new generation, old generation construction?
  • Java GC algorithm, when does a Minor GC fire, and when does a Full GC fire?
  • What is GC ROOT in GC reachability analysis?
  • Which JVM tuning parameters are you familiar with, and which tuning tools have you used?
  • What lock types do Java have?
  • Describe the thread pool process?
  • Class loading mechanism. There are several steps for a class to be loaded into a VIRTUAL machine. Which of these steps are fixed and which are not fixed, and why not?
  • Concurrenthashmap is thread-safe.
  • What problems does the volatile keyword solve, and how does it work?
  • What are concurrent containers and the difference between concurrent and synchronous containers

Second interview

  • In the work, SQL statement optimization and matters needing attention
  • Which libraries or frameworks use NIO
  • What kinds of injection methods does Spring have, which ones are used in what situations, and how ioc works
  • How to locate a slow query, a service has multiple SQL how do you quickly locate
  • Do you know clustered indexes and non-clustered indexes? When do you use a clustered index and when do you use a non-clustered index
  • What storage structure does Nosql engine use, what are the advantages and disadvantages of relational database and Nosql respectively, and how to choose the technology?
  • In microservice architecture, if you have an order system, an inventory system, how do you guarantee transactions?
  • Distributed consistency protocol RAFT, PaxOS
  • Select the main algorithm for the ZAB protocol in Zookeeper

On three sides

  • To introduce myself
  • Participate in concurrent projects, from design to deployment, according to the process.
  • Have you ever used Redis related to the project, in what scenarios and how?
  • Mysql synchronization mechanism principle, there are several kinds of synchronization methods
  • How is database master/slave synchronization implemented? How are transactions implemented
  • Talk about your understanding of SOA and microservices, and the adjustments and challenges of distributed architecture at the application level.
  • What are the similarities and differences between metaQ and kafka
  • Did you know any middleware in Ali? How does it work? What are the features of other open source message queues?
  • Why do you choose to change companies?
  • A three – to five-year career plan?
  • You want to ask me something?

Second (Phantom reading + block lock +Spring Cloud+ SEC kill)

One side

  • Brief Introduction
  • The ACID of a transaction, where the isolation of a transaction is explained in detail
  • Dirty reading, phantom reading, non – repeatable reading
  • Red black tree, binary tree algorithm
  • Which collection classes do you usually use? ArrayList and LinkedList? Internal data structure of HashMap? ConcurrentHashMap segment lock?
  • What are the optimizations for hashMap and concurrentHashMap in jdk1.8
  • How are hash conflicts resolved, and if they occur, how do you find the target value in the hash table
  • The difference between synchronized and ReentranLock?
  • ThreadLocal? Application scenarios?
  • Java GC mechanism? What GC Roots do you have?
  • MySQL > select * from ‘MySQL’ where row locks are locked

Second interview

  • Optimistic locks and pessimistic locks understand? Optimistic locking and pessimistic locking in the JDK
  • Nginx load Balancing policy?
  • Has Nginx been compared to other load balancing frameworks?
  • Is Redis single threaded?
  • The reason for the high concurrency of Redis?
  • How to use Redis to process hot data
  • Talk about Redis sentry, replication, clustering
  • What technical optimizations have you made in your work? JVM, MySQL, code, etc

On three sides

  • What does Spring Cloud use? How to achieve load balancing? How does the registry determine if the service is dead?
  • Network programming niO and Netty related, Netty’s threading model, zero copy implementation
  • What do you know about distributed lock implementation? Talk about a realization method in detail
  • What are the technical requirements for high concurrency application scenarios? How to design architecture?
  • Next to the problem of high concurrency, we talked about the application of technology such as seckill: Kafka, Redis, Mycat, etc
  • Finally, talk about the projects you worked on, the technical ones, the relevant architectural designs, and what core coding you were responsible for

A third

One side (50 minutes)

  • Hashmap, how to expand, how to deal with data conflicts? How to efficiently implement data migration?
  • How to implement Linux shared memory is explained briefly.
  • Socket network programming, say TCP three-way handshake and four-way wave
  • What is the difference between synchronous I/O and asynchronous I/O?
  • Java GC mechanism? What GC Roots do you have?
  • Red black tree, five features, insert and delete, time complexity?
  • What’s the worst case, what’s the best case, what’s the heap sorting time, what’s the heap building time

Second interview (40 minutes)

  • Introduce yourself, what do you do and what are you good at
  • What do design patterns know?
  • How does AtomicInteger implement atomic modification?
  • Is ConcurrentHashMap different in Java7 and Java8? Why is Java8 more concurrency efficient? When do you use —
  • HashMap, ConcurrentHashMap?
  • Redis data structure?
  • Redis data elimination mechanism?

Three sides (about 1 hour)

  • Mysql Transaction Implementation principle (MVCC)
  • How to implement primary/secondary synchronization of MySQL data?
  • MySQL index implementation, innoDB index, b+ tree index is how to achieve, why use B + tree index node, how much data stored in a node, how to specify the size, and disk page corresponding.
  • If Redis has 100 million keys, will using keys affect online services?
  • Redis persistence mode, AOD and RDB, how to implement, append logs and backup files, the underlying implementation principle if you know?
  • What was the biggest difficulty? How to overcome it?
  • What are the plans for the future?
  • What did you want to ask me?

Fourth (Transaction + Cluster + seckill Architecture)

One side

  • Common collection class differences and application scenarios
  • What do concurrent containers know?
  • How to determine if a linked list has a ring
  • How is concurrentHashMap implemented
  • How does the cluster server application share
  • JAVA Network programming: BIO, NIO, AIO differences and connections
  • Everything the JMM knows about the JVM memory model
  • JAVA garbage collection, the difference between the tag algorithm and the copy algorithm, used in what situations?
  • The difference between HTTP and HTTPS, the difference between HTTP1.x and HTTP2.0, the difference between SSL and TSL
  • The difference between GC, G1 and ZGC
  • The difference between a B+ tree and a B tree, and a red black tree
  • The difference between a memory leak and a memory overflow
  • What is the lifetime of a session
  • What do you know about the Mina framework? (I mentioned this part because I used Mina in the project)

Second interview

  • Java cas theory
  • What are the parameters of a JAVA thread pool, and what are the considerations if you are designing your own thread pool?
  • The underlying implementation of Java lock?
  • Mysql database default storage engine, what are the advantages
  • MySQL transaction isolation level, and what problems are resolved separately.
  • Four tables record scores, each about 100,000 records, how to find the best students
  • What are common load balancing algorithms
  • If Redis has 100 million keys, will using keys affect online services
  • Redis persistence mode, AOD and RDB, how to implement, append logs and backup files, the underlying implementation principle if you know

On three sides

  • Draw a complete distributed server cluster deployment diagram for a large web site
  • How does the server handle concurrency when multiple RPC requests come in
  • Talk about Redis’ sentry mechanism
  • Does database cent cent table general data amount much just need?
  • How to ensure that the database is consistent with redis cache
  • How are message queues used in projects? What specific business scenarios are used?
  • What jVM-related analysis tools have you used? Specific performance tuning steps?
  • MySQL slow SQL optimization in general how to do? What other methods are optimized?
  • Online server monitoring metrics, which do you think need the most attention? Why is that?
  • How to do pressure measurement, pressure resistance means
  • How is the seckill module designed

HR side

  • To introduce myself
  • How would you evaluate your last three rounds of interviews
  • How do you see yourself and what is your greatest core competency
  • Future career planning
  • What is your understanding of Ali’s technical atmosphere and what open source libraries have you used
  • What are your salary expectations
  • Finally, what do you want to know

Answers to interview questions

Well, everyone, that’s the end of this article! As to why the answers to the interview questions are not written directly, I would say that writing the interview questions down makes the essay very long. This will affect the readability of the article.

Now I have organized more than 1000 Java interview questions from more than 400 pages of PDF documents, which have been organized by topic.

There are also hundreds of pages of Core Java PDF.

Welcome everyone to pay attention to the public number to receive, reply: PDF can, by the way to everyone for a praise, point a concern! Hey hey



I am timothy

A flood of moral integrity, a awe-inspiring, upright Java programmer