Android performance optimization short book! The boss teaches you how to imitate Dachang’s APP, and the technology is introduced in detail

Recent developments on Android

Everyone knows that this year's mobile development is not so hot, and it has completely lost the hot momentum of Android development in the previous two years. At the same time, AI is in full swing, and many comments say that Android is not good. In fact, not only Android, iOS also has similar remarks.

So how do you treat this phenomenon?

My answer is: Android is okay, but it's back to the ordinary, without the enthusiasm of previous years.

1. Be sure to solidify the basic knowledge of basic data structures, classic algorithms, Unix programming, program compilation and linking, and computer principles, which will affect your career development in the long run.

2. It is recommended to start with the C language, not only because many operating systems and network protocol stack open source codes are implemented by C/C++, but also because of the characteristics of the C language itself: as a high-level language user, you don’t need to pay attention to the underlying details, and you can see it intuitively. To the data flow. Moreover, C is relatively simple in grammar rules and can be applied in a short time. The most important thing is to follow the learning method of C/C++ and python, and you can know the performance status of your program's memory and other performance more clearly than learning python directly.

3. Don’t pursue the salary of your first job too much. You can even say that you don’t pay too much attention to the salary of the first two years. You don’t need to learn how to invest in stocks for financial management (but you must have a basic sense of risk). Many people around you who have just started financial management in their thirties have also realized the freedom of wealth. It is to do a few complete projects in a down-to-earth manner, learn the basic principles, and ponder the business process at the same time. Of course, big factories will have a lot of procedural chores. How to deal with them as soon as possible and not to consume their precious time too much is another subject.

4. Be bold and make your own voice more. Many newcomers in the workplace worry about their lack of technical depth when discussing projects, and their opinions are relatively superficial, which is wrong. To put it bluntly, we all come to work, making money is the kingly way, and face is the least important. Only by expressing more of your business thinking can you show your value. Many times you can discuss your ideas with others and quickly update your knowledge reserve.

5. Answer the main mechanical engineering background, let's talk about how mechanical (including electrical) engineering switched to an Internet company. Depending on the situation, if it is a bachelor's degree, it is strongly recommended to cross the test of electrical engineering, because many basic courses such as digital electrical modeling, electrical engineering, advanced mathematics and other important courses are studied, and the difficulty of postgraduate entrance examination is relatively small. If you have a master's degree in mechanics, it is recommended to learn all the algorithms and data structures first, not necessarily looking for an internship in a startup Internet company. You can't learn the complete project development process in one or two months. Try to join a team within a school to complete a project. For example, Huawei sets up programming competitions in major universities every year. These can give you a comprehensive understanding of the skills necessary to enter the software industry. For those who are already working, like me, I changed careers after graduation. Here is my learning process for reference only. Get started with the C language as soon as possible, and use the time off work to brush up the questions and type the code in the book on the algorithm and data structure provided by the link above. Then choose a popular embedded operating system such as freertos to familiarize yourself with the source code to clarify the basic principles of embedded system internal task scheduling, memory management, task communication mechanism, etc., and manually transplant a popular chip such as stm32f429, run the tick, and schedule tasks. OK. Why choose a popular chip, because all kinds of pit predecessors have stepped on it, forum consultation is quite easy. Then you can get started with the bible of advanced programming in the UNIX environment. Generally speaking, after learning the embedded system, and then learning the process communication and virtualization of the Linux system, you will find that it is much easier to get started than learning Linux directly. After having a basic understanding of unix system calls, it is not difficult to develop Linux applications. It is best if there is a combination of company business and practice. The next step is to look at your own development direction. If you want to develop in the Internet of Things, you can transplant the A core and have a deeper understanding of interrupt handling. If you want to engage in network or background development, you can be more familiar with the network protocol stack. I recommend the introduction to lwip, which gives the complete code implementation of TCP and UDP protocol specifications, which is of great help to understanding TCP slow start, congestion control, and socket programming.

6. Don't rush to choose management positions such as product managers. Only by following a few large projects and playing a few iterations can you have a clear understanding of the project landing process of the big factory and be able to talk to various old you bar code farmers. Wrangling. I don't understand the needs clearly, and the old employees play to death every minute.

7. It is also a digression. Although the salary was not high in the previous years, we must develop a good habit of saving money. When you come to Shenzhen penniless, live in a 900 farmer's house, eat roasted meat in Guangdong, and look at the price of RMB 50,000 or 60,000 outside the customs, you will know how difficult it is to survive in Shenzhen. Only hard work is the basis for solving social problems. For example, people know whether they drink hot or cold water, and many things can only be known after they have experienced various sorrows.

At last

Because there are too many questions and the workload of sorting out answers is too large, it is limited to providing knowledge points. Many detailed questions and reference answers have been compiled into PDF files. Small partners who need it can privately mail me [Interview] for free or click GitHub to get it for free !

(img-g5JPAdfP-1611298769310)]

Guess you like

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