Dachang interview must ask! Teach you the correct use posture of Webview in the 5G era, it is worth collecting!

Preface

Everyone in our industry seems to have a common sense: after programmers reach 35 years old, their career paths are very narrow, but I don’t believe in this evil. I’m 37 years old this year and I’m still active in the front line of development and achieved a monthly income of 40,000. +.

Sometimes someone asks, how did you break the 35-year-old law? I never answered this question directly until the beginning of this year.

During this year’s epidemic, chatting with my friends and colleagues in a meeting made me think about it for two days: In retrospect, I have actually gone through a lot of detours before, but compared to most of my colleagues, my biggest luck is to insist on completing 3 After the road, I finally found the one that suits me best.

Friends who are confused about career planning can listen to me slowly .

1. Function

The role of Serializable is to save the properties of the object to local files, databases, network streams, rmi to facilitate data transmission, of course, this transmission can be within the program or between two programs. The original intention of Android's Parcelable is because Serializable is too slow. It is designed to efficiently transfer data between different components in the program and between different Android programs (AIDL). These data only exist in memory. Parcelable communicates through IBinder. The carrier of the message.

We can see the pros and cons from the above design.

2. Efficiency and choice

The performance of Parcelable is better than Serializable, and the memory overhead is smaller. Therefore, it is recommended to use Parcelable when transferring data between memory, such as transferring data between activities, while Serializable can persist data and save it easily, so when you need to save or transfer data over the network Select Serializable, because Parcelable may be different in different versions of android, so it is not recommended to use Parcelable for data persistence.

3. Programming realization

For Serializable, the class only needs to implement the Serializable interface and provide a serialized version id (serialVersionUID). Parcelable needs to implement writeToParcel, describeContents functions, and static CREATOR variables. In fact, how to pack and unpack is defined by itself, and these serialization operations are completely implemented by the bottom layer.

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!

Everyone knows what work intensity is in the profession, 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/chayel123/article/details/112986239