Android app development books! Master these hot frontier knowledge of Android development, interview experience

Preface

Hi~, I am a graduate of the class of 2020, majoring in Internet of Things, and I am studying in Hangzhou. I would like to use this article to record my autumn move and my learning journey since the beginning of the front-end. If there are mistakes, I hope everyone can promptly raise them!

Interview situation

A total of 14 companies’ front-end posts were interviewed, divided by city into:

  • Beijing: Xiaomi, JD, Meituan, Baidu, where to go
  • Hangzhou: Ali, Netease, WeChat Store, ByteDance
  • Shanghai: Qiniuyun, hello travel
  • Shenzhen: Tencent, Futu, Lexin

Which lasted four months, eventually harvested millet, Jingdong, micro shop, beating bytes of offer

Alibaba

  • LRUCache principle
  • Image loading principle
  • Modular implementation (benefits, reasons)
  • JVM
  • Video encryption transmission
  • Statistics start time, standard
  • How to maintain the stability of the application
  • ThreadLocal principle
  • Talk about classloader
  • Dynamic layout
  • Hot repair, plug-in
  • HashMap source code, SpareArray principle
  • Performance optimization, how to ensure that the application startup does not freeze
  • How to remove duplicate code
  • Is the SP process synchronized? Is there any way to achieve synchronization
  • Introduce SurfView
  • HashMap realization principle, ConcurrentHashMap realization principle
  • BroadcastReceiver, LocalBroadcastReceiver classification
  • Bundle mechanism
  • Handler mechanism
  • android event delivery mechanism
  • List of operations between threads
  • App startup process, starting from clicking on the desktop
  • Dynamic loading
  • Class loader
  • OSGI
  • Https request slow solution, DNS, carry data, directly access IP
  • GC recovery strategy
  • Draw the general architecture diagram of Android
  • Describe what happens when you click the build button of Android Studio, and roughly explain what happens when an application is installed on the phone;
  • Have a basic understanding of Dalvik and ART virtual machine;
  • How does Inter-Process-Communication on Android work when communicating across processes;
  • How is the app sandboxed and why should it be done;
  • Authority management system (how the underlying authority is granted)
  • The life cycle of the process and Application;
  • System startup process Zygote process -> SystemServer process -> various system services -> application process
  • The difference between recycleview listview, performance
  • Sort, the realization of quick sort
  • Tree: Introduction to B-tree
  • Figure: Explanation of directed acyclic graph
  • The difference between TCP/UDP
  • The difference between synchronized and Lock
  • volatile
  • Java thread pool
  • The life cycle of objects in Java
  • Class loading mechanism
  • Parental Delegation Model
  • Android event distribution mechanism
  • MVP mode
  • RxJava
  • The difference between abstract class and interface
  • How to Prevent Collision by Implementing Hash in Set Set
  • Which memory is affected by threads in the JVM memory area?
  • Garbage collection mechanism object creation, new generation and old generation
  • Binary tree depth traversal and breadth traversal
  • B tree, B tree
  • Message mechanism
  • Process scheduling
  • Process and thread
  • Deadlock
  • Process status
  • JVM memory model
  • What do concurrent collections know about
  • ConCurrentHashMap implementation
  • Introduction to CAS
  • Three ways to start threads, the difference between run() and start() methods
  • Thread Pool
  • Introduction to common data structures
  • Judgment ring (guess it should be a linked list ring)
  • Sorting, heap sort implementation
  • Linked list reversal
  • Dynamic permission adaptation scheme, the concept of permission groups
  • Network request cache processing, how okhttp handles network cache
  • Related to the image loading library, how does bitmap handle large images, such as a 30M large image, and how to pre--prevent OOM
  • Process keep alive
  • The principle and solution of listview picture loading disorder
  • https related, how to verify the legitimacy of the certificate, where is symmetric encryption used in https, where is asymmetric encryption, whether you have any understanding of encryption algorithms (such as RSA), etc.

Meituan

  • Multi-threaded access and function of static synchronized methods, two synchronized methods in the same class, two threads access at the same time
  • Inner classes, static inner classes and anonymous inner classes, and applications in the project
  • The handler sends a message to the child thread, how to start the looper
  • View event delivery
  • activity stack
  • How to know the size of the view when encapsulating the view
  • The difference between arraylist and linkedlist, and application scenarios
  • How to start the service, how to exchange data between service and activity
  • Does the drop-down status bar affect the life cycle of the activity? If you make a * network request during onStop, how to resume during onResume
  • view rendering

Today's headlines

  • The concept of heap in the data structure, heap sort
  • The concept of deadlock, how to avoid deadlock
  • ReentrantLock 、synchronized和volatile(n面)
  • HashMap
  • singleTask startup mode
  • Some open source frameworks used, introduce an internal implementation process that has seen the source code.
  • Message mechanism implementation
  • Internal implementation of ReentrantLock
  • App startup crash exception capture
  • Introduction to event delivery mechanism
  • Optimization of ListView
  • Binary tree, given the root node and target node, find the path from the root node to the target node
  • Pattern MVP, MVC introduction
  • Realization of Resumable Transmission
  • Collection of interfaces and specific implementation classes, introduction
  • Concrete implementation of TreeMap
  • synchronized与ReentrantLock
  • Handwritten producer/consumer model
  • Logical address and physical address, why use logical address
  • An unordered, non-repeating array, outputs N elements, so that the sum of N elements is M, and * gives time complexity and space complexity. Handwriting algorithm
  • .Android process classification
  • The foreground switches to the background, and then back to the foreground, the Activity life cycle callback method. Pop up Dialog, life value cycle callback method.
  • Activity start mode

IQIYI

  • RxJava's function and principle realization

  • The use of RecycleView, principle, RecycleView optimization

  • Reasons for ANR

  • Four major components

  • How to open the service

  • How Activity communicates with Service

  • Communication method between activities

  • The implementation of HashMap, the difference with HashSet

  • JVM memory model, memory area

  • Keyword used synchronously in Java, deadlock

  • MVP mode

  • Java design pattern, observer pattern

  • Life cycle comparison between Activity and Fragment

  • Broadcast usage scenarios

    Baidu

  • The difference between https and http

  • What is the difference between a TCP connection under https and a general TCP connection

  • handler mechanism

  • The difference between service and thread

  • What is the difference between startservice and bindservice in the service when they are stopped

  • Ways to implement a queue

  • What are the advantages of view

  • View drawing process.

  • View distribution mechanism

  • Binder source code

  • The difference between git merge and git rebase

  • B B-number tree to understand

  • What are the Android animations. The difference between attribute animation and tween animation

  • OKhttp source code to talk about

  • https encryption process, how to verify the CA certificate

  • http format, commonly used status codes

  • Symmetric encryption algorithm, asymmetric encryption algorithm

  • Shred the code, merge two ascending arrays, talk about the time complexity

    Tencent

  • GC mechanism;

  • Do you understand RxJava;

  • How to troubleshoot memory leaks;

  • The app page suddenly gets stuck, how to troubleshoot?

  • How to troubleshoot ANR? What is the definition?

  • Which open source libraries have been used;

  • What do you know about OKHttp? How about this frame design?

  • What do you know about Databinding?

  • Does EventBus understand?

  • What do you know about Android's annotations?

  • How to choose RelativeLayout and LinearLayout? why?

  • What are the main processes for custom Layout?

  • The sliding process freezes and the refresh rate is too low. How to troubleshoot?

    These are the Android interview questions I encountered during interviews with major companies . I hope to help you. Finally, I would like to ask everyone: "In a real interview, especially in a large company, there is no established questioning method. Only the strength can win. ".

New beginning

There is no shortcut 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"

2%E4%BD%95%E9%9D%A2%E8%AF%95%E6%8B%BF%E9%AB%98%E8%96%AA%EF%BC%81.md)】。**

"Series of Learning Videos"
[External link pictures are being transferred...(img-TvQpDEWP-1614152452306)]

"Series of Learning Documents"

[External link image is being transferred...(img-kLbyrIgn-1614152452310)]

"My Interview Trip to a Big Factory"

[External link pictures are being transferred...(img-8FcJA7N7-1614152452312)]

Guess you like

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