The "involution" of the programmer circle is so serious, how can we go further and enter the big factory

insert image description here

foreword

Have you noticed that hundreds of people compete for a job in many industries, not to mention the civil servants, and the jobs of state-owned enterprises such as Sinopec are also fiercely contested.

What about the it industry?

Not all programmers want to enter a big factory, whether they are fresh graduates or programmers who have worked for many years.

1. Why do you want to enter a big factory?

Although it is not possible to enter a large factory if you want to, everyone still strives to enter a large factory, at least this is the goal of most people.

For fresh graduates

If you enter a big factory after graduation, you will get the guidance of the industry's big names, as well as technology collisions that can be seen everywhere. The follow-up of new technologies is also very fast. In such an environment, your technical growth is naturally very fast. If you work hard enough, within three years, you may be at the same level as them.

for experienced programmers

There is a big gap between a resume with experience in a big factory and a resume without experience in a big factory. Many interviewers will delete a lot of people with their work experience, but you can be left to the end because of your experience in a big factory.

This is not nonsense, many things are based on past experience.

The other thing is the benefits of the big factory. There is nothing to say about the treatment of this big factory. Many people say that after working in a big factory for a few years, they can go to a smaller city to spend their old age in peace.

Introversion and mid-life crisis hinder you from entering the big factory

"Involution" has become a buzzword in various circles, and the programmer circle is also doomed.

If you ask a programmer what is the biggest anxiety?

That must be inseparable from the two topics of "involution" and "30+".

In particular, the current industry environment is constantly changing. Enterprises and business models in the "outlet" are constantly changing. Popular technologies are constantly being updated and technology stacks are constantly being subdivided. More and more "fresh blood" is pouring into this industry. Job requirements for talents and evaluation standards are constantly being updated, causing programmers to have to work overtime, temporarily research new technologies, and change job environments that are more suitable for them.

When putting a lot of energy into meeting current needs, the proportion of future planning will gradually decrease, so the "30+" crisis has become one of the reasons for bitterness.

This is the reason why many people have retreated from big factories, and it is also the reason why it is difficult for many young programmers to join big factories.

So curly!! Z!
insert image description here

how to avoid anxiety

First of all, you can make a reasonable study plan from the following aspects:

1. Pay attention to new technologies
2. Improve your own research and development capabilities
3. Pay attention to the accumulation of industry knowledge
4. Do a good job in personal career planning

At the same time, there are too many materials on the Internet, and not knowing how to choose has become a "blocking stone" for most people on the way of learning.

insert image description here

Summary of learning experience

(1) Adjust your mentality

Mentality is the key to a person's success. If you don't adjust your mentality, it is difficult to calm down and learn, especially in such an impetuous society. The current situation of most programmers is three points and one line, and they feel very tired. Some older programmers will feel more anxious, and as they grow older, this anxiety will become more and more intense. This kind of adjustment, on the one hand, helps me to study, on the other hand, it makes me cope with the interview more calmly and smoothly.

(2) Squeeze your time and make a plan

Once you make up your mind to improve yourself, no matter how busy you are, you have to squeeze in time every day, and remember not to "fish for two days and dry the net for three days". In addition, it is also necessary to make a good study plan. Review in a logical and orderly manner, first check for omissions and fill in the gaps, and then review systematically, so that you can get twice the result with half the effort and the effect will be immediate.

(3) Continuously learn technical knowledge and update your own knowledge reserves

For a programmer, technical knowledge is very important, it can be said to be the top priority. If you want to interview a big company, you must have a lot of knowledge. If you lack arms and legs, let alone in actual work, you will not be able to pass the interview alone. For technology, first of all, you must have solid basic knowledge, including your own language foundation, computer foundation, algorithm and programming, etc.

(4) It is not as good as a master of all disciplines! ! !

Students who have been interviewers or have participated in interviews should know that during interviews, they will not ask random questions aimlessly. Any interviewer who asks this question is unprofessional. Any experienced interviewer will study your resume in advance. If there is a blog address or github address on your resume, we will read it carefully. For the source code with a high amount of stars in github, we will go down and study it carefully to see its structure and related technologies.

During the interview, it is based on the technical points and project content written in your resume, from simple to in-depth to expanded, such a process for interviews, the assessment is not the breadth of your knowledge, but the depth of the content of your knowledge. Another reason for this kind of examination is that the interview can be carried out smoothly. It is a common practice in general interviews to start according to the content you will know! ! !

As far as Android is concerned, for example, multiple projects in your resume involve RecyclerView to make a list, then I may ask you, what is the style of your list like? If the style you make is very cool. Then we may ask, did you achieve it by customizing LayoutManager? If you answer yes, then I will continue to ask, how is recycling and reuse achieved? What is the caching mechanism of RecyclerView? Is the cache implemented with a map or a list? How is the interface refreshed?

From refreshing the interface to customizing the View, it's a series of loops. The interviewer will have a deep understanding of the depth of your skills based on the content of your skills. So, don't chew too much! ! ! !

As an Android programmer combined with the current market environment

Combined with one of my own learning experiences, I summarized a set of very systematic Android Framework source code development and secret learning materials, hoping to help those Android friends who want to enter.

Due to the excessive content of the document, in order to avoid affecting everyone's reading experience, only some of the content is shown here with screenshots, and there is a free way to obtain the full version at the end of the article! (At the end of the article, there is also a small benefit of using the ChatGPT robot!! Don’t miss it)

"Android Framework Source Code Development Secret"

This learning manual deeply analyzes the Android system source code, explains in detail the initialization process of the Android framework and the working principle of the main components, and aims to introduce the core concepts and technologies of the Android Framework through examples and cases, so as to help developers better understand the design and development of Android applications. This manual is suitable for programmers with certain experience in Android application development, hoping to help developers better understand and master this technology through in-depth study of Android Framework.

img

Chapter 1 System Startup Process Analysis

The complete startup process of the Android system can be divided into three stages: the Linux system layer, the Android system service layer, and the Zygote process model from the perspective of the system level; knowledge points:

The first section Android startup summary,

The second section init.rc analysis,

Section III Zygote,

Section 4 Interview Questions

img

Chapter 2 Cross-process Communication IPC Analysis

As a mechanism for Android inter-process communication, Binder can be regarded as a driver. In Android, common inter-process communication such as system class: phone calls, alarm clocks, etc.; self-created: like WebView, video playback, audio playback, large image browsing, etc.

img

Chapter 3 Handler Source Code Analysis

Section 1 Source Code Analysis

Difficult questions in the second quarter

Section 3 Handler Frequently Asked Interview Questions

insert image description here

At the same time, a WeChat group chat robot based on chatGPT was built here to answer difficult technical questions for everyone 24 hours a day .

picture

Guess you like

Origin blog.csdn.net/Android23333/article/details/131681781