The first spring recruitment of 2021! Alibaba Cloud's native internship, one, two, three face-to-face experience, after reading it, all have entered Alibaba!

Preface

I have to say that time passes faster. I vaguely remember that last year's Golden Nine and Silver Ten recruitment season was yesterday. In a blink of an eye, the Golden Three and Silver Four came before us. When I was chatting with fans before, I was urging me to publish an interview with Ali. I contacted a friend who was interviewing in Ali and got the first-hand information and stayed up late to help everyone sort it out. It was full of details. It is recommended to watch it repeatedly!

Cloud native k8s side

  • Self introduction
  • Graduate school or direct work? Work
  • Do an algorithm problem at the beginning, and the sum of two numbers can be easily solved by the hash table
  • What sorting algorithm is used in Arrays.sort
  • Explain the process of fast queue
  • Space complexity of fast sorting + derivation
  • What sorting algorithms are there in addition to fast sorting
  • The stability of the sorting algorithm (if it is in order, will it disrupt the original relative position, I got this wrong, and the interviewer here told me to add a definition)
  • Based on the eighth point, ask me if the bubble sort is stable
  • Asked my commonly used data structure and answered a hashmap
  • If I were to implement a hasmap, what would I do
  • The relationship and difference between processes and threads
  • Processes and threads share resources, and threads have their own unique resources, so which resources are shared and which resources are unique to threads
  • What are the commonly used protocols of the transport layer
  • The difference between TCP and UDP
  • How does TCP achieve reliable transmission
  • At 16 o'clock, the sliding window was mentioned, so in addition to the guarantee of reliable transmission, the sliding window was also asked what it did. My answer was flow control.
  • Ask how the sliding window flow control is implemented, except for the type in the textbook, it increases twice at first, then increases linearly, and then reduces to half, and then I followed up with a bbr, so 19 questions about bbr
  • bbr process
  • Ask about the advantages of bbr compared to traditional flow control algorithms
  • There are several indexing methods available when mysql is used (business level)
  • The difference between clustered index and non-clustered index
  • What technologies can be used to implement ordinary indexes when they are implemented
  • Have you used other engines besides innodb? (Myisam and memory index are mentioned)
  • Is myisam index used anywhere?
  • After the application has been running online for a long time, the sql query is slow, how to troubleshoot (here I answered all the meanings of the fields in the explain, because I mentioned the inefficiency caused by the wrong index selection caused by the error of the scan function estimation, So there is a question of 27)
  • If the wrong index selection is caused by the wrong index selection, is there any way to fix it? I answered analyze xxx and force the index to be specified in the sql statement
  • Ask the project
  • Why do many projects choose Spring?
  • Why use ioc in the project? (Here, after I gave the answer to spring management, I can intervene in the life cycle of Spring Bean to achieve a scalable decoupling point. Since I answered the life cycle of Spring management bean, there are 31 (Question of the question)
  • Spring's life cycle, (Anyway, I probably talked about the source code, and it took about 4 minutes to answer. Since it was mentioned that Spring provided the opportunity for bean aop in postBeforeInstiation, there were 32 follow-up questions)
  • Is there any place in Spring itself that uses aop? This I answered @Transactional
  • When using @Transactional, have you ever encountered problems that do not take effect due to the defects of aop, such as a method without Transactional in a class, and calling methods with @Transactional annotations may or may not take effect. What is the possible reason for the effect? ​​It is required to answer around the implementation of aop. I can't answer this well. The interviewer wants me to go down and look at the source code and think about it.
  • Have you actually used netty?
  • Ask epoll principle
  • Asked my gc tuning experience, talked about a memory leak investigation, and online capacity estimation
  • Ask me what K8S knows
  • When troubleshooting system performance problems, what ideas and tools are used, uptime top pidstat netstat vmstat dstat sar -n DEV can answer tools and the meaning of some fields are thrown out, and then said soft interruption hard interruption iowait wait between processes When it is too high, the idea of ​​investigation
  • How much do you know about K8S and have you used it in the project?
  • What are you studying recently
  • What do i have to ask

To draw an experience, the content and difficulty of the interview may change with your answer. Ali's algorithm is really comfortable.

Cloud native k8s two sides (on February 19 at 9:30 a.m., phone side)

  • Your learning experience? (Here I talked about the source code of some middleware that I have seen, and then the source code that I saw recently)
  • Have you read the K8S source code? (There is no 0 in this answer)
  • Tell me about the K8S principle you know, as detailed as possible? (Here I answered the various components and general principles in the K8S. I missed something, but I missed something because the problem is a bit big. I missed it for a while. When I asked about the details of the project, he asked and came back.)
  • The principle of K8S scheduling pod to node (Here I answered some things related to the fields related to nodeAffinity, taint, resource occupation and pod resource requirements.Here I answered one more label and selector related, and later I think about it as if I should not answer it)
  • Ask the project
  • Ask me how to do the custom cluster in the project? (Here I answered openresty, my project is to dock with another open source product, and for some reasons, some business logic must be written in the gateway)
  • Is K8S useful for your project (not available)? Then I asked why not? I answered because the open source product I connected was to modify the certification process of its source code, and I did not have the ability to see the source code related to that product and K8S. , The first reaction is not to pick up K8S
  • Ask about the details of other projects (I probably have all the details)
  • If you were to use K8S to do that project now, what would you do? (Because I didn't get the point that the interviewer wanted to ask for a while, I gave an imperfect solution, and then there will be 10 11 follow-up questions)
  • Question for my project: After accessing K8S, how to deal with the forwarding logic of the gateway (when each pod is started, a process of configuring the gateway during its life cycle is carried out)
  • Then I asked what I should use if each user needs a hard disk space (this is the set of stateful services and volumes that the interviewer was asking me when I did not answer the third point, and then I reacted, and then answered (In the pod template, use volumeClaim to apply for storage, and then mount it to a directory)
  • The difference between user mode and kernel mode
  • Do you understand the container? (I know the answer, but I only know the docker container)
  • Docker container realizes the principle of resource isolation (answered Linux's cgroup and namespace technology)
  • The difference between TCP and UDP
  • How should the java process and the go process communicate (this I answer is that if the communication protocol and serialization protocol can be unified, you can use grpc, then http, then answer a socket, and ipc on the same machine)
  • Do a backtracking question, such as the following matrix, find the string of the target, ALBABA, return true or false, the following words start from 0 0 and go down and then go all the way to the right is
    ABCDE
    LBABA
    WDADL
  • Ask me why I learned K8S (I answered that at first I was attracted by some of the features he provided and learned a bit, and then when I looked at the Dubbo source code, I was curious. These things were done directly on K8S. I was confused for a while, and I learned slowly later that dubbo 3.0 was doing this, so I recently looked at dubbo and k8s)
  • Because of the statement in question 18, this question asked what dubbo can directly do in k8s (at the beginning, the mechanism of service introspection was mentioned. This is the basis of the unified SpringCloud cloud native, service registration and pod life cycle (Combined, there is API Client, or DNS Client, and combined with istio)
  • In the rhetorical question, what does your department do? The interviewer here answers K8S. (No wonder I asked so many K8S things)

Cloud native k8s three sides (call me at 4:22 pm on February 19 to ask me for an interview at 5 pm, a little bit hurry, video side)

  • Introduce yourself (I just said three sentences, he thinks it is a bit concise)
  • How did you learn some techniques
  • Ask the project?
  • Ask me why the gateway chooses openresty (nginx+lua) in the project? (For the official documentation of the open source product, I directly selected nginx, and then after the business logic was complicated, I found that it was necessary to add logic to the gateway layer, so I used openresty)
  • Disadvantages of nginx? (This configuration requires reload)
  • Follow-up, if you let you choose the technology now, how would you choose? (I will choose a configurable network agent supported by the open source product itself)
  • Asked the details of the certification process in the project in detail
  • Asked how other people in the project divide the work
  • Are there other projects that have landed?
  • Ask my spike solution (rocketmq transaction + redis self-increase and self-decrease + spike logic and openresty gateway downgrade request processing)
  • I ask how to ensure that the redis data is consistent with the database? (I said that if my solution is decoupled, it does not need to ensure strong consistency)
  • Then like this, how can the spike and the normal shopping process coexist? If you use this scheme to guarantee, there is no way to ensure that the spike will not affect normal shopping (when I talk about this, I will admit defeat, and I will say that it is possible to design It’s not thoughtful. To be honest, if it’s not that I haven’t written a real project, I really don’t want to write a flash. I always think that flash is a minefield, but the interviewer is still very good. I don’t embarrass me, saying that I have no idea. Wrong, try to ensure safety as much as possible, but the real e-commerce system is not as simple as you think, and it may also involve cross-regional dispatch. For example, people in Guangzhou ship in Guangzhou, and people in Beijing ship from Beijing. ).
  • Why do you think redis atomic auto-increment + RocketMQ is more efficient than direct operation of mysql? (Here, redis atomic auto-increment and auto-decrement are all answered, and the RocketMQ architecture is answered, and there are mysql logs And the log of rocketmq, because he feels that I haven't answered the point. Under his step-by-step guidance, the next-key lock that mysql can read repeatedly is also said, but here he is still a little surprised that I actually know next-key lock, but it doesn't seem to be the answer he wanted. Finally, after further guidance, I finally answered. When rocketmq delivers the message to the commitlog, it is written in a single-threaded order, and mysql depends on locks. In fact, I answered at the beginning that Rocketmq used it. The order of the disks is written, I feel I should have answered the point)
  • After that, I plan to work or study for graduate school, and my study plan (work directly, study some things related to dubbo3.0 and k8s)
  • Why learn k8s? It's similar to what I answered on the second side (first learned a rough idea, and then read the dubbo source code and wondered why some things are not done directly on k8s, and then I started learning after knowing that dubbo 3.0 is doing this)
  • Have you also invested in other departments of Ali?
  • When kubectl updated the configuration of a pod, what happened to kubenetes? I still didn't go to see it, but if I have a chance to enter this department, I will definitely go to see it as soon as possible)
  • Then I told me that because it is approved in advance, the system is not in circulation, and only one can be recorded when entering the system. If you do not pay attention, you will easily enter the department you don't want to enter. Then I said I would communicate with the internally recommended brothers?

Ali approved him in advance and notified me that he had passed it. My brother said that after the system was opened, he could log in to the system. My brother pushed me and said that after entering the system, the offer issuance process is gone, and there is no interview!

to sum up

The difficulty of the interview can be said to be quite satisfactory, not particularly difficult, nor particularly easy. If you want to face the interview, you must make sufficient preparations!

In addition, I am here to prepare interview materials for first-line manufacturers and my original super hard-core PDF technical documents, as well as a number of interview questions from major manufacturers that I have carefully prepared for you (continuously updating). I hope everyone can find their favorite job. !
Friends in need click here to remark csdn and download directly

Guess you like

Origin blog.csdn.net/weixin_47277170/article/details/113936120