2021 Android Developers' Job-hopping Guide, Explain the Android performance tuning in a simple way, the algorithm is too important

Preface

Papa Ma summed up a sentence: quitting a job, either because the money is not available, or because he is wronged.

I did an analysis of my job-hopping experience this time, hoping to help those friends who want to change jobs.

Many friends want to change jobs, but the understanding of "changing jobs" may be limited to writing resumes, submitting resumes, and interviews. Before quitting, I thought so too.

At that time, the work was not going well, my professional skills did not play well, and the company could not give much prospects for development, so I planned to change jobs.

I saw a good listed company in the industry recruiting this position, so I sent a resume. I felt good after the interview, but I refused because the salary did not meet expectations.

After careful thinking, I found that I was too rushed to prepare, or not prepared at all. I wrote a resume roughly and went there without adequate preparation before the interview. In the interview, some details of the project cannot be answered, and many knowledge points are not answered well, which may make the interviewer feel at an ordinary level.

In the next few months, I began to look up various job-hopping and interview-related materials, and at the same time organized the key points according to the plan, sorted out the learning path, and gradually reviewed.

1. [Byte Beat a full set of advanced learning materials] Nine topics:

1. Advanced UI, custom View

The knowledge of UI is currently the most users. The Android introductory training that was so popular that year, you can find a good job by learning this little piece of knowledge.

But obviously it's not enough now. Reject endless CV, go to the actual project, read the source code, and study the principle!

Advanced UI

2. NDK development

Audio and video, artificial intelligence, these are the development trends that cannot be blocked in the future. We can see those recruitment positions on Liepin.com, and the salary required to be proficient in NDK is 30-60K+. Don’t miss out on those who pursue high-paying positions

NDK development

3. Data structure and algorithm:

Bytedance interview, but the algorithm was rejected. Just want to change to a big factory that does not require high algorithms?

As a result, I went to Alibaba, Tencent, Huawei, Xiaomi and other companies for interviews, but they were all rejected!

Data Structures and Algorithms

4. Java kernel principle

100%, all companies, large and small, must ask for interviews

Principle of Java kernel

5.Flutter

It's been more than a year, you don't have to use it for work. But if you go out for an interview (the junior level rarely asks for it), you will definitely ask.

Regarding whether Flutter is the future or not, I can’t tell you for sure. All I can be sure of is that you are going to interview for high-paying positions. You have to master this mainstream new technology. Learning ability.)

Flutter

6. Performance optimization

I heard that the last elimination system of large companies is specially prepared for employees with poor code quality and low performance. How to write high-performance code? How to perform performance tuning?

Performance optimization

7. Mobile Architecture Practical Project

Architects are not born, they are honed in the project. Therefore, we need to combine the project for practical training when we learn the technology. Then the most commonly used architecture in Android is nothing more than MVC, MVP, MVVM, but if these ideas Mixed with modularity, hierarchy, and componentization, it is not that simple.

Mobile architects in action

8.
Why should Kotlin learn Kotlin?

  • Google announced that 35% of Android professional developers currently use kotlin (explosive growth)
  • The grievances between Google and Oracle stemming from Android have lasted for a long time, and they have always wanted to find a language to replace Java.
  • Java will start charging in the future, which may cause some companies to give up Java
  • There are already many recruitment requirements of companies that require developers to know Kotlin
  • The cost of learning kotlin is not very high. Switching from Java to kotlin is generally enough to complete in one week, and kotlin and Java can call each other. If kotlin can't solve the problem, you can still write in Java (very humane)

Kotlin

2. Android core knowledge notes

A total of eight module learning materials: such as NDK module development, Android framework architecture, flutter, kotlin...

Android core knowledge notes

Only systematic and directional learning can quickly improve their skills within a period of time.

This knowledge system is suitable for all Android programmers to learn. There are detailed explanations and introductions about the knowledge points in the above catalog. Mastering all the content of this knowledge point will give you a qualitative improvement. It also summarizes many interview processes. A summary of the questions encountered and the corresponding answers.

to sum up

Nowadays, new technologies are emerging in an endless stream. If we study in-depth every time a new technology is released, it is easy to distract our energy. It may take a long time for us to use the new technology in our work. When the new technology we learn cannot be applied to the application, it is easy to be forgotten by us. When we really need to use it in the end, we have to start from scratch (although it will Faster).

I think as a technical person, you should embrace the new technology. When you enter this industry, you should know that this is an industry that has lived and learned the old, so in the face of new technology, don’t resist, just embrace change. Up.

Flutter is obviously a brand new technology, and for this new technology at the beginning of its release, it is indeed too expensive to spend a month to learn it. But spend a day on the weekend to experience its development process and learn about its advantages and disadvantages, what it can or cannot do. This time is not unacceptable to us.

If you have time, actually reading through the Flutter documentation is the most comprehensive understanding of Flutter. But if we only have 8 hours, I hope to focus on some of the most noteworthy points.

Attached

Android learning PDF+architecture video+interview document+source notes

(Cross-platform development ( Flutter ), Java basics and principles, custom view, NDK, architecture design, performance optimization, complete commercial project development, etc.)

(Cross-platform development ( Flutter ), Java basics and principles, custom view, NDK, architecture design, performance optimization, complete commercial project development, etc.)

[External link image is being transferred...(img-pfHb7F0h-1610952915656)]

Guess you like

Origin blog.csdn.net/dajie1213/article/details/112781923