Ali and Youzan 2020 five rounds of technical aspects + one round of HR aspects, Java post interviews, interview questions summary

Personal situation: EE went to Zhashuo. At the end of April, he pushed the Java post of a department of Ali Group and completed all interviews in about three weeks.

The face is as follows:

One side (resume evaluation):

1. Introduction

2. The difference between TCP and UDP

3. Let's talk about the TCP three-way handshake (tell the process once, I thought I would continue to ask why it wasn't twice or four times, the result was no)

4. Look at the thread pool used in your project, talk about the working principle of the thread pool and what are the task rejection strategies

5. The difference between process and thread

6. The difference between ArrayList and LinkedList

7. Thread-safe and non-thread-safe collections talk about how the bottom layer is implemented (hashmap, concurrenthashmap)

8. Java memory model, what is stored in the method area

9. Talk about the database transaction isolation level

10. The difference between synchronized and lock, the difference between reentrant lock and non-reentrant lock

11. Look at your project using pessimistic lock and optimistic lock, talk about the difference

12. Algorithm problem: the last remaining number in the circle

Two sides (department head):

1. Talk about Spring's IOC and AOP, what are the underlying principles

2. There are several dynamic agents, the difference between Jdk and Cglib

3. Three database paradigms

4. Let’s talk about left connection and right connection. What about inner connection?

5. There are several database indexes

6. What kind of database engine do you know, the difference between innodb and myisam, which engine is used in your project

7. What will happen if the hashcode method always returns 1

8. The difference between Error and RuntimeException

9. The difference between reference counting method and GC Root accessibility analysis method

10. Talk about the parent delegation mechanism

11. Algorithm problem: find the 100th smallest number in an array (solved by heap thinking)

Three sides & four sides

(I wrote them together here. They are the department A director and the B director. I thought it would be the HR side when the three sides were over. But the next day, the B director called and said to make up a round of technical aspects~~ The three sides and the four sides are more about the project. Don’t ask much about the basics):

1. The role of the volatile keyword

2. Look at the strategy mode and factory mode used in your project, and talk about the difference

3. Template method mode

4. Do you understand the principle of opening and closing?

5. NIO talk about your understanding

6. The underlying principle of AtomicInteger

7. What will happen to the CAS mechanism?

8. What types of concurrent packages have been used?

9. How to set the expiration strategy of the local cache for your internship and how to ensure consistency

10. How much do you know about distributed theory? Let me talk about it (here I talked about CAP, Base, paxos)

11. Do you understand distributed transactions?

12. RabbitMQ message queue lost messages and repeated consumption problems

Five sides

(Cross, Ant Financial Interviewer, don’t ask me how I know it, it’s a long story

For a brief 20 minutes, I hung up without asking much, it seemed cool

1. Academic performance

2. Have you participated in an algorithm competition?

3. Redis and memcached

4. Redis cluster is down and data migration issues

5. Seeing that your project uses Spring boot, have you used Spring cloud?

6, RPC talk about

7. Tell me about your understanding of microservices and the difference with SOA

Six sides (HR side)

1. How do you usually learn

2. Hobbies

3. How did you feel about the previous rounds of interviews

4. In addition to Java, what other technologies have been studied (I say AI, blockchain)

5. Tell me about the blockchain~

6. How to view the development of domestic blockchain

7. Tell me what you think is the most challenging project

8. Ask what company I have participated in recruitment

9. If there are NetEase games, Tencent, Ali’s offer, which one would you choose?

10. 10 minutes of communication in English (I feel confused for an instant, it is estimated that the department has English communication requirements)

As mentioned above, there are some questions that I really can’t remember, please understand.

Generally speaking, the interview difficulty is not as difficult as I have seen in the posts of other bigwigs. They are all basic plus projects. In addition, it may be because my mentality has always been better, so the interview performance is OK~

HR said that the interview results will come out in mid-May. It is estimated that the spare tire pool has been entered. Wait slowly, continue to review, and prepare for recruitment by other companies.

Ali technical side, Java R&D post

Ali side:

1. What technical knowledge have you learned?

2. Talk about the difference between interface and abstract class (syntax, design, cross-domain three aspects)

3. How to judge whether two objects are equal? (Name and class loader)

4. The difference between == and equals (comparison method)

5. What are the sorting algorithms (classification, insertion, selection, exchange, merging, base row)

5. The time complexity of heap sort? How it was calculated (logn)

6. Talk about the algorithmic process of merging (divide, merge, recursively, and sort out the process)

7. Do you know the first-order, middle-order, and post-order traversal? (Tell the algorithm process again)

8. Know the knowledge of high concurrency in Java? (Concurrent package, introduce the content inside, introduce the application and underlying implementation of lock, synchronization barrier, semaphore: flow control, thread execution order, etc.)

9. Talk about JVM (from javac compilation 4 stages: lexical, grammatical semantics, generation, to class loading process: Parent delegation: loading, verification, preparation, analysis, instantiation, instantiation First talk about heap partition, and then talk about JVM memory structure, Then go to GC, GC algorithm, trigger condition, promotion, YGC, CMS process realization, reachability analysis, etc. After finishing the whole system, the interviewer definitely said that he understood well...)

10. What projects have you done? What frameworks and technologies have you used? (SSH, M, Redis, Netty)

11. Have you seen the spring source code? (Tell the container startup process again, xml parsing, bean loading, bean caching, etc.)

12. Talk about the principles of AOP implementation (dynamic agents: jdk, cglib, which classes or interfaces are used respectively)

13. How are transactions implemented? (Source code)

14. Talk about the four-layer network model (the protocol and application of each layer)

15. Talk about the difference between tcp and udp, and what applications are there (reliable, connection-oriented, header)

16. Tell me about the TCP three-way handshake process?

17. Why is it 3 times, is 2 times OK? 4 times? (From the invalid data report, why not talk twice, why not use 4 times from the response time)

18. What do you want to ask me? (I asked about distribution, load balancing, and caching. The interviewer replied that these school recruits are extra points. It doesn’t matter if you don’t understand it. If you understand it, it’s better to say that the key to school recruiting is the basics. Look at the source code analysis. Pay more attention to the underlying principles)

19. Faced for about 50 minutes

Java Experience: The Road to Like an Offer-The Test of 5 Interviews

One side (electrical side 45min)

Is Hashmap thread safe? Why is Hashtable thread safe?

How does ConcurrentHashmap ensure thread safety? Let me elaborate.

What are the details of Hashmap? Why do you do this?

What is the difference between ArrayList and LinkedList?

What is the expansion mechanism of ArrayList? To elaborate.

How does SpringMvc work?

What is the difference between Session Cookie?

Have you used Rpc? Tell me about the usage of Thrift?

How do you generally use comments on projects?

What is the memory division of the G1 collector?

Tell me about the specific process of the mark-clear algorithm?

Do you know what jvm parameters are there? Say something?

Have you learned about jvm tuning? What command did you use? How to tune it generally?

I can only think of these questions... The gluten in the full text is part of the interview process, because I have a bad memory, and I forgot everything else... 2333

Two sides (video side 65min)

Does the JUC understand? Talk about CopyOnWriteArrayList, right?

Do you know thread pool? How to implement a thread pool for you?

Under what circumstances will there be a jam between threads? (I don't remember exactly how I asked it, probably what it meant)

What locks do you know? Can you tell me the difference between Synchronized and Lock?

Do you know Spring IOC? Tell me what you understand?

Talk about Spring Aop?

What RPC framework do you know? How does Thrift work? Do you understand the others?

How does Mysql master-slave replication work? Tell me about what each thread does?

What is the difference between Redis and Memcache? How do you usually choose? why?

How does Redis deal with data misses? How to synchronize data with Mysql?

Which java version do you usually use? What are the new features of jdk1.8?

What is the whole process like in jvm gc?

How do you generally tune the JVM in your project?

Do you have any work plans?

Let's talk about the project

Three sides (60min on site)

Talk about the project

Is there any better optimization on the project?

How would you deal with server Dns hijacking?

What is the specific process of Https?

What is the specific process of entering a URL to visit?

What is the order of loading static resources such as html css js? On what basis?

Session multi-system multi-server sharing problem

Cookie distribution problem

To implement an authorization similar to Oauth2, how would you implement it, draw on the whiteboard. (For the first time in my life, I used a whiteboard to draw a flowchart during an interview...)

How to view the jar packages that the project depends on in Maven

Talk about a data structure and algorithm you are most familiar with.

Let's talk about the whole process of fast sorting, and draw it on the whiteboard. Is there any optimization?

What book do you read recently? Tell me about the most impressive piece of knowledge recently?

How much is distributed understanding?

Four sides (on-site HR side 60min)

Talk about life

Talk about life experience

Talk about the impressive life experience

Final surface (on-site TL surface 60min)

Let's talk about the project

Why did you do this? (For points in the project)

How was the Model layer in the MVC framework you wrote? Say something?

Is there any planning before the project development? Draw on the whiteboard, right?

Can you talk about one of the points that you have done well in terms of technology or life, and the one that you lacked?

to sum up

Youzan is a very good company, the environment is very good, mainly because the girls are so beautiful, hahaha.

The interviewers are very nice, the company's technical level is good, and the treatment is good.

Hope it's useful to everyone, let's go for it!

After getting the offer, summarize the answers from the interview into a document form, and share it with everyone now!

If you want to enter a big factory to get an offer, trouble one-click triple-link + comment, and then add VX (tkzl6666) to get the organized interview questions and answers from the big factory (Ali, Youzan, etc.) for free

 

 

 

Guess you like

Origin blog.csdn.net/m0_46874920/article/details/112136547