- View’s draw and touch event mechanism.
The impact on the drawing process after calling the invalidate or reqeustLayout method.
- Java memory model and virtual machine memory model.
- The principle of volatile keyword for multithreading.
- How much do you know about TCP?
- How HTTPS is encrypted.
- The data structure of HashMap, and the flow of PUT and GET.
- How Android shows control layout through XML files.
- Dex subcontracting principle, which is put in the main DEX.
- What CAS is and how it works.
- How synchronized guarantees atomicity, visibility, and order.
- The drawing process of Flutter.
This is the big question about Flutter.
- How HashMap uses segmental locking to keep threads safe.
- The main thread Handler passes an object to the main thread via Message’s obj, and the child thread switches to the main thread to make it visible.
- CAS ABA problem, how to solve.
- Click the app to the first Activity to see what happens.
- StartingWindow display timing.
- More on the Binder mechanism.
- The relationship between Skiga and openGL, which points each is responsible for.
- How the Kotlin coroutine hangs and wakes up.
- How much http2 knows.
- What are the means of implementing AOP, and when are the entry points?
- How to determine if an object is recyclable.
- What are the garbage collection algorithms?
- How many threads are generated when your application starts.
Maybe you want to know if the whole thread is scheduled.
- What pitfalls Kotlin encountered during mixed development with Java.
- The relationship and difference between processes and threads.
- What does HandlerThread do for us?
- What animations are available in Android, and what their respective pit points are.
- Difference between HashMap and Hashtable.
The main difference is thread-safe, but other data structures, expansion, null values are also good to mention, and how Hashtable is thread-safe.
- How the Retrofit by RxJava2CallAdapterFactory RxJava chain of the call.
- The connection and difference between LiveData and RxJava.
- Hot start display startup page, how to implement.
- RecyclerView cache mechanism.
- Algorithm part:
- There is an infinite full binary tree whose nodes are numbered layer by layer from left to right by the root, which is numbered 1. Now we have two nodes a and B. Please design an algorithm to find the number of the nearest common ancestor of points A and B.
Given two ints a,b. Is the number of a given node. Return the number of the most recent common ancestor of A and B. Notice that the node itself can also be considered its ancestor.
- Gets the maximum value per level of a binary tree.
- Add large numbers using linked lists.
Such as: 1 – > 2 – > 3 – > 4, and 5 – > 6-7 – > > 8 additive, get a 6 – > 9 – > 2 – > 1.
- Reverse a linked list of two nodes as a group.
For example: 1 -> 2 -> 3 -> 4, get 2 -> 1 -> 4 -> 3.
- How to iterate once to get the KTH last node of a linked list.
- Gets the path of the binary tree from the root node and as target.
- How to determine if a string consisting of ‘{‘, ‘}’, ‘[‘, ‘]’, ‘(‘, ‘)’ is valid.
- Combining two ordered lists yields an ordered list.
- List a binary tree.