Gold, nine, silver and ten: the latest BAT manufacturers Android interview knowledge points in 2020

Preface

Every year in the cold winter, every year can not stop an Android programmer's determination to pursue a big factory. What knowledge points do we need to master if we want to enter a big factory? Here, I sorted out an overall knowledge structure for everyone. The whole includes Java, Android, algorithm, network, etc. I hope you can help you improve and organize your knowledge system after reading it. I wish you all enter your ideal company as soon as possible~~

Note that the entire article is a summary of the knowledge points. Since the space limitation does not include the answer, you need to read the source code more. Knowledge will only be precious if you explore and discover it yourself!

If you need a detailed analysis and a PDF document with answers, you can  click here to receive

Java basic knowledge points

Jvm related

  • Java memory structure and partition
  • Creation, storage and access of Java objects
  • Java determines whether the object is alive and the garbage collection algorithm (GC)
  • Common garbage collector in Jvm
  • Java class loading process
  • Java class loader (parent delegation model)

Collection related

  • ArrayList analysis
  • LinkedList analysis
  • HashMap analysis
  • HashTable analysis
  • LinkedHashMap analysis
  • HashSet analysis
  • LinkedHashSet analysis
  • ArrayMap, SparseArray, and HashMap comparison
  • ConcurrentHashMap analysis

Concurrency related

  • Java memory model
  • volatile principle
  • Principle of Synchronized
  • AQS principle
  • Condition principle
  • ReentrantLock principle
  • Fair lock and unfair lock
  • ReentrantReadWriteLock principle

Thread-related

  • Start and termination of threads
  • Inter-thread communication
  • Wait/notify mechanism

Thread pool related

  • Reasons for using thread pool
  • Internal principle of thread pool
  • Several important parameters and process descriptions in the thread pool
  • Several common work queues in thread pools
  • Several common thread pools and usage scenarios.

IO related

  • IO related interview questions-Socket
  • IO-related interview questions-BIO/NIO

Android basic knowledge points

Activity related

  • Life cycle under typical conditions
  • Life cycle under abnormal conditions
  • Data preservation under abnormal conditions
  • The life cycle of the target Activity and the current Activity when jumping to an Activity in various situations
  • Activity startup mode and application scenarios
  • Process and application life cycle

Service related

  • The definition and function of Service
  • Service two start methods startService, bindService difference and life cycle
  • Three ways to implement Service binding service, extend Binder class, use Messenger, use AIDL
  • Regarding the transition between the startup service and the bound service
  • The difference between Service and Thread
  • The implicit startup problem and its solutions above Android 5.0
  • How to ensure that the service is not killed
  • The use and principle of IntentService

BroadcastReceiver related

  • BroadcastReceiver definition and function, application scenarios
  • BroadcastReceiver registration method, static method, dynamic method
  • The timing of BroadcastReceiver registration and cancellation
  • Different types of BroadcastReceiver, ordinary broadcasting, system broadcasting, ordered broadcasting, sticky broadcasting, application broadcasting

Fragment related

  • Fragment life cycle
  • Fragment lazy loading
  • Communication between Fragment
  • The difference between FragmentPagerAdapter and FragmentStatePagerAdapter
  • Why is it not recommended to pass in data directly by using new Fragment

Serialization related

  • The definition and difference of serialization and deserialization
  • The role of serialVersionUID and transient keywords in Serializable
  • Serialization: the difference between Parcelable and Serializable

IPC related

  • Under what circumstances will multi-process mode be used in Android and how to enable multi-process
  • Why does Android use Binder as the IPC mechanism
  • IPC common methods use Bundle, use file sharing, use Messenger, use AIDL, use ContentProvider, use Socket
  • The semantics of AIDL
  • How AIDL was created
  • Detailed analysis of AIDL generated Java files

View event mechanism related

  • View's coordinate system
  • Several ways of View sliding, use ScrollTo/ScrollBy, use animation, change layout parameters
  • Principle and realization of elastic sliding
  • View event distribution mechanism, click event delivery rules, source code interpretation of event distribution
  • Scenarios and solutions for handling sliding conflicts

View drawing related

  • DecorView, Window, ViewRootImpl and other concepts
  • MeasureSpec concept
  • View workflow, measure process, layout process, draw process
  • Things to pay attention to when customizing View
  • The relationship between Activity, Window and View

View animation related

  • Common animation View animation (tween animation), attribute animation and frame animation
  • The difference between tween animation and attribute animation
  • Differentiator and estimator understanding
  • How property animation works

Handler related

  • ThreadLocal of Handler mechanism
  • How to understand Looper, Handler and message queue of Handler mechanism
  • Sending and taking out Message of Handler mechanism
  • Message and Message recycling mechanism of Handler mechanism
  • Exit of the circular message queue of the Handler mechanism
  • Memory leak of Handler mechanism
  • Understanding and use of IdleHandle of Handler mechanism

AsyncTask related

  • The use and precautions of AsyncTask
  • Several important methods of AsyncTask doInBackgound, onProgressUpdate, onPostExecute, etc.
  • The working principle and source code understanding of AsyncTask

Bitmap compression and recycling related

  • Memory occupied by Bitmap
  • Common ways to compress pictures
  • LruCache principle
  • DiskLruCache principle
  • LinkedHashMap principle

ListView is related to RecyclerView

  • The principle and reuse mechanism of ListView
  • The difference between ListView and RecyclerView

Data storage related

  • Commonly used database framework GreenDao, official Room
  • Database data migration issues
  • One-to-one, one-to-many, and many-to-many relationships in GreenDao
  • SharedPreferences use and source code, the difference between commit and apply() methods

Android open source framework knowledge points

OkHttp related

  • Advantages of OkHttp
  • OkHttp executes the entire process of the request
  • Interceptor in OkHttp
  • Understanding and source code of synchronous and asynchronous requests in OkHttp
  • Design patterns involved in OkHttp
  • OkHttp underlying network request implementation, socket or URLConnection

Retrofit related

  • Retrofit executes the entire process of the request
  • Understanding of ConverterFactory and CallAdapterFactory in Retrofit
  • Adapter mode of CallAdapter in Retrofit

RxJava related

  • RxJava commonly used creation operators create, from, just, interval, range, etc.
  • RxJava commonly used combinations, merge operators combineLatest, join, merge, zip, etc.
  • RxJava error handling operators onErrorReturn, onErrorResumeNext, onExceptionResumeNext, etc.
  • RxJava filter operators filter, ofType, sample, take, etc.
  • Rxjava back pressure related understanding
  • The use of RxJava in actual development: network request polling, network request nested callbacks, access to cached data from disk/memory cache, etc.

Glide related

  • Glide's execution process
  • Glide's caching mechanism
  • Glide image conversion
  • Glide's picture loading function with progress
  • Glide memory, disk cache, priority use

ButterKnife related

  • Java annotation related Annotation
  • APT tools related to Java annotations
  • Principles of ButterKnife Annotation Framework

EventBus related

  • EventBus principle, and the use of index classes

Android performance optimization

  • Performance optimization: layout optimization, rendering optimization, thread optimization, etc.
  • ANR exception: The main thread performed time-consuming operations, such as BroadcastReceiver (10s in the foreground, 60s in the background), Service (20s in the foreground, 200s in the background) did not complete related tasks, etc.
  • OOM exception: the cause of memory overflow
  • Memory leaks: several scenarios of memory leaks, such as leaks caused by singleton mode, leaks caused by static variables, memory leaks caused by attribute animation, etc.

Android screen adaptation knowledge points

  • Toutiao adaptation method
  • Width and height qualifier adaptation method
  • smallestWidth adaptation

Android packaging knowledge points

  • Understanding of Android signatures
  • Gradle multi-channel packaging

Android architecture knowledge points

  • MVC architecture design pattern interview questions explained
  • Explanation of MVP Architecture Design Pattern Interview Questions
  • MVVM architecture design pattern interview questions explained

Knowledge points of different versions of Android

  1. Features under different versions of Android
  2. Broadcast adaptation under 7.0, 8.0, 9.0
  3. Adaptation under Android 6.0 permissions
  4. Android 7.0 application sharing file (FileProvider)
  5. How to use Android 7.0 shared files

Network knowledge points

  • Three computer network architectures, OSI architecture (7 layers), TCP/IP architecture (4 layers), five layers
  • TCP connection management (three message handshake, four message handshake)
  • Understanding and difference between TCP and UDP
  • Http (HyberText Transfer Protocol) basic concept and message structure
  • Http common error codes
  • The difference between Http1.0 and Http1.1 and Http2.0
  • The difference between get request and post request in Http
  • The difference between cookie and session in Http
  • The difference between Http and Https
  • Https encryption algorithm related interview questions, signature certificate, public key private key, understanding of digital digest

Knowledge points of design patterns

  • Singleton mode
  • Builder mode
  • Decorative pattern
  • Strategy mode
  • Template method
  • Observer mode
  • Wait…

Algorithm knowledge points

  • Eight common sorting methods
  • Time complexity calculation
  • Linked list related algorithms, linked list flipping, linked list merging, etc.
  • Preorder, middle order, and postorder traversal of binary tree related algorithms (recursion, iteration)
  • Red-black tree and BL tree
  • Wait

If you need a detailed analysis and a PDF document with answers, you can  click here to receive

In addition to the above, there are dry goods!

Here I also share an Android learning PDF + architecture video + source notes , advanced architecture technology advanced brain map, advanced advanced architecture information collected and organized by several big guys .

These are fine materials that I will read again and again in my spare time. Can effectively help everyone master knowledge and understand principles. Of course, you can also use it to check for omissions and improve your competitiveness.

If you need it, you can  get it here

If you like this article, you might as well give me a super like, leave a message in the comment area or forward and support it~

Guess you like

Origin blog.csdn.net/River_ly/article/details/107384304