Netease interviewed the Java development Liangliangjing, the interviewer: the foundation is not strong, the technology is not deep enough, no offer, no Netease...

Preface

I was also introduced to NetEase by a friend. I first submitted a resume, and then my friend informed me that I was ready for an interview, so I came to NetEase with a nervous mind. The interview was with a handsome bald-headed uncle. It started at 3 o'clock in the afternoon. I had prepared a lot of preparations to deal with technical questions and answers. The result was still too bad and I missed Netease...

img


First of all, thank you, and thank the Netease interviewer for your affirmation and suggestions.

NetEase has gone through four rounds of interviews, the first three rounds of technical, and the fourth round of directors.

Position: I delivered a Java development position in Hangzhou Research Institute.
Itinerary: Half-day travel between Nanjing and Hangzhou, 2 hours one-way, from Hangzhou East Railway Station = NetEase Building, one-way 1 hour (if you can buy a high-speed train ticket for the city station, you can trigger it from the city station.)
Eat: you can go Netease canteens are free to eat. As long as people go in, they can eat at the time of eating.
Interview: 4 sides. Unfortunately, I don’t have an HR side. I originally wanted to go for a swim, and after a row, I was content.
The following are mainly from Java core technology, multi-threaded concurrent programming, database, personal projects and topics, framework technology, etc. to mark the issues I still remember.

One side: technology (about 65 minutes)

Self-introduction (personal information: finished in one minute);

The difference between abstract class and interface

If the methods in an abstract class are all abstract, are they just interfaces? Why do some classes implement multiple interfaces after inheriting a class?

In multithreading, which thread pool has been used by the thread pool?

Explain all the parameters in the thread pool

The process of transition from corePoolSize to maximumPoolSize in the thread pool, and then keep asking me about the reverse conversion operation

The whole process of HTTP sending request and receiving response;

Explain the 403 and 500 states separately, what is the difference between them;

How to change all the keys to "NetEase+Original Key" in a HashMap that has stored data, which means adding the prefix "NetEase" to all keys.

Spring's AOP principle and underlying implementation

Talk about Spring's annotations; (frame technology)

Talk about the difference between static proxy and dynamic proxy; (Java core technology)

The difference between static proxy and adapter design patterns; (Java core technology)

The difference between tcp and udp;

Cglib bottom layer implementation; (framework technology: stunned)

The principle and realization of optimistic locking of database; (database: stunned)

It's almost so much, and there are still others that I can't remember. The main reason is that the time for consideration and discussion of practical issues is longer.

Two sides : technology (50 minutes)

New features of jdk8, if you want to implement lambda expressions in jdk7, how would you implement them?

hashcode and equal

wait and notify

Implementation of hashtable

What are the thread-safe ones, and what are the thread-safe ones that jdk does not set synchronization

CAS, how to solve the ABA problem

The difference between Error and Exception

The difference between Session and cookie, how to solve if cookie is disabled in the browser

IOException and NPE belong to what kind of exceptions, do they need to be run to report exceptions, and why are they set up?

Some jvm tools, how to detect memory leaks

AtomicReference source code

What to do at each step of the whole process of jvm class loading, delegated by the parents

Understanding of object-oriented and design patterns

Redis and Kafka bottom layer

How maven resolves package conflicts

Have you used gradle?

The difference between rebase and merge in git

Three sides: technology (about an hour)

  • The design principle and significance of database index
  • Following the above question, I asked how to design an index for a given database. What should I pay attention to?
  • Given the Taobao spike scenario, please design the system to achieve spike
  • Weibo fans and followers, and user information, please implement database tables to associate these tables
  • For the table I designed, I performed a query operation, and asked me how many operations were performed after all the tables were queried.
  • What project did the internship do before? Explain. (Project experience)
  • For the project, what should I do if the collection can’t be stored when a large amount of data is proposed?
  • Talk about the transaction principle in Spring;
  • Talk about the principle of transactions in the database
  • Handwriting jdbc to connect to the database code
  • What are the transaction characteristics of the database? (database)
  • Is communication more software or hardware? Why learn Java
  • Finally, what do I have to ask? (Question link: I really want to ask him if he is involved in databases, most of them are databases, and they are tortured to death.. Finally, I asked two small questions and asked me to go back to the front desk and wait for notification)

All sides (director's face 25 min)

  • Self introduction
  • What courses have you studied in the university? Then asked about the scores of certain courses
  • What is the time complexity of building a heap for an unordered array?
  • What is a deadlock? How did it happen (the condition that caused the deadlock)?
  • Sliding window in TCP
  • Have you read the book "Introduction to Algorithms"?
  • career planning
  • Why choose Hangzhou instead of Beijing
  • The most impressive project

Interview summary:

Sure enough, the end, after all, I am a scumbag technology, abused into a dog, no project experience, at a loss by the actual questions asked by the interviewer. For me, Netease asks a wide range of things, and it gives me a lot of insights, study hard, and go down every day.

To be honest, I don’t want to bother anymore, because after so many written tests and interviews, I found that my skills are really poor, my foundation is not strong, and my knowledge is not deep enough. I habitually ask the interviewer to comment after the interview My performance is probably "not deep enough to understand certain knowledge points" and "strengthen the foundation".

If I fail to secure the research in the end, I will devote myself to preparing for next year's spring recruitment. It is said that the pressure will be even greater and more difficult at that time. What can I do? Come on! ! !

The basis of the interview is very important!

Summary of Java interview knowledge points

  • type of data
  • String
  • Calculation
  • Keyword
  • Object general method
  • inherit
  • reflection
  • abnormal
  • Generic
  • annotation
  • characteristic
  • Design patterns in containers
  • Source code analysis
  • Vector
  • CopyOnWriteArrayList
  • LinkedLis
  • HashMap
  • ConcurrentHashMap
  • LinkedHashMap
  • synchronized keyword
  • volatile keyword
  • ThreadLocal
  • Thread state transition
  • Use threads
  • Basic threading mechanism
  • Interrupt
  • Exclusive synchronization
  • JUC-AQS
  • Thread unsafe example
  • Memory model
  • Thread safe
  • Lock optimization

JVM

1. Run-time data area
2. Garbage collection algorithm
3. Class loading process:
4. Reference type
5. Garbage collection algorithm
6. Garbage collector
7. Memory allocation and recovery
8. Memory allocation strategy

computer network

1. Briefly describe TCP's three-way handshake and four waved hands. Why do you need three-way handshake? Why does the client enter TIME_WAIT?
1.1 Why is there a three-way handshake?
1.2 Why is there TIME_WAIT?
2. TCP congestion control
3. The process of the browser inputting the URL to request the server, and analyzing which parts of it use the cache.
4. ARP (Address Resolution Protocol)
5. HTTP flow control, specific control algorithms
6. Computer network architecture
7. Routing protocol
8. UDP and TCP comparison

MySQL

1. mysql index, the leftmost matching principle
2. mysql master-slave replication
3. mysql clustered index, non-clustered index
4. mysql joint index, what should I pay attention to?
5. Why does the database use B+ trees to implement indexes?
6. MySQL index
7. Comparison between InnoDB and MyISAM
9. How is the MySQL database inserted?

Database
1. Database concurrency consistency problem
2. Blocking
3. Multi-version concurrency control
4. Exception and database paradigm
5. Connection

Data structure 1.
Difference between B+ tree and B tree
2. Red-black tree
3. Difference between red- black tree and balanced binary tree

Framework
1. Mybatis dynamic proxy
2. What is Spring IOC? How did it happen?
3. How to realize the reflection mechanism in Spring IOC?

These preparations need to be done in addition to technology

The first is to prepare your resume

You have to be clear: Don’t write on your resume what you don’t know. In addition, you have to consider how you can make your highlights stand out in your resume.

For example: what you have done in a certain project solves what problems (as long as there is a project, there must be problems to be solved), what technology you use in a certain project, the overall performance and concurrency have improved a lot, and so on.

Interview and work are two different things. Smart people will lead the interviewer to the field they are good at, while others will be led by the interviewer. Although interviews and work are two different things, if you want to get a satisfactory offer, you must be strong.

You must know the following points:

  1. Most of the company’s HRs say that we don’t value academic qualifications (lie to you!), but if your school is not outstanding, it is difficult to stand out from a bunch of resumes, unless your resume has special highlights, such as: The internship experience of a large factory, the prize of a certain contest, etc.;
  2. Most fresh graduates have no work experience or internship experience when looking for a job, so if you are a fresh graduate, don't miss the autumn and spring recruitment. Once you miss it, you will most likely face social recruitment later. At this time, if you have no work experience, you may face various obstacles, resulting in not being able to find a good job;
  3. You must be cautious about what you write on your resume. This is where the interviewer asks a lot of questions;
  4. It is very important to display your project experience perfectly.

Java learning route and method recommendation

The following learning route and method are derived from the blogger's summary and improvement based on personal learning experience. I believe that your learning efficiency will be very high according to this learning route.

Let me talk about a mistake that is easy for beginners to make: learn through projects when you come up. Many beginners come up like learning by doing projects, especially in the company. I think this is not desirable.

If the basics of Java or Spring Boot are not good, it is recommended that you learn it in advance before you start watching videos or doing projects in other ways.

I don't know why everyone will say that it is the best way to follow the project and learn to do it. I think it is necessary to add a premise that you have a basic understanding of this technology or that you have a certain understanding of programming.

Insert picture description here


Next is the document learning materials I compiled for each module to help you learn more in detail.

These contents are free to share with everyone, friends who need the full version, click here to see how to get it

"Java Core Knowledge Collection (283 pages)"

Content covers: Java basics, JVM, high concurrency, multithreading, distributed, design patterns, Spring family bucket, Java, MyBatis, ZooKeeper, Dubbo, Elasticsearch, Memcached, MongoDB, Redis, MySQL, RabbitMQ, Kafka, Linux, Netty, Tomcat, database, cloud computing, etc.

Insert picture description here

"Java Advanced Core Knowledge Collection (524 pages)"

Insert picture description here

The following system learning resources to share are based on detailed explanations of common Java interview questions of major Internet companies, and introduce you to the necessary knowledge points from the perspective of the interview, as well as the practical application of the knowledge points in the project.

Help you reorganize and establish a knowledge system for Java development on the basis of the present. Whether you want to improve Java's internal strength in the short term, break through the bottleneck of your own work capabilities, or prepare to participate in a Java interview, you will have some gains in this information.

"Java Programmer's Sprint Guide "Mianjing Chapter""

Insert picture description here

"The most complete Alibaba Java interview question summary and answers in history"

Insert picture description here

"2021 Gold Three Silver Four Newly Released "Java Intermediate and Advanced Interview Questions Collection""

Insert picture description here

"Java advanced architecture interview knowledge points"

Insert picture description here

"1000 Internet Java Engineer Interview Questions (485 pages)"

Insert picture description here

"Architectural Interview Topics"

Insert picture description here


Insert picture description here

Write at the end

The blogger believes that only hard work can achieve life!

The above content is free to share with everyone, friends who need the full version, click and hold the picture or scan the QR code to enter the group to find the administrator to get it for free! Click one key to increase the pass rate