On this issue, you can see the true level of Android engineers

Today I will tell a story about Android development Xiao Liu.

Years ago, he had a meeting with his university classmates and chatted with a few classmates in BAT about technology. He found that he had been in a start-up company for several years and he was completely on his own. There was no opportunity to improve technology. He also worked for three years with classmates. The gap is getting bigger and bigger.

     ▲图片来源于网络,侵删

But what really hit him was an interview in March...

"The interviewer asked a lot of questions from a large company. I didn't understand most of the questions, and I didn't know the answer to the questions.

I probably reviewed this interview: I first asked about the basics of Java, jvm, strings, collections, threads, four major components, etc. This part is still easy. The second part became more complicated, mainly about design patterns and principles.

Like:

You said that you have made a custom View, so please tell me why there is dispatchTouchEvent(); in Activity?

View measurement process

You said that you used volley at the beginning, what are your considerations when selecting technology? Do you know any shortcomings of volley? Why are there such shortcomings?

What is the principle of okhttp? What are the advantages over the previous web request framework?

What are the mainstream hot repair technologies? What is the principle of each? What are their advantages and disadvantages? Why did you adopt this scheme instead of others?

I have had little previous work experience, coupled with my shallow technical reserves, by this part of the time I feel like I am cold. At the end of the interview, I asked about the design plan, and I was confused. . . . Enter the brain idle state

After the interview, he said that he felt that he owed a lot of technical debts. The worst part was that he didn't know it before.

Xiao Liu's experience is the trouble of many Android engineers with 1-3 years. He wants to get a job with a monthly salary of 2 or 3w, but there are big problems in the underlying technology :

I have been working on Android for a few years, and I have used many technologies on the surface, but I have not been able to learn in depth. I have worked for several years with a year of work experience. The result is that there is no way to start when you encounter practical problems, and in the end, you still follow the road of ordinary engineers, and the distance from the master is getting farther and farther.

It is said that three years is a hurdle for programmers, whether they can be promoted or improve their core competitiveness, these few years are very critical.

With the rapid development of technology, from what aspects can we learn to reach the level of senior engineer and finally advance to architect/Android technical expert? These 9 great abilities are something you must cultivate:

Of course, it is not easy to learn and master these technical capabilities in depth.

About how to learn

Everyone knows the intensity of the work of being a programmer, but no matter how busy the work is, you have to set aside 10 hours a week for learning. Within half a year, you will be able to see significant changes . I will also spare 1-2 hours of extra time to exercise every day, so that my week will be close to 24 hours longer than others. As time goes by, no one else can surpass me.

I take myself as an example, but there are indeed many people who can’t be like me even if they want to, or because of overtime or gathering with friends...

What I want to say is: If there is no good self-discipline, no one to guide, blind self-study is a high probability of wasting time and energy, because not only is low efficiency, there is no learning system, and it is difficult to find a satisfactory job after learning. After all, you still have to dig deep in the interview, and you won't stop until you can't.

Fans have responded to me before, saying that self-study is usually to find relevant content on the blog, but soon after that, I still forget it completely, and I can only answer a little bit during the interview.

I answered him, this is because the knowledge you have is not a system, you learn what you are lacking, and most of the blogs on the Internet don’t mention the principle. You know how to do it but don’t know why, usually. It is not often used in projects, and it is for sure to forget.

If you try to study like you did when you were reading a book, even if those mathematical equations have been useless, you can fully grasp those mathematical equations once you have seen them. You can see the way according to the context, so I often say that most programs The fundamental problem for employees is that there is no systematic learning, and the knowledge they understand is not systematic at all.

If you want to learn Android more systematically, then I recommend you a "Notes on Core Knowledge of Android Development":

If you need to, you can point it to receive

Including:

  1. Summary of Java knowledge points
  2. Summary of Android knowledge points
  3. Android extension knowledge points
  4. Summary of performance optimization knowledge points
  5. Android open source library source code analysis
  6. Summary of Kotlin knowledge points
  7. Summary of design patterns
  8. Gradle knowledge points summary
  9. Computer network foundation
  10. Summary of common interview algorithm questions

These ten sections will be updated with more relevant content in the future

I believe you can benefit from it

I am currently making use of the off-hours to make corrections. If you see something wrong, please tell me in private chat, and I will make corrections right away~

The whole set of content roughly benchmarks Ali P7 and Tencent T3, and helps you complete Android advanced through systematic learning

In addition, there are also many fans who reported that interviews have become more and more difficult recently. Interviewers will always dig deep into the bottom layer. They can always meet that they do not know or understand the knowledge points. So I also share relevant interview topics PDF and The advanced architecture video helps you understand every problem from the principle level. Isn't it easy to get a high salary in a big factory?

Many friends are not without information, most of them have dozens or hundreds of Gs, but they are messy and they don’t know how to look from where to look, or even forget after they look.

If you feel that the information you find on the Internet is very messy and out of structure, I will also share a set for you. It is more systematic, and I usually study it often.

If you need to, you can point it to receive

We are only a small part of the long road of development...

Only continuous learning and advancement is our way out! Just keep up with the progress of the times!

June is coming to an end, and 1/2 of 2020 has passed . The year is not as long as expected. I hope you will always maintain a state of continuous learning and continuous thinking.

mutual encouragement!

Guess you like

Origin blog.csdn.net/River_ly/article/details/106911194