The opening is introduced
Personal Background:
Don’t talk too much nonsense, but let you at least have a basic understanding of me first. I graduated from a second university in Zhejiang province with a professional training background. After graduation, I joined an outsourcing company to do development, but of course it was not ali’s outsourcing company. The specific company will not be disclosed.
Explain the reasons:
In the two years of working in an outsourcing company, I was really qualified as a vegetable chicken. I didn’t make any progress in technology, nor did I improve my vision, nor did I have a plan for the future, which made me really anxious. The reason why I started to change myself was that something happened to my family, which made me start to think about life. Many people around me have lamented that it is a legend to reverse the attack from outsourcing, so I want to share my personal experience today, hoping to encourage some peers who have similar experience with me.
Note: this interview process is relatively long, the content is various, in the article I basically outlined, the full version of the interview questions in the article and my personal summary method experience (interview learning and brush notes), have organized a complete PDF version, if necessary, pay attention to the end of the article public number to obtain
Alibaba Java post interview questions to share
1. What is the internal structure of HashMap? Internal principles? If a hash collision occurs, how can we design the traversal to be efficient?
2. Tell me about ConcurrentHashMap.
3. Explain the JVM memory structure and what they do.
4. Talk about the JVM’s class loading process && parent delegate model.
5. Talk about Java’s garbage collection algorithm.
6. Talk about triggers for Java garbage collection.
7. Difference between synchronized and Lock.
8. What is the difference between volatile and synchronized?
9. Is there a problem with ++ I in multi-threaded environment? How to solve it?
Thread.sleep() and thread.yield ().
11. What are the common container classes?
12. How to remove duplicate elements from an ArrayList?
- Just use HashSet. As an argument to it, and then addAll. However, this method does not guarantee the original order, if the order is required, you can use LinkedHashSet.
13. Talking about Generic erasure in Java, what problems are generics mainly designed to solve? How to parse Json with generics?
14. Talk about the difference between Java Error and Exception.
- Error and Exception are both integrated with Throwable, but Error generally refers to a virtual machine-related problem, such as system crash, VIRTUAL machine Error, OOM, etc., which should be terminated. Exception represents an Exception that a program can handle, catch, and possibly recover.
15. What is the difference between a soft reference and a weak reference?
16. Can member variables and static methods be overridden? What are the rules for rewriting?
17. When an inner class accesses a local variable, why must the variable have the fifinal modifier?
- Because the life cycle is different.
18. What can cause memory leaks?
19. What is a thread deadlock and how can it be resolved?
20. One billion Taobao purchase records, how to obtain the top ten appear most?
- This is a typical limited memory of massive data processing problems. The answer to this question is as follows:
- Divide and conquer, Hash mapping, heap sort, double bucket partition, Bloom Filter, Bitmap, database index, MapReduce, etc.
- There are many different scenarios. This kind of topic can search to the net, understand next routine, the back will be basically.
21. Talk about the difference between Innodb and MySIAM
22. Talk about the JVM memory model and introduce what you know about the garbage collector
- There is no such thing as a JVM memory model. It should be either the Java memory model or the JVM memory structure.
23. How do I access the middle node of the list
- For this problem, the first thing we can think of is to go through the entire list first, then calculate the length of the list, and then go through the second time to find the data in the middle. It’s very simple.
- How do you solve the problem if you’re asked to go through the list only once?
- Two Pointers can be established, one pointer traverses two nodes at a time, and the other node traverses one node at a time. When the fast pointer traverses the empty node, the slow pointer points to the middle position of the linked list. This method is called fast and slow pointer method to solve the problem.
23. The HR asked
- From a technical standpoint, how do you compare to your former colleagues?
- Tell me about your personal strengths.
- What do you feel lacking in your work?
- Why do you want to come to Ali? What attracted you to Ali?
Pay attention to the end of the public account to obtain
Interview summary and suggestions
In fact, every Java interview is a learning opportunity to sort out, assess and review your technical knowledge stack. We should hold the attitude of learning, treat it seriously, find their own weak links, as soon as possible to check the deficiency of learning consolidation. For the interview, in fact, there are not too many skills to speak of, the interviewer mainly values personal ability, nothing more than two aspects:
- Technical breadth
- Technical depth
How is outsourcing CRUD loser going back?
Outsourcing of my background, how much food, how diaosi? When I was asked in the interview what membership variables were, I didn’t know anything about them. I believe that this degree should be felt by you.
So how did I turn the tables as an outsourcing CRUD loser?
Note: the following is mainly my personal summary method experience (interview study and brush notes), are organized in PDF version, pay attention to the end of the public account to obtain
Sort out the knowledge system and learn to check and fill gaps
2 years, 5 months and 13 days, from outsourcing to winning the offer from Ali, I never thought diaosi could have today
As for the sorting of knowledge system, I mainly divide it into the following five parts. If I break down these five parts in a targeted way, there will be no problem to handle the interview.
- Concurrent programming: multithreading, high concurrency, CAS, locking, containers, thread pool bottom layer
- Performance tuning: Mysql, IO and network tuning, algorithm tuning, JVM
- Spring family bucket: Spring, SpringMVC, MyBatis, IOC, AOP
- Cache database: Redis, mongoDB, MySQL
- Distributed & Microservices: SpringBoot, SpringCloud, Docker, Maven
02 According to the main points, break down one by one (review according to the outline content)
1. Concurrent programming (Notes on core Technologies)
- Java Multithreading skills
- Concurrent access to objects and variables
- Interthread communication
- The use of the Lock
- The Timer Timer
- Singleton versus multithreading
- Pick up in supplementary
2 years, 5 months and 13 days, from outsourcing to winning the offer from Ali, I never thought diaosi could have today
2 years, 5 months and 13 days, from outsourcing to winning the offer from Ali, I never thought diaosi could have today
2. Performance tuning (Java performance tuning +MySQL tuning +JVM tuning)
2 years, 5 months and 13 days, from outsourcing to winning the offer from Ali, I never thought diaosi could have today
3.Spring Family bucket (Spring family bucket learning brain map +SpringBoot using notes + source depth analysis)
- Spring Learning Mind Map (Xmind)
2 years, 5 months and 13 days, from outsourcing to winning the offer from Ali, I never thought diaosi could have today
- Spring uses notes + field documentation
2 years, 5 months and 13 days, from outsourcing to winning the offer from Ali, I never thought diaosi could have today
2 years, 5 months and 13 days, from outsourcing to winning the offer from Ali, I never thought diaosi could have today
MySQL+Redis+mongoDB
2 years, 5 months and 13 days, from outsourcing to winning the offer from Ali, I never thought diaosi could have today
03 Finally look at the interview questions to draw inferential conclusions (brush the questions brush the questions, important things say three times)
There are ways to brush questions about the interview, it is best to carry out according to the topic, and then from the basic to the advanced, from the shallow to the deep, the effect will be better. Of course, I’ve organized all of this in a PDF document, grouped into the following topics:
- Java Basics
2 years, 5 months and 13 days, from outsourcing to winning the offer from Ali, I never thought diaosi could have today
- Algorithms and programming
2 years, 5 months and 13 days, from outsourcing to winning the offer from Ali, I never thought diaosi could have today
- Database section
2 years, 5 months and 13 days, from outsourcing to winning the offer from Ali, I never thought diaosi could have today
- Popular frameworks and new technologies (Spring+SpringCloud+SpringCloudAlibaba)
2 years, 5 months and 13 days, from outsourcing to winning the offer from Ali, I never thought diaosi could have today
JVM, design patterns, ZK, MQ, data structures, and more are covered in this interview document.
At the end of the article
As a programmer, periodical learning is essential and needs to maintain a certain degree of continuity. In this stage, I systematically reviewed some key knowledge points, on the one hand to consolidate my foundation, on the other hand to improve the breadth and depth of my knowledge.
As a final reminder, if you want to learn, but do not have a dry goods learning materials, all of the above information content can be shared with you for free, as long as you support a lot – “follow the public account below to get