What is Ali’s recruitment criteria? How far are you from this standard? Never knowing, it’s like being in a desert and not knowing where to go. At this point, finding direction is key.

I asked some of my friends at Ali:

I ask: want to enter ali is what standard?

Friends answer: the general P6 recruit, three years of work experience.

And I ask: what is P6?

The answer is often different.

Here to popularize, each company has a job rating system, Ali is also, technical post to P rating, general school recruit P5, club recruit P6. Before I entered Taobao title is “senior wireless development engineer” is P6 level, at that time P6 is also divided into senior and senior, now are unified into senior.

So what are the criteria for P6?

It’s kind of hard to say, it’s not as clear-cut as grading a test, where 60 is a pass.

In my understanding, a short word is: the ability to independently take charge of the development of one or more modules. (To put it more simply, your boss trusts you to be responsible for the development of one or more modules alone.)

That still sounds abstract, but don’t worry, I’ve tried to break it down a bit, including but not limited to: 1. Professional ability 2. Problem-solving ability 3. Learning ability

If these abilities are up to standard or outstanding, I think I can be responsible for the development of multiple modules, which also means that there is no technical problem when entering Ali.

So how can we improve ourselves to reach our goals? Limited by space, I will focus on how to improve professional competence.

Improvement of professional ability

There are many contents to learn in computer major, including many professional abilities. Android alone is not enough, and there are also data structure, algorithm, Linux, network programming, computer principle and so on. Since I do Android, I will focus on Android here. ####1. Understand the principles, not just use them

Thanks to the spirit of open source and the greatness of the Internet, we can easily use the world’s top tripartite libraries, such as RxJava, EventBus, Retrofit, OkHttp, Glide, and so on. Just add a line of dependencies and you can take off, feeling like you’ve mastered the most awesome technology in the world.

I’ve seen a lot of people who have a Github library that has MVP+RxJava+Glide+Dagger or something like that. They may use the open source library very well, but when asked how it works, they may not be able to explain.

This is actually the performance of staying in the use stage.

You know, a kuzizhi bitch, that bitch belongs to the author, not you.

From the interviewer’s point of view, if so many people are going to use it, why should you? Isn’t it? !

This time if you understand some principles, that you can be a little better than others.

So, how do you go about understanding principles? Read the source code!

In fact, the so-called principle, all written in the source code, without reservation.

Some people a listen to the source will panic, at a loss, so much code, how to see ah?

In fact, there are a lot of tricks to read the source code, here to share a few tips:

**1. You must be able to use it first. ** You need to know what this library is for, master its basic usage method;

2. Be purposeful. ** for a function of the purpose of mining, so not lost in the vast source code;

**3. You don’t need to read all the details. ** Some people read the source code love drill, not to make every little detail clear, so that a day may not see what the trunk is.

Doesn’t that make sense? For example, EventBus, if you send an Event, how can it be delivered to the subscribed place? It’s a lot easier to look at it purposefully with a little problem like this.

Reading source code is not simple, but do not worry, from the simple source code, slowly improve, learn to extract cocoons, layer by layer, gradually develop the habit of reading source code and ability.

Trust me, learning to read the source code is a huge help to the promotion of professional ability.

2. Keep learning and read official primary sources

In peacetime to ensure the completion of the work under the circumstances still want to keep learning, can not do every day to learn, also want to do every week to expand the scope of knowledge, deepen the depth.

Technology is changing so fast that it’s important to keep up with constant learning.

So why read official primary sources?

To be honest, in this era, there is no lack of learning materials. However, there are both good and bad sources of information. As we all know, when you use Google to search for information, it will be very different from what you find in certain areas, so the first step is to use Google as the default search engine.

There is also a big difference between official information and secondary information.

Here is not to say that all others write data is poor is not worth seeing, but actually other people might also see the official data, through their own understanding output, a data processing and the process may be cut some of the content, may also be distorted/misunderstood the meaning of official, so that when you see may be changed.

Try to see first-hand information, it can let you learn ** the most basic, the most comprehensive, is also the most useful knowledge, ** what’s more, now the Android official document video is doing better and better, and even did the Chinese translation, there is no excuse not to see?

3. Learn to accumulate, so that there is input and output

Before I let you see the official information, and let you look at the source code, so just look enough? Obviously not. It’s not on paper.

Learning, to do have input and output, so as to better grasp the knowledge in the brain.

Input is the data, source code and other knowledge, so what is the output? For developers, the output can be notes, a blog, or code.

As someone who has been there before, if time permits, try maintaining a blog.

When you try to write an essay on a specific topic, you may experience something like this:

I clearly understand, why can’t explain clearly? (Not really)

2. This knowledge point seems to involve other things, I went to have a look, and found that I do not understand a lot;

3. When I write too much, the fragmentary knowledge points scattered in every corner of my brain are suddenly strung up at a certain moment, forming a knowledge map.

This is my real experience of writing a blog before, and I feel that I understand, and explain the knowledge for others to understand, feel two levels of matter. Writing forces you to put things together and express your ideas in colloquial language. It actually requires a more thorough understanding of the knowledge and makes you more professional.

In addition, writing a blog is actually a chance to show yourself to the outside world. If you write well, ali employees or headhunters will come to you and recommend you for a job.

A good blog or Github is also a brick that can open ali’s door.

To join Alibaba, you may also need to learn how to write a good resume, find a reliable Employee to help you promote, and maybe some luck, but that’s another story. The most important prerequisite is your technical strength.

At the end of the article to send welfare!!

At the same time, after years of collection, I have also collected a complete set of learning materials and high-definition detailed Android architecture advanced learning maps and notes to share with you for free, hoping to be a friend of architects have certain reference and help. ** The following is part of the data screenshot, sincere full: especially suitable for Android programmers with development experience to learn.

Information for free access: now follow me and join the group chat group number: 1018342383 or click the link to join the group chat [Android development exchange] : jq.qq.com/?_wv=1027&k…