A preface.

It has been nearly three years since I graduated in 2016. Recently, I interviewed with Ali Group (Cainiao network, Ant Financial), netease, Didi and Dianwuda. Finally, I received offers from Dianwuda and netease, but ANT Financial failed the second interview, while Cainiao network is still in process for a month. Finally, I had the honor to go to netease. However, I would like to thank the leadership and HR of Dianweda for their great care and guidance. Two. Interview overall matters

1, resume should be prepared, contact information must be correct clear eye-catching, project experience in reverse chronological order, pay attention to describe their responsibilities in the project, resume template as far as possible to choose concise, after all, most programmers still like simple and clear. 2, recommend boss direct hire, I think very easy to use (not advertising). 3, the general overall interview process is phone -> site ->HR -> waiting. They also need to discuss with your previous interviewer and report to your boss. If you are not in a hurry, you may have to compare with other candidates, so the HR telling you to go back and wait for news definitely does not mean that you are finished. 5, before the interview ready to introduce yourself, about 1 minute can, can write on paper, the electricity can read, when you arrived at the scene of the basic also quickly recite down your self-introduction. Prepare a solid foundation, this is the root of all, no strength how useless. 7. During the interview, you can steer your interviewer toward what you know (I’ve met people who don’t ask what you know). 8. Don’t worry if you encounter design questions. The interviewer is not asking you to design a perfect architecture with a high concurrency and high availability design pattern in a few minutes. 9. There are all the offers, so don’t rush and make the interview a communication process. 3. Knowledge to be prepared

Here are more impression in the interview in the near future, also won’t be the branch, because there is little meaning, roughly classified records, only think of so many, but must know that these problems are just the tip of the iceberg, even if will also not how, the most important, or a solid foundation, a clear head. Java based

1, HashMap source code, implementation principle, JDK8 to do HashMap optimization. 2. How to expand HaspMap? Why are the sizes of 2 to the NTH power? 3. Differences between HashMap, HashTable, ConcurrentHashMap. 4. Which performance of HashTable or ConcurrentHashMap is better in extremely high concurrency, why and how to achieve it? 5. What are the security risks of HashMap if it does not handle thread safety under high concurrency? The scope of the four modifiers in Java. 7. Methods in the Object class. 8. The difference between an interface and an abstract class. Note that interfaces in JDK8 can have implementations. 9. Two ways of dynamic proxy, and their differences. 10. Java serialization. 11, the difference between passing value and passing reference, Java is how, there is no passing value reference. 12, If an ArrayList is deleted during the loop, will there be a problem? Why? 13. When does the @Transactional annotation fail and why? Data structures and algorithms

1, B+ tree 2, quick sort, heap sort, insert sort 3, consistent Hash algorithm, consistent Hash algorithm application JVM

1. JVM memory structure. 2. How the JVM method stack works, and what is the difference between the method stack and the native method stack? How JVM stack references relate to objects in the heap. 4. You can learn about escape analysis techniques. 5. The common algorithm of GC, garbage collection process of CMS and G1, which two Stop the world in each stage of CMS, whether CMS will generate fragments, advantages of G1. 6. Understanding, advantages and disadvantages of tag clearing and tag collation algorithms. 7. Proportion of Eden Survivor zone, why this proportion, and Eden Survivor working process. How does the JVM determine whether an object should be GC, and what types of objects can be considered root? The difference between strong and weak virtual references and what the GC does to them. Can Java GC direct memory? The process of Java class loading. 12. The process and advantages of parental delegation model. Common JVM tuning parameters. 14, dump file analysis. 15. Is there any way for Java to actively trigger GC (no)? multithreading

1, Java to achieve multithreading which ways. 2. Understanding Callable and Future. 3, thread pool parameters are what, in the thread pool to create a thread process. 4, volitile keyword function, principle. 5, the use of synchronized keyword, advantages and disadvantages 6. What are the implementation classes of Lock interface and what are the usage scenarios? 7, Use of reentrant lock and implementation principle, write copy process, read/write lock, segment (ConcurrentHashMap segment). 8, pessimistic lock, optimistic lock, advantages and disadvantages, CAS has any defects, how to solve. 9, how to ensure the sequential execution of ABC three threads. What are the states of threads? 11. The difference between sleep and wait 12. The difference between notify and notifyall. 13. Understanding ThreadLocal and its implementation principle. Database correlation

1, common database optimization methods 2, the advantages and disadvantages of index, what field to establish index 3, database connection pool. 4. Common configuration of DURID. Computer network

1. TCP and UDP are different. Two, three handshakes, four waves, why four waves. 3. Long connection and short connection. 4. Is the connection pool suitable for long connections or short connections? Design patterns

The singleton pattern can be implemented in the following ways: (1) The observer pattern (2) the proxy pattern (3) the singleton pattern (5

1. Control of distributed transactions. 2, how to design distributed lock. 3. How to design distributed session. 4. What are the components of Dubbo and what are their functions? 5. What are the load balancing algorithms of ZooKeeper? 6. How Dubbo can communicate using interfaces. Cache related

The difference between Redis and memcached 2. What data structures redis supports? Is Redis single threaded? Is all work single threaded? How does Redis store a String? 5. Deployment mode of Redis, primary/secondary, cluster. 6, Redis sentinel mode, how a key value in the Redis cluster to find where to store. 7. Redis Persistence strategy. The framework related

1. How the SpringMVC Controller maps parameters to data from the front end. 2, Mybatis how to find the specified Mapper, how to complete the query. 3. How Quartz completes timed tasks. 4, the implementation of custom annotations. 5. What design patterns Spring uses? 6. What are the advantages of Spring’s IOC? How Spring maintains the beans it owns. Something newer

1. New features of JDK8, the concept of stream and its advantages, why it has such advantages. 3. How to design the double 11 transaction total panel to achieve high concurrency and high availability. Some tips

1, you can go to Leetcode to brush the problem for a change of thought. 2, eight sorting algorithm must hand knock again (fast row, heap row is especially important). 3. Learn about emerging technologies. 4. After the interview, the interviewer will ask you if you have any questions. Don’t be ok and don’t be silly to ask sensitive questions. 5. Know the products of the company and the competing products. 4. To summarize

No matter which company it is, they are very focused on high-concurrency, high-availability technologies, they are focused on infrastructure, they are focused on JVMS. The interview is a two-way selection process, do not hold the mentality of fear to interview, is not conducive to their own play. It’s not just the salary you’re looking for, it’s whether you really like the company and whether you’re getting a real workout. In fact, I have written so much, just my own summary, not necessarily applicable to everyone, I believe that after some interviews, you will have these feelings. Finally, I hope everyone can find his own company, a happy heart of lu source code ~ : segmentfault.com/a/1190000013550405

This article is published by OpenWrite!