Xiaobai learned it after reading it! 2021 big factory Android interview experience, great enlightenment!

First of all, talk about why we need to talk about the advanced language of JAVA. On the whole, the difference between Java and Android is that Android programs are based on components and configurations, and Android development uses Java language as the development tool. On the surface, they are a bit the same. Different doors, but actually very different. Android is a mainstream smartphone operating system and Java is a development language. There is no difference between the good and the bad, and the two are also different positions. From the perspective of the job position, Android is engaged in It is the direction of mobile internet, and Java is the direction of development.

The connection between Android and Java

The applications on the Android application layer are written in Java, and Java is used as the development language. However, Java is not equivalent to Android because the Android SDK references most of the Java SDK, and a few parts are discarded by the Android SDK. Therefore, if you want to engage in Android development, you must have a Java foundation.

It’s said that programmers are eating youth meals. This is indeed a bit right. I didn’t think so before, but as I grow older, the facts tell me that it is true. After 30, I will find that my body is different. In terms of indicators decline, physical and mental strength can’t keep up. This age is often very embarrassing. Compared with young programmers, no one’s output is high, but the company still pays you a high salary. Why can the company pay high wages without better performance? Therefore, these people have entered the so-called mid-life crisis. In order to help this group of friends successfully tide over the mid-life crisis, I probably sorted out the following ideas.

Choose general direction

If the programmer is about 30 years old, if you are still in the front-line development position, then you have to start thinking about your future development direction. You can't code with one heart, or be like a frog in warm water. Slowly you can't get out of this pot of hot water. According to your own conditions, consider which direction you are suitable for. I will list a few directions for you here and see which one is more suitable for you.

Transfer to a management position

Most programmers choose the direction of management.

Transition structure

Most programmers choose the direction of the field of technical experts.

Product transfer staff

Looking at interest, the threshold for switching from a programmer to a product is relatively low. In the future, it needs to be improved in expression and communication skills.

Transfer tester

Looking at interest, like the product, it is relatively easy for programmers to switch to testing. The ability to express, communicate, and write documents needs to be improved.

other industry

Tentative attempt

If you have chosen your own direction, then try to do something new in your own position, pay attention to how they do it, compare what you do with them secretly, and see how you do it In this way, give yourself a score to see if it is as easy to do as you think. If you find difficulties or say you are not suitable, you can always adjust the direction, but you must be mentally prepared in advance, and you have to do every job. If there is a hurdle, don’t change the direction when you encounter the hurdle. Then it is a very wrong judgment and a waste of your time. Verify that your choice of direction is correct in the shortest possible time. Don't change direction after confirming it, and then implement it unswervingly.

Set aside some life-saving money

The main crisis of the mid-life crisis is not the problem of money. It is because there is no source of income after a panic and unemployment. The whole family needs to spend money. This is the main factor. Therefore, you must learn to leave yourself some back in advance and try various At the same time of the transformation, we should also pay attention to the accumulation of funds in ordinary times. Don't earn too much and spend too much (but I believe most middle-aged people are aware of fund accumulation). When you really need money, you can buffer it and give yourself time to think of a solution. . Don't panic if you have surplus food. The meaning of money is to strengthen courage. If there is no money, people who are bold enough will panic. Don't you think?

At last

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 Android architect/technical expert? I have summarized these 5 big pieces;

I have collected and sorted out the interview questions of Alibaba, Tencent, ByteDance, Huawei, Xiaomi and other companies in the past few years, and sorted out the requirements and technical points of the interview into a large and comprehensive "Android Architect" interview PDF (in fact, more than Expected to spend a lot of energy), including the knowledge context + branch details.

Java language and principles;
big factory, small factory. Android interview first see if you are familiar with the Java language

Advanced UI and custom view;
custom view, the basic skills of Android development.

Performance tuning;
data structure algorithms, design patterns. All of the key foundations and key points need to be skilled.

NDK development;
future direction, high salary is bound to be.

Cutting-edge technology;
componentization, hot upgrade, hot repair, frame design

There are a lot of materials for learning Android on the Internet, but if the knowledge learned is not structured, and when you encounter problems, you just taste it and stop studying it in depth, then it is difficult to achieve real technological improvement. I hope that this systematic technical system will provide you with a direction reference.

When I was building these technical frameworks, I also sorted out the advanced advanced tutorials of the system, which will be much better than my own fragmented learning effect, visible on GitHub; "Android Architecture Video + Study Notes"

Of course, it is not easy to learn and master these abilities in depth. Everyone knows how to learn and what kind of work intensity is as a programmer, but no matter how busy the work is, I still have to spare 2 hours a week to study.

Within half a year, you will be able to see the changes!

It is not easy to learn and master these abilities. Everyone knows how to learn and what kind of work intensity is as a programmer, but no matter how busy the work is, I still have to spare 2 hours a week to study.

Within half a year, you will be able to see the changes!

Guess you like

Origin blog.csdn.net/a132445/article/details/112951516