Ii. Interview process

  • To introduce myself
  • The interviewer starts by asking questions based on your introduction
  • Is there anything you’d like to know about our company?

Three. Recall the interview questions, in no order

1. Project architecture, componentized architecture (he didn’t ask about plugins) 2. Android event distribution (ask about source code call details)

Clazz.getdeclaredmethod (name); clazz.getDeclaredMethod(name); Method =clazz.getMethod(name); clazz.getMethod(name); // Call methods that have access to the class (including methods inherited from the parent class)

4. How to listen to the Activity life cycle, most of the time when you think of it, you can write a BaseActivity, actually register 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) {}
 });
Copy the code

5.RxJava, RxAndroid whether to use, use if probably will ask principle 6. Image caching framework, used which, principle (this level must be used thoroughly)

  • ImageLoader(forget about it)
  • Picasso
  • Glide
  • Fresco

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

Here he wants to hear OkGo(a framework wrapped around OkHttp)

8. There is a business with more than 20 nested if else. How to solve this problem from the point of view of design pattern?

He took the strategic mode + factory mode

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

4. To summarize

1. This was a very instructive interview, and the content of the interview really fits the requirements of senior Android engineers nowadays. 2. The content of the question pays more attention to details, which is almost unknown without in-depth understanding. 3. Interviewing is a learning process. Find a few companies to practice with and then figure out what to do with them.

conclusion

  • Now with the short video, Douyin, Kuaishou popular NDK module development is becoming more and more important, more and more enterprises need this talent, and then more and more people learn this, audio and video development is often more difficult, and the more difficult technology is the technology in NDK.
  • Audio and video/high definition large picture/artificial intelligence/live broadcast/Douyin and other technologies that are closely related to users and most relevant to our life this year have been looking for the final technology landing platform. It used to be Windows system, but now it is mobile system, and the mobile system is based on the premise that Android accounts for the majority. So AndroidNDK technology has become a necessary skill for us.
  • To learn NDK well, which about C/C++, JNI, Linux foundation is needed to learn, in addition, audio and video codec technology, streaming media protocol, FFMPEG these are audio and video development essential skills, and
  • OpenCV/OpenGl/ these are necessary knowledge of image processing, the following I was their own collection of information and do some graphs, because I felt that the video will be a big trend. So I did some preparation in advance. Now I want to share it with you.

If you need it, you can share it with me for free or click the link below to get it yourself

Android learning PDF+ architecture video + interview document + source notes