Puben, outsourcing for two years, reviewing the underlying knowledge, counterattacked into Alibaba!

Personal background:

Don't talk too much nonsense, but at least let you have a basic understanding of me. I graduated from a second college in Zhejiang Province. I was born in a major. After graduation, I joined an outsourcing company to do development. Of course it was not Ali’s outsourcing. I won’t disclose the specific company. I stayed in outsourcing for more than 2 years. , I have not left outsourcing until now, and now I got the offer of Ali and I am ready to join.

Explain the reason:

In the two years in an outsourcing company, as a rookie, he was indeed very qualified. There was no improvement in technology, no improvement in sight, no plan and no future, which made people really anxious. The reason why he started to change was that the family had changed. I started thinking about life myself. Many people around me have lamented that being able to counterattack from outsourcing is legendary, so today I want to share my personal experience, hoping to encourage some colleagues who have similar experiences with me.

Note: This interview process is relatively long and contains a lot of content. In the article, I basically describe it briefly. The full version of the interview questions in the article and my personal summary method experience (interview study and brushing notes) are all organized in PDF. Version, friends who need to pay attention to me add VX: MXW5308 can get it for free

 

Alibaba Java post interview questions sharing

1. What is the internal structure of HashMap? Internal principle? The difference with HashTable, if a hash collision occurs, how to design to make the traversal efficiency high?

2. Tell me about ConcurrentHashMap.

3. Talk about the memory structure of the JVM virtual machine and their function.

4. Talk about the JVM class loading process && parent delegation model.

5. Talk about Java's garbage collection algorithm.

6. Talk about the trigger conditions of Java garbage collection.

7. The difference between synchronized and Lock.

8. With the use of volatile, why is the variable reading inconsistent, and the difference with synchronized?

9.++i Is there a problem in a multi-threaded environment and how to solve it?

10. Tell me about the difference between Thread.sleep() and Thread.yield()?

11. Tell me about the commonly used container classes?

12. How to remove duplicate elements of ArrayList?

  • Just use HashSet directly. As its parameter, then addAll. But this method does not guarantee the original order, if order is required, you can use LinkedHashSet.

13. Talk about Java's generic erasure. What kind of problems does generics solve? How to use generics to do Json parsing?

14. Talk about the difference between Java's Error and Exception.

  • Both Error and Exception are integrated with self-throwable, but Error generally refers to problems related to virtual machines, such as system crashes, virtual machine errors, OOM, etc. If such errors are encountered, the program should be terminated. Exception means an exception that can be handled by the program, which can be caught and possibly recovered.

15. Tell me about the difference between soft and weak references?

16. Can member variables and static methods be rewritten? What are the rules for rewriting?

17. When an internal class accesses a local variable, why must the variable be added with the fifinal modifier?

  • Because the life cycle is different.

18. What conditions can cause memory leaks?

19. What is thread deadlock and how to solve it?

20. One billion Taobao purchase records, how to get the top ten most appearing?

  • This is a typical problem of massive data processing with limited memory. Generally, the answers to such questions are nothing more than the following:
  • Divide and conquer, hash mapping, heap sorting, double bucket partitioning, Bloom Filter, bitmap, database index, mapreduce, etc.
  • There are many different scenarios for specific situations. You can search for these kinds of topics on the Internet to understand the routines, and you will basically be able to do them later.

21. Tell me about the difference between Innodb and MySIAM

22. Talk about the JVM memory model, introduce the garbage collector you know

  • In fact, there is no concept of the JVM memory model. It should be the Java memory model or the jvm memory structure. The interviewer here must listen to which one is being asked before answering.

23. How to access the intermediate node of the linked list

  • For this problem, the first thing we can think of is to traverse the entire linked list first, then calculate the length of the linked list, and then traverse the second pass to find the data in the middle position. This way is very simple.
  • If the problem requires that the linked list can only be traversed once, how to solve the problem?
  • 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 to an empty node, the position pointed to by the slow pointer is the middle position of the linked list. This solution to the problem is called For the fast and slow pointer method.

23.HR asked

  • From a technical point of view, how do you compare to your former colleagues?
  • Talk about your personal strengths.
  • What do you feel lacking in your work?
  • Why do you want to come to Ali? What aspect of Ali attracted you?

Interview summary and suggestions

Every Java interview is actually a learning opportunity, combing, evaluating, and reviewing one's own technical knowledge stack. We should take the attitude of learning, take it seriously, find our weaker links, and find out the missing parts as soon as possible to study and consolidate. For interviews, there are actually not too many skills at all. The interviewer mainly focuses on personal ability, which is nothing more than two aspects:

  • Technology breadth
  • Technical depth

How did the outsourcing CRUD dicks counterattack?

I was born out of outsourcing, how good is it, how good is it? When I was still outsourcing, I was asked what is a member variable during the interview. I don't know anything. I believe everyone should feel this way.

As an outsourced CRUD dick, how did I counterattack?

Note: The following is mainly my personal summary method experience (interview study and brushing notes), all have been compiled in PDF, complete with VX: MXW5308, you can get it for free

01 Sort out the knowledge system and learn to check for omissions

Regarding the combing of the knowledge system, I personally mainly divide it into the following 5 parts, which are targeted. If these 5 parts are gradually broken, then there is basically no problem in getting the interview.

  • Concurrent programming: multithreading, high concurrency, CAS, lock, container, 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 Break down one by one according to the main points (review according to the outline content)

1. Concurrent programming (core technical notes)

  • Java multithreading skills
  • Concurrent access to objects and variables
  • Inter-thread communication
  • Use of Lock
  • Timer
  • Singleton mode and multithreading
  • Supplement

2. Performance tuning (Java performance tuning + MySQL tuning + JVM tuning)

3. Spring family bucket (Spring family bucket learning brain map + SpringBoot usage notes + deep analysis of source code)

  • Spring learning mind map (Xmind)

  • Spring usage notes + actual documentation

4. Cache database (MySQL+Redis+mongoDB)

03 Finally, look at the interview questions to draw inferences from one another (swipe the questions and brush the questions, and tell the important things three times)

There are also methods for interviewing questions. It is recommended to follow the topic, and then from basic to advanced, from the shallower to the deeper, the effect will be better. Of course, I also organized all these contents in a pdf document, divided into the following major topics:

  • Java basic part

  • Algorithm and programming

  • Database part

  • Popular frameworks and new technologies (Spring+SpringCloud+SpringCloudAlibaba)

This interview document is of course more than these contents. In fact, other parts of the interview content such as JVM, design patterns, ZK, MQ, data structures, etc. are involved. Because of the length of the article, not all of them are explained here. If you need it, you can write privately." Download the full version of Interview Questions for free.

Written at the end of the article

As a programmer, periodic learning is indispensable, and it is necessary to maintain a certain degree of continuity. This time, during this stage, I conducted a systematic review of some key knowledge points, and on the one hand, I consolidated my own The foundation, on the other hand, has also improved the breadth and depth of their knowledge.

Last reminder, if you want to learn, but are helpless without dry goods learning materials, all the above materials can be shared with you for free, as long as you support it.

Add VX: MXW5308 to get it for free

Guess you like

Origin blog.csdn.net/weixin_45132238/article/details/115244957