A, Java-related
Optimistic pessimistic lock design, how to ensure the atomic nature, solve the problem;
bytes of char and double, and how the memory is distributed;
Object memory layout, and then talk about the object's death process.
Object head, detailed talk;
Sync principle Detail, sync inside throw exception how, deadlock. or let it out. How to troubleshoot dead locks. What happens to a deadlock. There is no better alternative.
A detailed talk about the collection, HashSet source code, HashMap source code, if you want to thread security how to do.
Multithreading is what solves the problem. The thread pool solves any problem.
Thread pool, how to design, how many parameters are inside, how the work queue and thread queue are structured, and how to design a thread pool if given to you.
Aqs principle, Reentranlock source code, design principle, the whole process.
Continue to chat multithreaded source code, Sync principle, and then a scene design questions;
float F = 1.4f;double d = 1.4d; with float f = 1.5f;double d = 1.5d; Is true, memory is what;
Split the source code, split ("A|b|c"), how many number of groups;
Write down the class of all Juc (Java.util.concurrent (JUC) package), use it, and then talk about the native thread operation;
Opening and closing principles, analysis of factory method model, builder model, difference. Hand out.
Talk about the JVM's big page pattern, the JVM memory model;
What is agile development, defensive programming, parallel programming. Team leader thinking;
What is the escape analysis, what is the function, what is the purpose;
How do you think a class is thread safe. What is the definition of thread safety. How many keywords are synchronized in Java. Why this design. (Chatting a lot, a bunch of why);
Two thread design questions. Remember one is: T1,T2,T3, let t1,t2 execution before performing T3, native realization.
Write a suffix expression, why to design a suffix expression, what is the benefit. Then write down infix.
I think you have done performance optimization, such as how you analyze the Oom in the project, memory leaks. Detailed thinking;
Next multithreading, when we need to analyze the number of threads, how to analyze, analyze what factors;
The difference between an abstract method and a class method can be a static abstract method.
Next, the Java clone system;
Involves Oom, JVM optimization, source problems, database optimization, multithreading and other issues;
High CPU. What happens when the CPU is high. Solve any problem.
Have you ever encountered a critical area problem? Have you ever met him? How do you solve the problem in the project?
Volatile key word function;
How to achieve Java polymorphism;
Explain the spin;
Explain the signal volume;
Under what circumstances will trigger class loading;
Java memory jitter Serious, the idea of optimization; ii. database-related
SQL optimization idea, joint index and the underlying tree structure image relationship, index structure (b +, B), why use such a structure;
Talk about the MySQL cluster. Cluster has encountered any problems. optimization of SQL.
What is the maximum amount of data you've encountered so far? Do you know how to design at 1 million? It's 10 million. It's over billions of.
How many parameters can be adjusted in MySQL except the maximum number of connections. List them all and analyze them all.
Talk about the optimized index, how to optimize;
The difference between the red and black tree and the balance tree, why the database does not use red and black trees;
What is the lock of MySQL, what is the use of intent lock;
The optimization idea of database under high concurrency;
Database under what circumstances the index will fail; third, data structure and operating system related
Data structure learned, talk about it. What structure you have learned. Tell the tree and the queue. Where's the B-tree?
Operating system Learn it, talk about it. Tell me about the system memory. Segmented paging virtual memory.
Page replacement algorithm. How many kinds. Is there an optimal permutation algorithm?
What courses have you studied? Then talk about the operating system, the kernel, the user, and so on.
Reverse chain table hand-masturbate;
Quick row, give a bunch of arrays, put specific each patition write down, the final result also write 45, 32, 41, 35, 38, 20, 50;
An integer status that determines whether the K bit bit is bit 1;
The recursive implementation of the fast-row to the recursive, you know what is the benefit of recursion?
Examples of the use of the idea of divide-and-conquer algorithm; Iv. Network-related
Tell the details of the request header.
HTTP and HTTPS. http1.0,1.1,2.0, talk about the next long connection and short connection. What is HTTPS. What if I tampered with the public key. How to Prevent.
Get and post, tell the difference, I want to simulate a grab bag.
Details the cookie and session,token,oauth2.0 protocol;
Congestion algorithm you know. What, what, respectively.
I've studied computer networks. Socket familiar with it. Is there any understanding of its read-write buffers? What's the matter? What is the sliding window? Why this design.
Then talk about HTTP Basic authentication http;
The process of HTTPS; v. Framework-related
Chat about the spring source code, know how much, have a chat;
Talk about spring annotations, @Autowire, @Resource, and their parsing process;
Talk about architecture, Access layer architecture, service layer architecture. Chat technology stack, Spring boot,spring Cloud, Docker;
The specific advantages of Spring IOC, and what is the difference between a direct new object;
Servlet lifecycle, whether a single case, why is a single case;
Spring MVC Initialization Process v. Distributed correlation
The number of RPC frameworks.
What does a consistent hash do?
How to design high concurrent high availability system. Think about what, how much to say.
What do you understand about caching? Caching is what solves the problem. What are the backend caches and what are the problems to solve separately?
Talk about distributed locks;
How do you design the system cache, why, what scene;
Also, the various implementations of cutting peaks, Redis. Mq.
Why do you use MQ to cut the peak. Solve any problem. Six, design questions
There are several machines store hundreds of millions of Taobao search log, you only have a 2g computer, how to choose the highest search heat of the 10 search keywords;
How to design an algorithm to compress a URL;
There is a page can display two ads at the same time, now has five ads, design algorithm to make five ads show probability for 1:2:3:4:5;
There are 25 horses, five tracks, and 25 horses in the least number of races; Vii. Other related
Tomcat cache, chat down the overall understanding of the cache, know how many kinds of caching;
Explain the principle of mucene, inverted index, how to do Chinese participle, based on what to do participle;
TOPN large data-volume problem;
What you want to think about the access layer. What problems have been encountered. What factors to consider when building a system.
Then project problems, optimization problems;
Be familiar with Maven, right? Let's talk about Maven's source code, when Maven conflicts, how to choose a dependency package, how we look, we meet two different versions, how we should choose, why.
How the project is grouped and what the performance tuning team should do;
Let's say the next access layer is built, cognitive analysis;
Ask the project's system to build, think, and why build it.
How to judge a piece of code is good or bad;
Reprint Link HTTPS://MP.WEIXIN.QQ.COM/S/CPZGU1-QGGKFV4DHIHW1NW