Tencent T2 teaches you step by step! Summary of 2021Android advanced interview questions, Dachang internal information

This article has been very popular recently, and I also have some of my own opinions: now I go to many companies for interviews. In addition to the basic ability to write a high-performance app, you will generally add some existing relatively 666 to your app. Technologies, which we call open source frameworks.
For example, we used to be a carpenter to make a table, we need to cut the wood into planks, and then put the planks into a table top, and then use the same way to make the legs of the table; now, we only need to buy the finished table board and make it Table legs, and then we can use them to stitch together to make a table by ourselves.
So, now open code no longer requires you to saw wood, you only need to hold an SDK to achieve a function, then this is our open source technology.

Then, these technologies generally include hot upgrade, hot repair, AppInstant, mandatory update, component routing architecture Arouter, RxJava, IOC architecture method, hook technology, image loading (Glide), network access (Retrofit, okHttp), etc. Of course, You can't just use these technologies. You need to know their principles. Sometimes, you also need to know how to improve these architectures.

In addition, a very important point is that Android developers are unwilling to accept new knowledge, so they have no feeling about the new technical solutions launched by Google. These are all poisoned by controlC and controlV. Open source makes developers lose themselves and lose The basic coding ability has lost the confidence and perseverance of in-depth learning. Therefore, for many new technology and good components introduced by Google (Google I/O conference new technology), a good framework has been reluctant to learn by many people. This should not be ours. Need to study hard.

1. Framework source code + usage

  • okhttp source code
    • Synchronous and asynchronous processing
    • Chain of responsibility
    • Cache
    • connection pool
  • retrofit
    • Dynamic proxy
    • Source summary
  • Use of Rxjava
    • mp connection
    • Function stabilization
    • Callback unity
    • Thread switching
    • Source code analysis
  • Understand the principle (source code)
    • gson
    • glide

2. Four major components

  • activity
    • Life cycle
    • Start mode (application scenarios of start mode)
    • Life cycle under scene switching
  • service
    • Two states
    • Three bindings
    • Life cycle
    • way of communication
  • Broadcast
    • main effect
    • Principles of Broadcasting
    • use
    • Two ways to register
    • Broadcast execution order
  • ContentProvider
    • principle
    • use

3.View related

  • View event distribution
    • Process
    • Different events
    • ACTION -CANCEL mechanism
  • Sliding conflict resolution
  • How the view works
  • Custom view
  • recyclerview
    • Cache
    • Compared with listview
  • listview
    • optimization
    • How to implement caching
  • The role of several tags in view
  • view animation

4. Android basic library

  • mvp.mvc.mvvm
  • Fragment
    • Life cycle
    • fragment communication
    • fragment
  • Handler
    • Four roles
    • work process
    • The difference between sendmessage and post
    • Source code
    • Implementation of delayed request
  • Data storage in Android
    • Sharedpreferences
    • File storage

5. Android news

  • jetpack
  • Componentization
  • Plug-in
  • Hot fix
  • flutter
  • RN
  • Android5.0 to 10.0 update content

6. Android other issues

  • Androidoom scene
  • Android performance optimization
  • Android performance optimization tool
  • apk internal energy
  • Android packaging process
  • ANR principle and reason

2. Android framework layer

  • jni
  • Boot process
  • Click the display applied to the screen
  • Event distribution ims
  • Start of the four major components
  • View rendering
  • Smart pointer
  • Binder mechanism
    • Reasons for the Binder mechanism
    • Binder kernel
    • BinderManagerService
    • Register service and get service
  • Audio system
  • surface system

New beginning

There are no shortcuts to change your life. You need to take this path yourself. Only deep thinking, continuous reflection and summary, maintaining the enthusiasm for learning, and building your own complete knowledge system step by step are the ultimate ways to win. It is also the mission that programmers should undertake.

If there is a need for advanced Android senior engineer system learning materials, I can share it with everyone for free, friends who need the full version, [ click here to see all the content ].

"Series of Learning Videos"

"Series of Learning Documents"

"My Interview Trip to a Big Factory"

-1611045323144)]

"Series of Learning Documents"

[External link pictures are being transferred...(img-79FDrg2Q-1611045323150)]

"My Interview Trip to a Big Factory"

[External link image is being transferred...(img-iHenypPC-1611045323154)]

Guess you like

Origin blog.csdn.net/dajie1213/article/details/112846383