Spring for Android programmers! Ali P7 level interview experience summary, powerful version

Preface

Android is indeed not the grand occasion of the year, it is no longer as popular as it was a few years ago. If a new industry has experienced its peak, then there must be such a curve, like the sine curve we have learned, first rises rapidly, then reaches the peak, then falls, and finally approaches a stable value. Then it has fluctuated between a saturation value in the past two years, so in this form, the corresponding requirements for individual developers may be higher. In the past, as long as you know the four major components of Android, it is a sweet pastry. That era has passed. With the experience requirements of human-computer interaction, the requirements of App user experience, fluency, etc., it is no longer the same. In such a big environment, the same changes will be made to our Android development engineers. As far as I know, intermediate and senior engineers are still very popular, so I think the correct career plan should be pyramid-shaped, and the core competitiveness must be solid!

The 30-year-old forced transition is not something that every programmer has to do in this way. Only some people who are not interested in programming and have poor programming skills will be forced to make changes. And for those who are really big techs and those who are interested in programming, age is never a problem.

So, what are the reasons for these programmers who were forced to make changes at the age of 30?

1. Determined by the development of the enterprise.

The Internet industry is characterized by very fast iteration speed and rapid technological development. Therefore, if companies in the industry want to obtain stable and sound development, they must have their own characteristics, keep innovating, and keep up with the development trend of the times, otherwise they will be Social elimination, such as the fall of China's "shoe king" wealth and wealth bird some time ago.

In the era of technology, if traditional industries are not combined with the development of the Internet to make changes, they can easily be replaced by other similar products, and the development strategies of enterprises mostly determine the development status of some programmers.

2. Technological innovation is very fast.

The requirements for programmers are very high during the process of a project from demand investigation and analysis, to product design and development, to product realization. At the same time, the competition among IT practitioners is very fierce. This kind of competition requires programmers to have more solid basic skills, better business understanding, and strong adaptability.

The company's projects are constantly changing with the development of the industry. The previous project is still using this technology, and the next project may need to use new technology to solve problems, so this will also force many programmers to continue to learn. Constantly update their knowledge system. For programmers, because their industry is relatively special, the content of their work is also extremely creative, so this also requires them to be ready to change at all times.

The birth of new technologies means the elimination of certain languages ​​and technologies. If you stubbornly just want to guard one acre of land and do not want to make changes, and do not actively adapt to the needs of new projects, then those who are eliminated will be eliminated. It can only be you.

3. Thinking is qualitative with age.

Compared with some young programmers, experienced programmers do have their own advantages. But being younger also means you are more energetic, more agile in thinking, and more malleable. The main reason why many companies are more willing to recruit young people is that they can understand something more quickly, while the salary requirements are lower. After several years of work for older programs, although they are more capable of working, they will also have a certain degree of inertia and inertia. When they encounter some programming problems with relatively large engineering workload or difficult to work, they will also have a certain degree of inertia and inertia. In the future, many older programmers will not make relevant attempts, but choose to just leave it aside and not solve it.

Fourth, work enthusiasm is decreasing year by year.

Whether working as a programmer or in other industries, many people will have an obvious feeling that when we first entered the workplace to work, it was the time when we were most proactive in learning and solving problems. After we have worked in the workplace for a few years, our enthusiasm for work has gradually been consumed. Although many problems have been solved and certain experience gained, we will form a kind of inertia when encountering new problems, and we are unwilling to jump out of comfort. Area.

In recent years, with the development of the industry, many people have switched to IT, and the group of programmers has become larger and larger. Among them, some of them like programs very much, so they will spend more time spontaneously studying programs and learning new ones. Technology; and for some people, they entered this industry only for high salaries, so after working in this industry for a few years and when they get older, they will naturally feel more and more disgusted with what they are doing in this industry. I also want to leave this industry early.

Whether you are doing programming or doing other tasks, many principles are the same. If you are very interested in what you are doing, no matter how old you are, you will learn a lot of things spontaneously, and you can always work hard. Climb to the top of the industry's pyramid; otherwise, you will be more likely to feel confused, and eventually be forced out of confusion and pressure.

End of sentence

The junior engineer will start to do it directly when he gets the requirements, and then do it and find that there is a problem, either the technology cannot be realized, or there is a problem with the logic.

However, senior engineers will consider a lot when they get the requirements, the feasibility of the technology? Does it help the existing business? The impact on the existing technology architecture? How scalable is it? Wait...then the design coding stage will be carried out later.

And now with the popularity of cross-platform development, hybrid development, and front-end development, the technologies that Android developers need to learn and master are also increasing.

Through exchanges and discussions with friends in some industries, and refer to the current interview requirements of major factories. We spent almost a month sorting out all the knowledge systems that this Android senior engineer needs to master. You can see how much you have mastered.

Hybrid development, WeChat applet. All have to be learned and proficient

These are the cores of Android-related technologies, as well as advanced Java

Some techniques necessary for advanced advanced. Like mobile development architecture project combat, etc.

Android cutting-edge technology; including componentization, hot upgrades and hot repairs, as well as detailed technical systems of various architectures and frameworks

The above is the technical system we have compiled for Android senior engineers to master. Many friends may think that many technologies can be achieved by themselves, but some new technologies are not clear. There should be no big problem.

And this is precisely the problem! Why other senior engineers can exceed 300,000 years, but you only have a few hundred thousand?

It's because you only need to add what you think you need, but you don't know what the company needs. This is particularly easy to cause gaps. Because your technical system is not systematic, it is fragmented and scattered. So why do you break through 300,000 annual salary?

These words of mine are relatively straightforward and may poke some people's glass hearts, but I know it will definitely have a wake-up effect for some people. As long as someone finds a direction based on my advanced system outline and these words, and takes action to improve themselves, they will work harder to succeed. Then what I did all made sense.

If you like it, please help forward and like it so that more people in need can see it. Thank you!

I have all the technical information contained in the above system outline. You can share it with friends in need for free!

If you like it, please help forward and like it so that more people in need can see it. Thank you!

I have all the technical information contained in the above system outline. You can share it with friends in need for free!

Information collection method: click on my GitHub

Guess you like

Origin blog.csdn.net/a120464/article/details/114098456