android video development interview! 6 major difficulties of Activity, how many do you know? Big factory internal information

Jinjiuyinshi, I have compiled a collection of essential questions for Android interview questions with a monthly salary of 20K. I hope that everyone can check the missing and fill vacancies. Finally, I wish everyone can find a good job in Jinjiuyinshi!

Industry situation

Android situation and environment

If you are an Android developer, you must have heard a lot of rumors. In summary, the meaning of a few sentences is that Android is no longer popular. Android can't find work after learning it. Is Android going to be abandoned, etc. A lot of unsatisfactory remarks. But we have to admit this fact:
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 language has experienced its peak, then there must be such a curve, like the sine curve we 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.

Under such circumstances, due to saturation, junior engineers can be recruited everywhere, and the company has a choice, so it will definitely choose better ones, which will inevitably lead to what we often say, Android developers are already rotten. In fact, it is not. It's just that the company's requirements have become higher, the market is saturated, and the threshold has become higher. So this requires us to be more proficient in technology. As far as I know, middle and senior engineers are still very popular.

Mobile development

The emergence of React Native

The mobile terminal has developed so rapidly in just a few years. The typical representatives are Android and IOS, which have developed so fast and so popular. Since they are all mobile terminals, why do you need to develop two terminals separately for each APP development? As the IT industry, there must be a big man in various aspects who will try their best to compatible the two terminals, one set of code, both terminals can run;

So, I must know the language React Native developed by the famous FaceBook. This language is compatible with Android and IOS systems. A set of codes can be developed that can run on both ends. Before this, there was so much hope for developers and it was favored by many developers, but I think many people don’t know if there are any pits in the development of ReactNative. Does it look like hearsay, which improves efficiency. Reduced costs. This is what I felt after the actual development of an article I read before: the pros and cons of React Native technology, and those who are interested can take a look. Therefore, from a personal point of view, as an Android developer, learning more languages ​​that are compatible with platforms is definitely a bonus. But it also depends on your time, experience and other factors, as well as suitability. If you haven’t learned much about Android now, or are still in the early stages, and then you want to learn React Native well, I suggest that you first master the linguistics you need in your current work, and then expand your learning. Excellent choice. Don't look at what's new, try to get a little understanding, and finally find that you don't have a proficiency, and you will lose more than you gain.

Google launches Kotlin

Google has come in to promote Kotlin. Kotlin is undeniably supported by Google and the characteristics of the language itself. I personally feel that the following characteristics are very popular:


①Significant simplification of code ②100% compatible with Java code
③Functional programming ④Various
syntactic sugar

Maybe some old irons will say that since kotlin is supported by Google, the language has better features than Java will definitely hit a wave; here is my personal point of view:

①Don’t be too anxious to learn Kotlin, unless you have enough free time.
②One language replaces another language, it takes time to settle, usually 3~5 years.
③Since Kotlin has many advantages and is fully compatible with Java code, wait until It’s not too late when it becomes popular. Now there are many large-scale apps in China and abroad that are still Java. For apps such as QQ, WeChat, and Alipay, it will take time and cost to suddenly switch to Kotlin for writing. And the old projects of the headquarter and small companies also need to be maintained and so on.
④ Kotlin's tripartite library may not be so perfect, unknown BUG, ​​community activity, etc. are all problems

In summary, it is undeniable that Kotlin has a great possibility of becoming the most popular language for Android development, but it still takes a certain amount of time, so whether to immediately switch to Kotlin development is in line with your own, you need to consider yourself.

Flutter

What is Flutter?

On February 27, 2018, at the 2018 World Mobile Congress, Google released the first Beta version of Flutter. Flutter is a new mobile UI framework that Google uses to help developers develop high-quality native applications on the Ios and Android platforms. It
has the following features:

①Hot Reload, as a rookie Android developer, it’s really comfortable to be able to hot reload. Use Android Studio to save and reload directly with a ctrl+s, and you can see the effect immediately on the emulator. This is higher than native Android production.
②Everything is the concept of Widget. For Flutter, everything in the mobile application is a Widget. Through a combinable space collection, a rich animation library, and a hierarchical class expansion architecture, an appealing and flexible interface design is realized .

③ Rely on portable GPU accelerated rendering engine and high-performance native code runtime to achieve high-quality user experience across platform devices. This introduction is copied directly. Although I don't know what a portable GPU-accelerated rendering engine is, the final result is that applications built with Flutter will run similarly to native applications in terms of operating efficiency.

However, since it is mainly used in the UI and is not clear about the follow-up development, we should not blindly follow the trend for the time being. After all, these still require a lot of bigwigs to practice, and then continuous optimization and improvement can be suitable for us rookies. use. Of course, I said earlier that if you have plenty of time, you can learn and try. Learning more and understanding is definitely good for you.

The rise of artificial intelligence and big data

As a programmer, I must know the development of artificial intelligence and big data in the past two years. Whether it is the support of the national government or the development of the IT industry, as well as the world’s IT giants, they are all vigorously developing artificial intelligence and big data. After all, artificial intelligence and big data are the most popular languages ​​in the next 10 years. I think there are many people who are like me. Whether it is opening major open source websites, technical blog platforms, or technical exchange groups, the word frequency that may appear the most is artificial intelligence, and Python is naturally a mess.

We can often see that there are many bloggers who post news that Python has become the most popular language in the open source community in a few months, and so on. We will not discuss some of the chattering caused by it. But we can see from the other side how hot it is. Perhaps this has led to many Android developers, or not just Android developers, who want to get a share of the pie, and want to catch up with this craze. Here I will talk about a few of my personal views, just personally:
①Understand the current market conditions, what skills need to be mastered to find a job in Python development, what talents the company needs now, this is a direction for you to learn .

②Systematic learning plan: You need to know what you learn every day, because there are more novices you have been in contact with, and many people give up when they learn, or they don’t know what they are learning, so they are very confused if there is no plan. They must be learning. I don't know Python, so I need to know what to learn every day and what to do to learn Python.

③If you only learn Python by yourself, it will be difficult to find a job if you learn it. Now Python development jobs are generally very high and demanding, and you need work experience. If you only rely on your own thinking, it will not only waste time, but also not profession.

So you can think about whether you want to take this path in the future, or just want to try it and follow the trend; if you just follow the trend, I think it's fine, just go and check it when you really have free time, don't spend too much time More time, if you have time, it is better to study in your own field, which may be more beneficial to you. If you are determined to change careers, then you still have to consider the current suitability.

At last

All materials of the article have been packaged and organized and shared for free to those in need. In addition, the editor has a large number of complete learning materials for Android architects on hand, Android core advanced technology PDF documents + complete sets of advanced learning materials + videos + 2021 BAT factory The analysis of the real interview questions is shared with everyone for free. All of them have been organized on GitHub. Friends in need can click to get more.

Information display:

image

image

image

In...(img-1nQ7OKLI-1614049451615)]

[External link image transfer...(img-f8rDkEyF-1614049451617)]

image

Guess you like

Origin blog.csdn.net/fanzhang_vip0723/article/details/113977427
Recommended