The Android master's second interview with Ali was slammed by the P8 architect on 3 sides, unwilling! Rehearsal of the underlying technology, won Ali P6+ offer

Preface

Everyone has the dream of a big factory. For programmers, first-line Internet companies headed by BAT are definitely their favorite objects. After all, to work in these big factories not only has high salary and good treatment, but also ability and technology can be improved. The key is to be able to plate yourself with a layer of gold to make people admire.

Similarly, my own personal goal is also Ali, but I have been in a small company for several years. Now through continuous learning and practice, I have improved a lot and I have the confidence to challenge Ali. Below are some of my experiences and lessons learned from this interview with Ali P6.


Ali P6 post interview experience

This time, Ali’s interview experience was really stressful + exciting + embarrassing. Before the interview, he was full of confidence, and he was hanged and beaten to doubt his life after the interview. The whole process is four sides. The first two sides are smooth and arrogant. Only in the last round of technical and HR side did I understand what is Ali?

Fortunately, the interview went smoothly in the end. At present, the offer has been received and the salary given is relatively satisfactory, which is much better than the last job.


Ali side:

  • Introduce yourself and talk about what you are doing recently?

  • Bitmap image processing, down-sampling, encoding, super large image to ensure the original image loading and how to prevent OOM?

  • TCP、UDP

  • http、https SSL、CA

  • Sliding window, congestion control

  • Threads and processes

  • IPC inter-process communication method Linux 5 major methods + Binder

  • How to achieve Java polymorphism? The inner principle of polymorphism?

  • Synchronized and Lock, the difference?

  • sync method and static method, locked content

  • wait和sleep

  • HashMap underlying implementation, 1.7? 1.8?

  • Android ANR reason? How to judge?

  • Data persistence & comparison: SP, SQLite, File

  • Is there anything you want to communicate with me?


Ali two sides:

  • Self introduction

  • What should be considered when designing a picture loading library? Asynchronous thread pool, multi-level cache, sampling and coding, life cycle management

  • OkHttp request process

  • Implementation of automatic login? cookie and token

  • Internal implementation of SP

  • How to solve SP multi-process insecure? (This ContentProvider was answered at the time, but the interviewer was not satisfied, and guided me mmap later. However, I only knew a general idea, but I didn’t keep up with the idea. I checked the MMKV framework later.

  • Memory management, mmap memory mapping

  • Encryption algorithm MD5, SHA, DES, RSA, DSA

  • Symmetric encryption and asymmetric encryption

  • Dynamic proxy and static proxy, the difference

  • JVM memory model

  • Parental delegation mechanism, advantages

  • Is the custom ClassLoader and the same class file loaded by the system class loader the same class?

  • Activity's page stack and startup mode

  • Android process management

  • algorithm:

1. The longest public string: No dp was brushed at that time, and it was solved directly by violence. . .

2. Determine the containment relationship of the two trees: double dfs seconds

3. Linux file path simplified

  • Intellectual question: If you hire a worker, he should get a gold bar every day. You have a gold bar that can be divided into 7 shares, but you can only cut 2 dollars for your gold bar. How can you ensure that your workers get a gold bar every day? ?

  • What do you want to ask me?


Ali three sides:

The interviewer in this round is an architect. The visual inspection should be P8. The whole process is trembling.

  • What challenges did you encounter in the project?

  • Commonly used data structures

  • Global static variables and local static variables in c++

  • Compilation process (preprocessing, compilation, assembly, linking)

  • The entire process from program startup to operation

  • gcc、makefile

  • Linux commonly used commands

  • How to roll back git

  • How does git revert do and what's the problem

  • The difference between git merge and rebase

  • I also know which hybrid development technology, big front-end things, I said I know Flutter

  • What is the difference between StatefulWidget and StatelessWidget in Flutter?


Ali HR face:

  • Three rounds of interview experience
  • What other offers are in the process
  • I think Ali attracts you
  • How to coordinate the relationship?
  • How are you getting along with your colleagues, tell me about your experience of helping colleagues?
  • Salary

Interview experience

Regarding this interview with Ali P6, I can only say that Ali is a crouching tiger, hidden dragon, and the quality of the staff is also very high, and the treatment is very friendly. I believe that working in Ali will bring a lot of gains to myself.

Finally, regarding the interview with Ali, I give the following suggestions, hoping to help everyone:

  1. Get to know Ali’s corporate culture in advance.
  2. Ali's interview cycle is relatively long, adjust your mentality and make full preparations.
  3. A certain ambition must be shown in the post.
  4. In addition to sorting out technical accumulation and project experience, they also have their own thinking and planning for future business development.
  5. HR is very professional, and you must show your ability to integrate into Ali's cultural system.

Said at the end

Nowadays, many programmers fall into a strange circle: seeing others get promoted and raise their salary, and feel that other people are always so lucky. I joined the company about the same time as him! Then I went to job-hopping and found out that the interview is so difficult now. I always focus on the underlying principles and analyze the source code. Android is not easy to do. There are too many people doing Android. I'd better change my career.

In the final analysis, I just didn't think about it by myself and find the reason from my body. Regardless of whether for programmers or other positions, if you want a salary increase or promotion, you must keep up with your ability, and the only way is to improve yourself through learning.

Not much nonsense, I will share my own set of learning materials, let's see if there is anything needed:


All of the above learning materials can be shared with friends, I hope to work hard and make progress together !
If necessary, click to get

Guess you like

Origin blog.csdn.net/ajsliu1233/article/details/110489209