android automation! 5 years of experience in Android programmer interview for 27 days

Preface

Recently, I found that everyone likes to read interview-related articles. I also followed a wave of wind to summarize the questions I encountered in the interview and share some of the most asked questions in the interview.

Hope to provide some help to friends who are looking for a job.

Well, let's not say much, let's get to the topic.

First: First, figure out your job promotion (transition) route

The promotion paths for most programmers are nothing more than the following:

Technical Type: Junior Engineer->Intermediate Engineer->Senior Engineer->Architect (Technical Expert)->Technical Director->CTO

Management type: Engineer->Project Team Leader->Project Manager->Project Director->Technical Director->CTO

Interleaved type: Junior engineer->Intermediate engineer->Project manager->Technical director->CTO (This route technology and management are interleaved, and the things to be done at each stage are not fixed)

Transition type: junior engineer -> transition product, design, sales, operation, etc.

Second: Jump out of your comfort zone and devote 100% enthusiasm to what you like

Many programmers subconsciously advertise themselves as a C++ programmer, java programmer, ios development, Android development, php programmer, etc., but they often overlook the fact that you are a programmer first, intentionally or unintentionally It is very dangerous to bind oneself to a certain field or a certain language.

When doing something, devote 100% enthusiasm and persevere. I know this is a very difficult thing, and because of this, technical experts and senior talents are so scarce.

Third: Stand on the shoulders of giants and say "no" appropriately

Another way to improve your bottleneck is to learn from the code of predecessors. In this industry, programmers do not have to write directly without looking at anything. Maybe you can start writing directly when you have a basic foundation. If you encounter problems, you can find problems. It will be easier to get started.

But because of this, the code you write is often of very poor quality, insufficient optimization, verbose syntax, and not elegant enough. Therefore, we must learn to learn more from other people’s code, visit the open source community more, and focus on what we are interested in. The direction to learn other people's code is also a way to progress.

In the team, you often encounter a demand from the demand side to put forward a certain demand for you, maybe you think this demand is unreasonable, but it is still due to the face of your colleague, taking time for him to complete this demand, this time you may be in the eyes of your colleague A good colleague in charge, but maybe what you meet is just a product manager who is not thinking about it, or is just a product manager who has an attitude of giving it a try. Without a complete investigation, just pat your head and think that users might like this product, but didn’t do it. If the demand survey is out, a prd is thrown to you. If the project performs well and your efforts are recognized by everyone, then everyone is happy, but if the project fails in the end. Then your efforts will be wasted.

When the demand side puts forward a demand, you must ask him, what is the meaning of doing this function? Do you have data to support it? What impact and positive effect will this function have on our existing products? No data support All needs say no!

Fourth: Improve interpersonal relationships and improve communication skills

Learning to deal with interpersonal relationships, expressing self-thought, and communication skills are also things that programmers need to master, because your boss values ​​your performance, often not the details of your realization of a certain function, but your understanding of the entire project For control and communication, what he needs is the result, not the process. Therefore, senior programmers with strong communication skills will eventually develop to the top and gradually become the management. If you just want to write code quietly , If you don’t want to be disturbed by these boring things, then you can ignore it.

Many senior talents in this industry are often the embodiment of strong communication skills and advanced technology. With the development of the age, teamwork has become the mainstream, and you cannot achieve a certain task or function alone.

Team development efficiency, project schedule, complexity, and cost control are better than a single person, and team collaboration shows that you must have the most basic communication skills.

to sum up

It can be seen that the author’s work and study mode is composed of the following  "six points"  :

❝ Multi-level work/study plan + Pomodoro Technique + Quota Work Method + Batch Processing + Multi-task Parallel + Layer Work Method ❞

I hope everyone can integrate these points into their own work and study. I believe that they will work and study more effectively.

Below are some of the book learning maps that I have used in my studies, as well as system learning materials. For each knowledge point, there are corresponding maps, learning materials, videos, and interview questions.

**For example: I need to learn **Flutter knowledge. (You can refer to my learning method)

Click here to learn more and get it!

  • Flutter's mind map (no matter what you study, there is a learning route will do more with less)

  • Flutter advanced learning full set of manuals

  • Flutter advanced learning full set of videos

)]

  • Flutter advanced learning full set of videos

[External link image transfer...(img-byUOzPAQ-1614430529437)]

Probably just the above steps, so that learning is not only efficient, but also can learn new knowledge systematically.

Guess you like

Origin blog.csdn.net/a120464/article/details/114191624