Android platform software development! Android Senior Engineer Interview Questions-Bytedance, I will first collect it as a respect

Why do career planning?

Let's talk about the first topic first, why do we need a career plan?

First of all, we need to know what career planning is, that is, how to continue the process of choosing a job that suits our development.

Career planning is actually a continuous, systematic, and planning process for career and even life. Career planning is also called "career planning". The quality of career planning sometimes affects our lives.

one side

1. Please program to realize the singleton mode, lazy and full of Chinese writing.
2. Please program to realize the producer-consumer model of Java.
3. What is the internal structure of HashMap? Internal principle?
4. Please briefly describe the Android event delivery mechanism. When will the ACTION_CANCEL event be triggered?
5. The inter-process communication of Android and the inter-process communication of the Linx operating system.
6, JVM virtual machine memory structure, and their role.
This problem is also relatively basic. The memory structure of the JVM is shown in the figure below.
7. Briefly describe the Android View drawing process and how the Android wrap_content is calculated.
8. There is an integer array containing positive and negative numbers, and then all negative numbers in the array are required to be moved to the left of the positive number, and the relative position is kept unchanged. The time complexity is O(n) and the space complexity is O (1). For example, {10, -2, 5, 8, -4, 2, -3, 7, 12, -88, -23, 35} changes to {-2, -4, -3, -88, -23 ,5, 8 ,10, 2, 7, 12, 35}.

Two sides

1. The data structure of the bundle, how to store it, since there is Intent.putExtra, why use the bundle.
2. Android's IPC communication method, have you used it
3. How does Android's multi-touch transfer core classes
4, the principle of asynctask AsyncTask is a combination package of Thread and Handler.
5. What are the android picture loading frameworks, and the differences under comparison
6. Some basic knowledge of picture frameworks
7. Other knowledge of modular development, hot update, componentization and so on of Android.

Three-sided, mainstream framework

  1. EventBus
    (1) EventBus is obtained through annotation + reflection
    (2) ConcurrentHashMap is used to save the mapping relationship. The construction of the calling entity: the calling entity for Object, that is, the object that actually executes the method should not use strong references but Weak references should be used, because the static life cycle of the Map may be longer than the called object. If you use strong references, memory leaks will occur.
    (3) The execution of the method uses the Dispatcher to dispatch the method, the asynchronous uses the thread pool to process, the synchronization is directly executed, and the UI thread uses the MainLooper to create a Handler, which is delivered to the main thread for execution.

2.
Dynamic agent in
Retrofit Java The role of dynamic agent Retrofit in
Retrofit

3.OkHttp
request task queue
reuse connection pool

At last

For many junior and intermediate Android engineers, if they want to improve their skills, they often grow up by themselves. And the unsystematic learning effect is inefficient, long and helpless. Over time, it is normal for people to be discouraged without seeing the desired effect with huge time cost and effort.

Therefore, you must find the best way for you to learn, and have a way of thinking. Otherwise, you will not only waste time, but also delay your future development together.

If you are stuck at the bottleneck of lack of learning resources, then just in time I can help you. The above knowledge notes are all free to share. If you need to get the knowledge notes, you can click on my GitHub to get them for free.

Guess you like

Origin blog.csdn.net/Sunbuyi/article/details/114025338