Everyone knows , We improve our way of learning , Generally divided into

  1. self-taught , A process of self-improvement ;

  2. Grow with the company's projects , It's what we call business iteration .

Forget it , I've been working for almost three years , These three years have different cognitions in different periods , A lot of learning opportunities are wasted , But also summed up some good learning habits , Today, I'd like to share with you how to use the working environment to learn .

1. Online problems

First of all, in the working environment , It's different from self-study , This is real combat , That is to apply what you have learned online , After countless users have verified your code , In different configurations , Different usage habits , In different network environments , There will be many problems :

  1. crash , Generally add monitoring and active reporting for applications

  2. Compatibility issues , Generally, feedback from users is active

The above two categories , General business problems , All can be solved .

Finally, on the platform , There will be some that are very difficult to solve , It doesn't matter much either , We call it online .

This kind of problem , I think everyone will meet , A lot of times , Our attitude is :

" It doesn't matter , Everyone has "

" I didn't make it , No matter "

Such an attitude is extremely incorrect , These questions are very good materials for learning .

Long ago , Once I had an interview , The question is, have you ever encountered some difficult anomalies , How to solve it ?

I wasn't much involved in business development at the time , There was a pause , I don't seem to pay special attention to these .

Now think about it. , It should not be .

A lot of times , We complain that our business is not growing , On the contrary :

We are in the business process , Facing millions or even tens of millions of users , There will always be all kinds of difficult problems , These problems happen to be very good learning materials for our growth , And we are often lazy by ourselves or The evasive mentality gave up such a learning opportunity .

therefore , If you read this article , Pay more attention to these problems .

The good news is that these programs , Some big companies in the industry will pursue perfection , I often share some technical articles to explain how to solve it , Let me just give you a few examples :

  1. finalize time out Exception

Didi once shared :

  • Didi travels in androdate finalize time out Solutions for
  1. bad token Exception

bugly Also share an article window The article , Among them the token There are also some explanations :

  • elementary analysis Android The window of

There are also some very good individual developers , in the light of toast bad token exception Open source your own solution :


  1. SharedPreference As a result of anr

Headline technology team , about SharedPreference apply It caused ANR Analysis and solution of the problem .

analyse SharedPreference apply Caused by the ANR problem

  1. webview Some of the crash and compatibility issues of

  2. RxJava Some strange problems caused by improper use


These problems are in front of you , And there are a lot of solutions , You can try to solve , Online environment can support you to verify .

Try to pursue the best , Try to fix these problems .

These can't be learned in self-study environment , Even if you learn the solutions to these problems on your own , There are not enough conditions for you to verify online .

in addition , What's your idea of pursuing perfection in your work , For example, some extreme optimization schemes, etc , Don't hide it , Try a wave of , Online verification wave .

Those that don't go through online verification are paper tigers , You'll never know the stability of the solution .

Search for articles about big factories , I also made a series for you :

Android You should know this | 3 period

Android Information you might miss | 2 period

Android High quality technology sharing 1 period

2. Offline problems

in addition , We are in normal business iterations , Yourself or colleagues , Occasionally, there are some difficult to do , Or extremely unexpected problems , Generally speaking, there are :

  1. Difficult requirements encountered in the normal development process ;

  2. A situation in which the implementation process is extremely mismatched with the expectation ;

  3. qa The newspaper is more occasional bug;

These problems , An appropriate wave can be noticed , Of course, it's not about taking this problem over , You can understand this problem , Try to solve it by yourself , Or think about why , If you have a conclusion, you can discuss it with your colleagues , Joint solution .

There is no conclusion , As unknown knowledge , The follow-up colleagues solved , Ask a wave , Look at the code again , I've learned .

Not all the needs can meet difficulties , Don't flinch when you meet , Instead, we should be glad that , I feel like I'm going to learn , Today, I made a lot of money .

Remember the time , We had a very strange online problem , I worked with my colleagues for many days , More than one version verification has been sent in succession , Address the problem , All sorts of conjectures 、 verification . Under pressure after the solution , Looking back on this period later , They say :

This wave of losses , Learned .

In a team , There are no boundaries in doing things like this , In addition to learning more , I can get along with my colleagues more harmoniously .


  1. summary **

A lot of times , A classmate asked me

「 Hongyang , What knowledge can you learn to become a senior engineer ?」

No, .

The rank is given to you by the company , I'm a senior engineer with no knowledge , More or to combine the actual project experience , So choose a company that you recognize , Keep learning and accumulating , Grow with the project , Finally recognized , To you " senior " Of title.

And want to grow fast , In this paper, two schemes are given which can be used for reference .

secondly , Our business , Most of the problems don't require IQ ,90% The problems you've had , Others have come across , Can rely on search engine to solve .

But every time it's solved , If you want to , To explore the underlying principles :

1. Why is there such a problem ?

2. This solution , The essence of the final solution is ?

3. After understanding the essence , Is there a better solution .

In the long term , The gap is slowly emerging .

” Some students have problems , Still relying on search engines “

” Some students have all kinds of problems , Basically, if you take a look at it, you will report an error , Combined with the context , You can immediately think of the nature of the problem .“

Want rapid technology growth , Put yourself in a right attitude first , Be prepared for long-term accumulation .

Why Saturday , I don't have a good rest to tweet ?

Because advertising push has taken up some push opportunities recently , So I'll spend extra time , Make up some articles for you , These articles are usually in the following article or Over the weekend .

Recommended reading :

lately Flutter It's up to you ! Flutter You can also do such cool animation

Open source one Android Image compression frame

I share in a group Android It's like I've shared so much that no one talks ... 2 period