Android app development tools! Daniel, who has millions of fans, talks about the journey of learning Android, and is continuously updating

beginning

I interviewed some companies a year ago, and now I have got an offer from Ali and Toutiao. I also went out to look for a job last year, interviewed five companies and got offers from four companies. So I should be able to provide some humble opinions on the interview. This article will explain some common questions and some answering techniques.

In fact, the interview process is also a process of sorting out our own knowledge. What we learn at work is fragmented, so we need to sort out these fragmented knowledge before the interview to form our own knowledge system. Everyone should establish their own knowledge network, and this knowledge network is your capital. Only when your capital expands will you become more valuable.

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.

New beginning

There is no shortcut to change your life. You need to take this path yourself. Only deep thinking, continuous reflection and summary, maintaining the enthusiasm for learning, and building your own complete knowledge system step by step are the ultimate ways to win. It is also the mission that programmers should undertake.

If there is a need for advanced Android senior engineer system learning materials, I can share it with everyone for free, friends who need the full version, [ click here to see all the content ].

"Series of Learning Videos"

"Series of Learning Documents"

"My Interview Trip to a Big Factory"

"My Interview Trip to a Big Factory"

[External link image transfer...(img-PSQCn993-1614050226057)]

Guess you like

Origin blog.csdn.net/Sunbuyi/article/details/113978013