preface

It has been more than three years since I graduated in 2015. Recently, I had an interview with Ali Group (Cainiao network, Ant Financial), NetEase, Didi and Dianwuda, and finally received the offer from Dianwuda and NetEase. Ant Financial failed the second interview, but 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.

Interview overview

1. Resume should be prepared, contact information must be correct, clear and eye-catching, project experience in reverse chronological order, pay attention to describe their responsibilities in the project, resume template as simple as possible, after all, most programmers still like simple and clear.


2. Recommend Boss Direct hire, I think it is very good (not advertising).


3. The general overall interview process is phone -> on-site ->HR -> wait.


They will also need to discuss it with your previous interviewers and report it to your boss. If you are not in a hurry, you may need to compare yourself with other candidates. Therefore, the fact that they ask you to wait for news does not mean that you are finished.


5. Prepare to introduce yourself before the interview, about 1 minute is ok, you can write on paper, the telephone can read, and when you arrive at the scene of the basic also quickly recite your self-introduction.


6. Prepare a solid foundation. This is the root of everything.


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 when it comes to design questions. The interviewer is not trying to give you a few minutes to come up with a perfect architecture with a high concurrency and high availability design model.


9. Don’t rush into the interview as a communication process.

Knowledge that needs 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, and ConcurrentHashMap.


4. Which performance of HashTable or ConcurrentHashMap is better in extremely high concurrency, why and how to achieve it?


5. What security risks will HashMap have if thread safety is not handled under high concurrency? What are the specific manifestations? 6. The limits 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 the differences.


10.Java serialization.


11. The difference between passing a value and passing a reference, how Java is, there is no passing a value reference.


12. If an ArrayList is deleted during the loop, is there a problem? Why?


13.@transactional under what circumstances annotations are invalid and why.

Data structures and algorithms

1. B + tree


2. Quicksort, heap sort, insert sort (in fact, eight sorting algorithms should understand


3. Consistent Hash algorithm and application of consistent Hash algorithm

JVM

1. Memory structure of JVM.


2. How the JVM method stack works, and how the method stack differs from the local method stack.


3. How JVM stack references relate to objects in the heap.


4. Learn about escape analysis techniques.


5. Common algorithms 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.


8. How the JVM determines whether an object should be GC, and what types of objects can be considered root.


9. The difference between strong and weak virtual references and what GC does to them.


10. Whether Java can GC direct memory.


11.Java class loading process.


12. The process and advantages of parental delegation model.


13. Common JVM tuning parameters.


14. Analysis of dump files.


15. Does Java actively trigger GC (no)?

multithreading

1. How many ways can Java implement multithreading?


2. Understanding of Callable and Future.


3. What are the parameters of the thread pool? The process of creating a thread in the thread pool.


4. Functions and principles of the keyword volitile.


5. Use of synchronized keyword, advantages and disadvantages.


6. What are the implementation classes of Lock interface and what are the usage scenarios?


7. Use and implementation principle of reentrant lock, write copy process, read/write lock, segment (ConcurrentHashMap).


8. Pessimistic lock, optimistic lock, advantages and disadvantages, CAS defects, how to solve.


9.ABC how to ensure the sequential execution of the three threads.


10. What are thread states?


11. What is 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, which field to build index


3. Database connection pool.


4. Common configurations of durID.

Computer network

1.TCP and UDP are different.


2. 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

1. Observer mode


2. Proxy mode


3. Singleton pattern, there are five ways to write, you can refer to the article singleton pattern five ways to achieve


4. Check which design patterns Spring uses

Distributed correlation

1. Control of distributed transactions.


2. How to design distributed locks?


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 used by ZooKeeper?


6. How dubbo uses interfaces to communicate.

Cache related

1. Differences between Redis and memcached.


2. What data structures are supported by Redis?


3. Is Redis single threaded? Is all work single threaded?


4. How redis stores a String.


5. Deployment mode of Redis: primary/secondary, cluster.


6. Redis sentinel mode, how a key value is found in redis cluster where it is stored.


7. Redis Persistence strategy.

The framework related

1. How SpringMVC Controller matches parameters to data from the front end.


2. How did Mybatis find the specified Mapper and complete the query?


3. How Quartz completes timed tasks.


4. Implementation of custom annotations.


5. What design patterns Spring uses.


6. What are the advantages of Spring’s IOC?


7. 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.


2. Understanding blockchain


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 up on problems for a change.


2. Eight sorting algorithms 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.

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.

Hope everyone can find suitable for their own company, a happy heart of the masturbation code ~

Have not found their own suitable company in Jinsan Yinsi
Welcome to my home page into my crowd [click to enter my home page]
Receive!

In view of the above interview techniques, I also do some information sharing here, hoping to better help you.

108 Internet Interview Questions (with Answers)

Personal summary of interview questions

The interview document

Be sure to forward this article to other engineers if it helps!

For the last time!

In Jinsan Yinsi have not found their own suitable company welcome to visit my home page into my group [click to enter my home page] to get [structure information special video], this group is dedicated to learning exchange technology, share interview opportunities, refuse advertising, I will also answer questions, discussion in the group.