Part-time app development based on Android! Get started with Flutter easily and thoroughly, and finally get an offer

Preface

Papa Ma summed up a sentence: quitting a job, either because the money is not available, or because he is wronged.

I did an analysis of my job-hopping experience this time, hoping to help those friends who want to change jobs.

Many friends want to change jobs, but the understanding of "changing jobs" may be limited to writing resumes, submitting resumes, and interviews. Before quitting, I thought so too.

At that time, the work was not going well, my professional skills did not play well, and the company could not give much prospects for development, so I planned to quit.

I saw a good listed company in the industry recruiting this position, so I sent a resume. I felt good after the interview, but I refused because the salary did not meet expectations.

After careful thinking, I found that I was too rushed to prepare, or not prepared at all. I wrote a resume roughly and went there without adequate preparation before the interview. In the interview, some details of the project cannot be answered, and many knowledge points are not answered well, which may make the interviewer feel at an ordinary level.

In the next few months, I began to look up various job-hopping and interview-related materials, and at the same time organized the key points according to the plan, sorted out the learning path, and gradually reviewed.

2. Interview process

  • Self introduction
  • The interviewer starts to ask according to your introduction
  • What do you want to know about our company? (Resurrection card, if you want to return to it, there will be no more, you can ask the interviewer to advise yourself)

3. Interview questions recall, no order

1. Project architecture, componentized architecture (he didn't ask for plug-in instead)
2. Android event distribution mechanism (asked for source code call details)

3. How to call a private method of a class by reflection (here is also asking for details, the difference between the two methods)
Method method=clazz.getDeclaredMethod(name);//All methods in this class can be called (not including those inherited from the parent class) Method)
Method method=clazz.getMethod(name); //You can call methods with access rights in the class (including methods inherited from the parent class)

4. How to monitor the life cycle of Activity?
Most of the time when you think of it, you can write a BaseActivity by yourself. It
is actually a matter of registering a listener callback in the Application.

this.registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {
     @Override
     public void onActivityCreated(Activity activity, Bundle savedInstanceState) {}
     @Override
     public void onActivityStarted(Activity activity) {}
     @Override
     public void onActivityResumed(Activity activity) { }
     @Override
     public void onActivityPaused(Activity activity) { }
     @Override
     public void onActivityStopped(Activity activity) { }
     @Override
     public void onActivitySaveInstanceState(Activity activity, Bundle outState) { }
     @Override
     public void onActivityDestroyed(Activity activity) {}
 });

5. Have you ever used RxJava and RxAndroid? If you have used it, you will probably ask about the principle
. 6. Picture caching framework, which one has been used, and the principle (you must use one after thinking about this level)

  • ImageLoader (don't think about it)
  • Picasso
  • Glide
  • Fresco

7. Which network request framework has been used (OkHttp, Retrofit, Volley)

What he wants to hear here is OkGo (a framework based on OkHttp encapsulation)

8. There are more than 20 nested if else in a business. How to solve this problem from the perspective of design patterns?

He tested the strategy model + factory model

9. What is the difference between HashMap, HashTable and HashSet?

Four. Summary

1. This is a very instructive interview. The content of the interview is indeed in line with the current requirements for senior Android engineers.
2. The content of the question pays more attention to details. If you don't have a deep understanding, you will hardly know it.
3. The interview is actually a process of learning and growing. Find a few companies to practice your hands, and then find a routine to prescribe the right medicine.

Finally, if you have any good learning methods or suggestions, you are welcome to leave a message in the comments, I hope everyone can learn, work together and make progress together.

The editor hereby wishes everyone a promotion and salary increase in the coming days, becoming the general manager, becoming the CEO, marrying Bai Fumei, and embarking on the pinnacle of life! !

No matter what difficulties we encounter, it should not be a reason for us to give up!

Many people always encounter some problems when they are new to this industry or when they encounter a bottleneck period. For example, after studying for a period of time, they feel that they have no sense of direction and don’t know where to start. They need a small editor. Follow my homepage or click on my GitHub to collect the compiled learning materials for free~

Here is about my own Android study, interview documents, and video collection. Those who are interested can check it out~

If you see this and think the article is well written, give it a thumbs up? If you think there is something worthy of improvement, please leave me a message, and you will definitely check and correct the deficiencies, thank you.

Guess you like

Origin blog.csdn.net/a132445/article/details/113106553