After 5 years of Android development, I have passed the test: Erben scum 5 Ali P6, who said that the harder you work, the more devaluation? (Has been offered)

For many people who do not have the advantage of academic qualifications, it is very difficult to interview a big factory. For me, it is the same. I was born in the second school. I thought I would spend my whole life on a three-point line until life changes. , It gave me new ideas and goals, so my second scum scum also struggled and won Ali P6 post.

Today I share this wave of experience, mainly in the hope that it can inspire technical people who are also troubled by academic qualifications, and can have a reference value for career and technical planning, thank you!

The following learning materials are all free to share, click to obtain by yourself


1. What is the difficulty of interviewing Ali P6? (Interview difficulty)

(1) The difficulty lies in the "mentality"

The first hurdle that needs to be overcome is actually my mentality. Because I came from a second school and my base is relatively low, the interview with Alibaba is a matter of lack of confidence, not to mention being a senior development post, so it is easier to have no confidence in my heart. Therefore, before preparing for the interview, adjustment of mentality has been done for a long time, so the difficulty is that the "mentality" is not wrong at all. If the mentality is not adjusted, the interview is almost useless.

(2) The difficulty lies in "requirements"

The second is the requirements. The so-called requirements are actually Ali’s requirements for the position, that is, as a developer, how much technology stack do you have?

First of all, you must know what you write on your resume. Second, you must have some bright spots, that is to say, have a deep understanding of a certain technology, so as to give the interviewer a refreshing feeling.

So, how much do you need to master when interviewing Ali P6?

(1) Principle problem

  • HashMap principle
  • The realization principle of ConcurrentHashMap
  • HashTable implementation principle
  • Do you understand the principles of broadcast transmission and reception? (Binder mechanism, AMS)
  • Communication principle of traditional IPC mechanism (2 memory copies)
  • The role and principle of the Binder mechanism?
  • LRUCache principle
  • Image loading principle
  • Talk about AIDL? What is the principle?
  • Talk about the principle of generics and give examples
  • The principle of Handler
  • The cause of memory leak caused by Handler and the best solution
  • Why does the looper infinite loop not cause the application to freeze
  • The principle of AsyncTask
  • The principle of ThreadLocal
  • What is ANR? Under what circumstances will ANR occur? How to avoid it?
  • Context
  • Thread creation method in java, the working principle of thread pool
  • Thread synchronization mechanism and principle, with examples
  • Memory recovery mechanism and GC algorithm; GC principle and timing and GC objects
  • Principle of hot repair
  • Analysis of plug-in principle
  • Principle of Formation
  • ARouter routing principle:
  • Distinguish the usage of Animation and Animator and outline the principle
  • Which network load libraries have you used? How does OkHttp and Retrofit implement?
  • The principle of volatile
  • synchronized principle
  • Implementation principle of tween animation
  • MVC MVP MVVM principle and difference

(2) Algorithm problem

  • What are the sorting algorithms?
  • Which is the fastest sorting algorithm?
  • Handwriting a bubble sort
  • Handwritten quick sort code
  • Quick sort process, time complexity, space complexity
  • Handwritten heap sort
  • Heap sorting process, time complexity and space complexity
  • Write down the sorting algorithm you know, its complexity and stability
  • Binary tree gives root node and target node, find the path from root node to target node
  • Which algorithm should I choose to sort Ali's more than 20,000 employees by age?
  • GC algorithm (the advantages and disadvantages of various algorithms and application scenarios)
  • Ant Colony Algorithm and Monte Carlo Algorithm
  • Substring inclusion problem (KMP algorithm) write code to achieve
  • An unordered, non-repeating array, outputs N elements, so that the sum of N elements is added to M, giving time complexity and
    space complexity. Handwriting algorithm
  • Two trillion-level URL files A and B, how to find the difference C of A and B (hint: Bit mapping -> hash grouping ->
    multi-file read and write efficiency -> disk addressing and application level optimization)
  • How to try to find the nearest merchant function in Baidu POI (hint: coordinate mirror + R tree).
  • Find common elements in two non-repeating array sets.
  • In the two non-repeating array collections, these two collections are both massive data and cannot fit in the memory. How can we find common
    elements?
  • There are 1 million integers in a file, separated by spaces. The program determines whether the integer entered by the user is in this file
    . Speak the best way
  • The memory occupied by a Bitmap and the calculation of memory occupation

2. Ali interview questions (5 faces in total)

Ali side:

One side: phone side, about 1h

0. Tell me about the most complicated page I wrote
1. Common collections in Java? Have you used the collection in Android? What are the advantages over Java?
2. Several methods of inter-process communication, have they been used in the project?
3. What is used for image loading? Glide, the advantages of Glide, how is the life cycle bound? Glide's cache? The underlying implementation of LruCache? LinkeHashMap, the underlying implementation of LinkedHashMap?
4. How to display a 1:1 picture? Re-measure the width and height of the custom View and constrain the layout? The benefits of constrained layout? Where is it mainly used in the project? Have you used LayoutAnimation? Have you used MotionLayout?
5. Briefly describe the handler, the way to create Message, what design pattern is this design? How to create Handler for child threads? Why Looper won’t block the main thread
6. How does an abc Activity task stack start a def task stack
7. Design patterns,
talk about several commonly used design patterns 8. Talk about MVVM, jetpack, kotlin
9. Talk about AndroidX
10. Hot fix
11. Activity startup process
12. ViewPager Pool understand

Ali two sides:

Two sides-five sides on-site, a total of nearly 4 hours, from 3:30 pm to more than 7 pm

Two sides:
1. JVM: gc algorithm, gc generation
2. java generics, the difference between super and extend? Generic erasure
3. The principle of HashMap? How to ensure thread safety? How are HashTable and ConcurrentHashMap implemented internally? Segment lock, shared lock, fair lock?
4. How to customize View? How is onMeasure measured? The three modes of MeasureSpec? What is the difference between invalidate, postInvalidate, and requestLayout?
5. Proxy mode
6. The working principle of leakcanary
7. The working principle of synchronized
8. The advantages of OkHttp, the answer is not good, may continue to want to ask Http-related, but the answer is not very good, so not many questions
9. I also asked about Handler. Almost everything I can ask is about
10. Binder's communication process: Why is the communication between the specific server and client copied at once
? 11. How to load the big picture? Several methods of image compression? Which type of sampling rate compression is used and how to set it?
12. Memory leak
13. How to design the independently developed project structure
12. Algorithm question: determine whether the linked list has a ring

Ali three sides:

0. This aspect mainly asks about the project, which gives you a strong sense of pressure, and the technical difficulties involved in the project.
1. Combining with the project, why is it designed like this? Let you optimize, how do you optimize, guide you to optimize in a reasonable and better way, database design, etc.
2. What do you do in the company, what each system business line does, and your performance

Ali on all sides:

0. Talk about life, technology and difficulties to achieve
1. What are the advantages/disadvantages
2. How to treat overtime
3. The biggest challenge/difficulty encountered at work
4. Basic principles of
architecture design 5. Issues that need to be considered in architecture design
4. The whole process of live broadcast? Did you implement it yourself?
5. How to deal with video jams?
6. The entire process of OkHttp network request

HR surface:

0. Why come to Ali?
1. Haven't you considered Ali before?
2. After graduating for so long, what do you think is your biggest change?
3. Summarize yourself in one sentence


3. What did I do before I won the offer from Ali P6?

(1) Prepare resume

Resume is a facade, but also a stepping stone. Whether you can get an interview opportunity from Dachang depends on your resume. Regardless of academic surprises, Dachang most values ​​whether there are bright spots in your resume. Therefore, we must be prepared for the content of the resume. One's own outstanding points, including technical and personality highlights, should practice expression and avoid temporary organization of language.

(2) Improve skills

In fact, I have a friend of Ali who disclosed to me a long time ago that many people think that big factories value academic qualifications, but the actual situation is not entirely. In Ali, heroes are only judged by ability. Therefore, in daily life, it is necessary and an inevitable trend in the future to improve one's abilities through continuous learning, and strive to draw the distance between oneself and the target value.

Regarding improving skills, my approach:

  • ①Read the actual documentation

  • ②Read some source code

  • ③Read some technical notes

(3) Swipe the interview questions

For people who are not very good at base, interviewing questions is actually the most "first aid" method. Therefore, before interviewing Ali, I did a lot of interview questions. The purpose is not to be asked during the interview. Go to the original question, but have a corresponding understanding of the interview with the big factory. It is clear what Ali will ask in the interview and which technology stacks are involved.

I have something to say about brushing questions:

  • ①Android core interview knowledge points finishing

  • ②Algorithm part (LeetCode+ fun of algorithm)

  • ③Real BAT interview questions + special training


Make a summary

Many people with poor academic qualifications may not have much confidence in themselves. In fact, “miracle” happens in everything, and the key to this “miracle” is to create it on their own. No matter you are a little cabbage bird or a technical expert, you can't afford to learn this thing daily. Once you fall behind, you will easily be eliminated.

My experience over hope to bring help to you, finally, here I also share a dry, gangster included finishing the Android architecture study PDF + Video + source notes , as well as advanced technical architecture Advanced Brain Mapping, Android development interview Thematic materials and advanced advanced framework materials help everyone learn to improve their advanced level, and save everyone's time to search for materials on the Internet to learn, and they can also be shared with friends around to learn together

If you need it, you can like + comment , follow me, private message [data] to obtain or download it yourself

Guess you like

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