Android development foundation is not strong? 2021 Android network programming summary article, take a look at this article!

Preface

As a programmer, performance optimization is unavoidable, and performance optimization is also one of the most challenging tasks in a software system, and it is a core skill that every engineer needs to master .

Performance problems are different from bugs. The latter's analysis and solution ideas are clearer. In many cases, the root cause of the problem can be found directly from the application log, while the troubleshooting ideas for performance problems are more complicated.

Optimizing the performance of the App is a systematic project, which requires engineers' technical breadth and technical depth.  A simple application not only contains the application code itself, but is also closely related to virtual machines, storage, and networks. Once an online application has performance problems, we need to consider it from many aspects.

But in actual work, in many cases, only symptoms can be seen, but I don't know where to troubleshoot and resolve them.

At the same time, in addition to the performance problems caused by some low-level code logic, many performance problems are hidden deeply. Even if they can be checked, it will be more difficult to check. We need to understand the various sub-modules of the application, the framework and the framework used by the application. Have a good understanding of the principle of components, and master certain performance optimization tools and experience.

java aspect

  • Basic knowledge points The difference between collection classes and applicable scenarios 1 The difference between static internal classes and non-static internal classes in java memory allocation and creation process memory leak problem? How to ensure thread safety? Many times ( must be asked in the interview ) Which types of locking methods (it is best to involve monitor) Optimistic locking and pessimistic locking (applicable scenarios) The concept of applicable scenarios of locks The concept of thread pool constitutes applicable scenarios Why use thread pools (involving thread allocation) The process of resources, and the difference between the process of process allocation of resources)
  • Kernel ( must ask in interview ) GC garbage collection mechanism How does n-time GC find objects to be cleared? What algorithm does GC core cleanup use for the four references and applicable scenarios of java? New generation copy cleaning, old generation mark arranging expansion: How to effectively defragment memory in old generation mark arranging? Java memory structure How is the memory of java distributed? The loading mechanism of java classes The loading mechanism of java objects The generation of constant pool string objects The caching mechanism of Integer

computer network

  • Network hierarchy and corresponding protocols
  • TCP TCP three-way handshake (what happens if no response is received for the first and third time?) TCP waved four times. Congestion control has not been tested?
  • HTTP HTTP message, the difference between HTTP versions, https
  • IP why not use mac as ip address ping implementation principle ttl survival field
  • ARP description process, broadcast unicast

operating system

  • The difference between thread and process (what is the resource allocation)
  • Process communication
  • Memory space allocation
  • Deadlock The conditions of the deadlock (detailed example) Methods to avoid deadlock

Design Patterns

  • Generally speaking, you know which modes you know, and you must explain the applicable scenarios
  • Singleton mode, lazy man, hungry man, thread safety, double lock
  • Observer mode
  • Adapter mode
  • Appearance mode

android aspect (generally asked according to the project)

  • android process communication
  • service
  • handlerThread
  • handler operation mechanism 1 time
  • recyclerView caching mechanism 1 time
  • view redraw

Project aspect

  • Interaction between fragment and activity
  • What is the safety of using webview? And js call each other
  • How to ensure that there is no conflict when reading and writing files in the process of resuming transfer description
  • Asynctask memory leak why the leak solution what is the debugging tool
  • MFCC process recording session (Quick hands asked a lot of details and asked to write pseudo code)
  • MVP
  • The difference between recyclerView and listview caching mechanism too many items will memory leak

Information sharing

  • The latest interview topics

This question bank has a lot of content, except for some popular technical interview questions, such as Kotlin, database, Java virtual machine interview questions, array, Framework, hybrid cross-platform development, etc.

  • Android senior engineer advanced system learning video corresponding to the map.
    Recently, a series of system learning videos such as NDK, hot fix, MVVM, source code and so on are available!

, NDK, hot fix, MVVM, source code and a series of system learning videos!

[External link image is being transferred...(img-1fBvy0iE-1611298026141)]

Download method: like + follow and then click [ Advanced Android Senior Engineer ] to receive it!

Guess you like

Origin blog.csdn.net/fanzhang_vip0723/article/details/112984904