Alibaba Java programmers who have worked for 5 years share their experience summary and interview notes sharing

In the first year of work, it is often a year full of freshness, learning everything, and full of enthusiasm; the knowledge of the WEB industry is updated very quickly. Today is a new version of a framework, and tomorrow is another new framework, sometimes according to the project. I need to keep learning new things; all, many times I feel that I have used so many things! But there are not many things that are really studied in depth. The interview is the first question that needs to be faced after job-hopping; and different companies have different interview focuses; but there is one thing in common: Java foundation is a must.

In the first year of work, you may ask about your understanding of String object creation, what are the commonly used frameworks, etc.;
in the third year of work, you may be asked what is the Java memory allocation mechanism, how classes are loaded, etc.;
in the fifth year, Just ask what are your commonly used design patterns, what role do you play in your work, how to complete a module independently, etc.; it
can be seen that this is the growth process of a typical programmer:

Some interview questions collected in the latest 2020 (all organized into documents), there are a lot of dry goods, including detailed explanations of mysql, netty, spring, thread, spring cloud, etc., there are also detailed study plans, interview questions, etc. I feel that I am in the interview This section is very clear: to get the interview information, just: click here to get it!!! Password: CSDNInsert picture description here

Reasonable career planning

What is a career plan-is your short-term or long-term career plan! If you don't talk about major principles, let's keep it simple. Let me ask you a few questions first:

a. You have been working for several years. Would you like to be a simple programmer like a newbie?
b. Are you willing to keep writing code without caring about other things?
c. The pre-requirement, design, post-deployment and maintenance of a project, if the leader finds you, you say we can’t figure it out, okay?
Programmers are not machines for typing codes. There are too many things that you don’t understand in the first year. You can follow the boss’s arrangement, type the code, look at the database, test your own and other people’s code; but in the second year, are you still like this? Impossible, you can enter the industry after one year of experience. It's time to learn how to conduct requirements analysis, how to design a database, how to write various documents, how to write better code? This is a requirement of advanced programmers!

What is a senior programmer?

A programmer who has the ability to analyze and design, can conduct technical research, and has a deep background in a certain industry!

All, after the establishment of a project, you must actively participate in the preliminary design, think and analyze problems with the old comrades, and learn from experience! OK, you will grow up!

Don't think that programmers just write code! ! !

Moreover, through the development of a project, you need to be able to roughly calculate the development time of a function; for example, a module has 20 small function points, you have developed 80 hours, and each small function point averages 2 hours-then The workload can be assessed in the early stage. Of course, each person’s efficiency and work quality are different and vary from person to person, but the approximate workload should be statistic and used to count the work cycle of a project;

Today I will share with you the Java interview outline compiled in this job-hopping. Most of them are interview questions during the interview process. You can check this to fill in the vacancies. Of course, the list here certainly cannot cover all the methods.

Okay, now enter the body of the interview question.

Java basics

1. The difference between List and Set
2. How does HashSet ensure non-repetition
3. Is HashMap thread-safe, why not thread-safe (it is better to draw a picture to illustrate that it is not safe in a multi-threaded environment)?
4. HashMap expansion process
5 、The difference between HashMap 1.7 and 1.8, explain what optimizations have been made in 1.8 and how to optimize them?
6, final finally finalize
7, strong reference, soft reference, weak reference, phantom reference
8, Java reflection
9, Arrays.sort realization principle and Collection realization principle
10, LinkedHashMap application
11, cloneable interface realization principle
12, exception classification and handling Mechanism
13, the difference between wait and sleep
14, how to allocate the array in memory

Java concurrency

1. Implementation principle of synchronized and lock optimization?
2. The realization principle of volatile?
3. Java semaphore?
4. What is the difference between synchronized in static method and ordinary method?
5. How to realize that all threads wait for an event to occur before executing?
6. CAS? What are the shortcomings of CAS and how to solve it?
7. What is the difference between synchronized and lock?
8. How is Hashtable locked?
9. What is the concurrency problem of HashMap?
10. What is ConcurrenHashMap? Why use red-black trees in 1.8?
11. AQS
12. How to detect deadlock? How to prevent deadlock?
13. Java memory model?
14. How to ensure the correct result of i++ under multithreading?
15. Types, differences and usage scenarios of thread pools?
16. Analyze the realization principle of thread pool and thread scheduling process?
17. How to tune the thread pool and how to confirm the maximum number?
18. ThreadLocal principle, what should I pay attention to when using it?
19. The usage of CountDownLatch and CyclicBarrier, and the difference between them?
20. LockSupport tool
21. Condition interface and its implementation principle
22. Understanding of Fork/Join framework
23. Principle of segmented lock, thinking about reducing lock strength
24 , Eight kinds of blocking queues and the characteristics of each blocking queue

Spring

1. BeanFactory and FactoryBean?
2. What is the understanding of Spring IOC and its initialization process?
3. BeanFactory and ApplicationContext?
4. How is the life cycle of Spring Bean managed?
5. What is the loading process of Spring Bean?
6. If you want to implement Spring AOP, how do you implement it?
7. If you were to implement Spring IOC, what issues would you pay attention to?
8. How does Spring manage transactions and transaction management mechanisms?
9. What are the different transaction propagation behaviors of Spring and what are they used for?
10. What design patterns are used in Spring?
11. How does Spring MVC work?
12. The principle of Spring cyclic injection?
13. Understanding of Spring AOP, each terminology, how do they work with each other?
14. How does Spring ensure the security of Controller concurrency?

Netty

1. BIO, NIO and AIO
2. Netty's major components
3. Netty's threading model
4. TCP sticky/unpacking reasons and solutions
5. Which serialization protocols do you know? Including usage scenarios and how to choose
6, Netty's zero copy implementation
7, Netty's high performance performance

Distributed correlation

1. Dubbo's underlying implementation principle and mechanism
2. Describe the detailed process of a service from being published to being consumed
3. How a distributed system does service governance
4. The concept of interface idempotence
5. How message middleware solves the problem of message loss
6. How to deal with Dubbo's service request failure
7. Will the reconnection mechanism cause errors
8. Understanding of distributed transactions
9. How to achieve load balancing and what algorithms can be implemented?
10. What is the purpose of Zookeeper and the principle of election?
11. Vertical splitting of data and horizontal splitting.
12. Zookeeper principle and applicable scenarios
13. Zookeeper watch mechanism
14. How to deal with redis/zk node downtime
15. How to achieve unique serial number in distributed cluster
16. How to make a distributed lock
17. Which MQs have been used, how What are the advantages and disadvantages compared with other mq? Is the connection of MQ thread safe?
18. How to ensure that the data of the MQ system is not lost?
19. List the database sub-database sub-table strategies you can think of; after sub-database sub-table , How to solve the problem of full table query
20, zookeeper election strategy
21, global ID

database

1. What are the optimizations for mysql paging?
2. Pessimistic locking, optimistic locking
3. Combined index, the leftmost principle
4. MySQL table lock, row lock
5. MySQL performance optimization
6. MySQL index classification: B+, hash; in what situation What index
7, transaction characteristics and isolation level

Cache

1. What data has been used by Redis, and how the underlying Redis is implemented
2. Redis cache penetration, cache avalanche
3. How to use Redis to implement distributed locks
4. How to solve the problem of concurrent competition
in Redis 5. Several types of Redis persistence Ways, what are the advantages and disadvantages, how to implement it
6. Redis cache invalidation strategy
7. Redis cluster, high availability, principle
8. Redis cache fragmentation
9, Redis data elimination strategy

JVM

1. Detailed jvm memory model
2. Tell me about the circumstances under which memory overflow or memory leak occurs?
3. Talk about the Java thread stack
4. What are the criteria for judging the promotion process from the young generation to the old generation of the JVM?
5. JVM appears fullGC very frequently, how to troubleshoot online?
6. Why use the parental delegation model for class loading? Are there any scenarios that break this model?
7. Class instantiation order
8. JVM garbage collection mechanism, when to trigger MinorGC and other operations
9. What is a complete GC process (from ygc to fgc) in JVM
10. Various collectors, their advantages and disadvantages, key points CMS, G1
11, various recovery algorithms
12, OOM error, stackoverflow error, permgen space error

Some interview questions collected in the latest 2020 (all organized into documents), there are a lot of dry goods, including detailed explanations of mysql, netty, spring, thread, spring cloud, etc., there are also detailed study plans, interview questions, etc. I feel that I am in the interview This section is very clear: to get the interview information, just: click here to get it!!! Password: CSDNInsert picture description here

Guess you like

Origin blog.csdn.net/a646705816/article/details/109310231