Android TV software development! Is it difficult to adapt to the Android screen? In fact, that’s the case, Daniel's best summary

Preface

I joined a foreign company in October last year. It coincided with the company's large-scale recruitment of Android development in recent weeks. I was fortunate enough to participate in more than a dozen interviews. There are also some ideas from the interviewer's aspect, and I hope to share with you.

Originally being an interviewer was a relatively new thing for me, but after a few interviews, I felt that I had a more three-dimensional impression of the interview. Hope the following sharing can bring you a little bit of help. The following is the text:

First of all, let me talk about my feelings. There are actually several key points in the entire interview process. If you master the key points, you have a high chance of passing the interview.

1. Java backend

In the "Java Back-end Learning Recommendations for Android Programmers" I wrote, it is mentioned that due to the inherent advantages of Java, when Android developers choose to transfer jobs, switching to Java back-end accounts for a large proportion, because the demand for Java back-end jobs is relatively high. large, while the technical migration costs are lower, such as Java development is now the most widely used Springfamily bucket:

img

As Android developers, or if you used to find out about Dagger, you understand and use Springis not difficult. By notes of all kinds, such as @Contorller, @Service, @Configurationand other earmarked to class, by @Autowiredthe way used to injection, that will make you feel at home.

If Springa similar Daggerinjection and container frame management entity, then SpringMVCthat is based on SpringWeb framework on the added functionality.

For Android development, MVC is certainly not unfamiliar, in fact, the background developers often write is Controllerto provide a Model to you. And Hibernateand MyBatisare persistence framework, are conveniently used as MySqlORM frameworks database.

If Springand SpringMVCare Android developers a more friendly option, then Spring Bootit is your "green channel." Spring BootIt is also called the family bucket, because it gathers all kinds of commonly used development frameworks, at the same time reduces the threshold for Spring development, and simplifies various configuration processes, and the Jetbrains family supports it! So this stage, think Spring, SpringMVC, SpringBootthe Android developers to learn Java Web Getting a good choice.

img

Of course, as an Android developer turning to the backend, the biggest problem is the changes in development ideas and fields . You no longer need to pay attention to the business logic on the device, but also to pay attention to big data, concurrency, performance optimization, and distribution. Etiquette and so on, these are all transfers and you need to start from scratch. This is an unavoidable cost.

Second, the big front end

In my understanding, the big front-end generally includes a collection of Web front-end, client, and cross-platform . For Android development, continuing to engage in UI and user interaction logic is also a way to make a living, but due to the end of market dividends and development costs, it is also one of the trends that expansion capabilities become large front-end development.

In my "My Spring Journey of Mobile Development", I said: With the rise of various mobile cross-platforms, with the support of ReactNative, Weex, Flutter, and other frameworks , the ability of Android development is no longer limited to the Android field. Major manufacturers have gradually improved their cross-platform deficiencies in recent years.

But this does not mean the "decline" of native development! No matter what kind of cross-platform blessing, it is ultimately inseparable from your native system capabilities. After the tide has passed, "naked swimming" has been eliminated, and now the market is becoming more and more front-end. Under competition, I think the boundaries of mobile development can be broader.

So there will be a demand for the presence of the Android platform, while using the cross-platform development, allows us the ability to quickly cover the iOS platform, such as ReactNative, Flutter, Weexetc., can make contact with you step by step and become familiar with the world of Web front-end, such as after uni-app, myvue, Chameleon, taroand other frameworks can enrich your small program capacity, so that your business capabilities to a new peak.

img

Third, the Internet of Things

The biggest difference between the Android platform and the iOS platform is its open source and influence. Today, many years later, Android has not only represented the mobile phone platform, but also in TV, set-top boxes, building security, automatic sales, advertising signs, smart home appliances, vehicles, etc. areas have been infiltrated and sophisticated, it is like a small partner in my Android QQ group, now also engaged in App development but not much, but Android continues to work in the above areas, but much more.

In the 5G era, the Internet of Things field is likely to have new opportunities. Huawei's Hongmeng smart screen, driverless car-mounted tablet, and various other wireless smart platforms implemented by Android are all opportunities that Android developers can cultivate.

Of course, just learning or "talking on paper" will only create anxiety in the end, so "the best way to learn is to "hands". Open source projects are your best way to learn. Do-it-yourself practice is your "transfer". The best try.

Finally, let me talk about my learning route

In fact, it is very simple. The picture below contains all the knowledge points that Android needs to learn. There are 8 major sections:

  1. Essential skills for architects
  2. Android framework architecture (advanced UI+FrameWork source code)
  3. 360°Android app all-round performance tuning
  4. Interpretation of open source framework for design thinking
  5. NDK module development
  6. Practical link of mobile architect special project
  7. Mobile architects must learn WeChat applets
  8. Hybrid development of flutter

Android learning materials

As for me, I have systematically made a copy of the materials and videos of the learning system for the branches of the above eight major sections. About the following, I will not write all of them, otherwise it will be too long and affect everyone's reading. If you need it, you can send a private message to me [advanced] and I will share it with you for free, or click the link below to receive it. Thank you for your support for so long.

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

If you have other needs, you can also view it on GitHub, and the following information will also be uploaded to Github one after another

330 pages of PDF Android learning core notes (including the above 8 sections)

Android learning system corresponding video

to sum up

I hope to use my own learning methods to help everyone improve their skills:

  • 1. Read more books, look at the source code, and do projects, usually a variety of summaries

  • 2. You can't stay in the use of some basic APIs, you should study in a deeper direction, such as the internal operating mechanism of activity and view, such as Android memory optimization, such as aidl, such as JNI, etc., not just staying in the use of it, But by reading the source code, understand its implementation principle

  • 3. At the same time, there are certain requirements for the architecture, the architecture is abstract, but the design pattern is specific, so we must strengthen the learning of the design pattern

  • 4. There are also many directions for android, advanced UI, mobile architect, data structure and algorithm, and audio and video FFMpeg decoding. If you are more interested in one of them, you can boldly advance!

    How to receive advanced learning materials: GitHub

9B%EF%BC%9F%E5%A6%82%E4%BD%95%E9%9D%A2%E8%AF%95%E6%8B%BF%E9%AB%98%E8%96%AA%EF%BC%81.md)**

I hope everyone likes, reposts, comments and attention, your support is my motivation to continue! Come on!

Guess you like

Origin blog.csdn.net/chayel123/article/details/114140412