Latest Android interview questions and Android interview questions
Recently, I want to change my job for some reasons. I want to sort out some questions that I think are worth recording during the interview and give them a reference.
Below, we will only record the questions or general answers. If you have more detailed answers or better interview questions, I hope you can add them to your comments for reference. Thank you.
Java:
1. What implementation methods does the thread have?
Thread and Runable are relatively simple. The main test points are about the Thread pool, because I have not used much of the Thread pool.
2. sychronised keyword
The focus of this study is to understand that sychronized targets objects rather than statements or methods.
3. hashcode and equals Methods
Evaluate the knowledge of the relationship between equals and hashcode.
4. hashmap and treemap
Test the use of hashmap, basic knowledge of hash, simple implementation principle of hashmap (array and linked list), treemap is a sorted Binary Tree
5. Java lock Mechanism
ReentrantLock understanding, because I don't know much about it, I don't have to ask questions, such as its simple principle, and the advantages and disadvantages of sychronized.
6. Design Mode
Describe several design patterns you have used and their application scenarios
7. Describe GC and its simple working principle in detail
Measure the test taker's knowledge about the GC recovery time and GC determination mechanism.
8. final, finally, finalize
I 've been talking about it all the time. pay more attention to the fact that finalize is not very common at the end.
Android:
1. What types of Android animation are available?
Property animation, view animation, drawable animation. For more information, see property animation.
2. Activity Visible Lifetime and Foreground Lifetime
Test that visible refers to onStart-> onStop, and foreground refers to onResume-> onPause
3. In the AndroidManifest. xml file, minSdkVersion, maxSdkVersion, and targetSdkVersion
Min and max indicate that the sdk version must be within this range, while target indicates that Android decides whether to run in compatible mode.
4. Fragment
Evaluate the knowledge of fragment and Its Relationship with activity
5. Weak reference pointer and strong reference pointer of Android
Basic Concepts
6. Android Touch Process
Mainly investigate dispatchTouchEvent, onTouchEvent, onInterceptTouchEvent
7. IntentService and AIDL
Differences between intentservice and common service: inter-process communication
8. layout
Linearlayout layout_weight: The difference between aligntop and alignparenttop in framelayout
9. View rendering process
OnMeasure (especially setMeasuredDimension), onLayout, and onDraw Methods
10. The Adapter in ListView or ViewPage
11. logoff, Handler, and Message
Recently, I am looking for android development. I have summarized some questions that I still don't know. I hope you can answer them one by one.
1. Write a service and the application uses createservice
2. The runtime is generally based on uid, and the file system has the same permissions as linux.
3. You can know the class name or how to write the specific manifest.
4 loose is a thread that processes the message in message queue cyclically, while handler is a class for the methods related to message sending.
5. pipe is not clear about the binder Mechanism. The socket uses sockets to send content for ipc. The binder uses shared memory and servicemanager as the service manager.
6 surfaceflinger manages windows,
7. bionic is a simplified version of glic.
Android interview questions
1. Preface
In June 26, Google Android released NDK, which aroused the interest of many developers. NDK full
It is called Native Development Kit. Is:
.Android.com /....
2. misunderstanding
In addition to surprises, new things will also bring us some confusion and misunderstanding.
2.1 misunderstanding 1: Android does not support C development before NDK is released
Search for "NDK" in Google, and many "Android can finally be developed using C ++" and so on.
This is a misunderstanding of the Android platform programming method. In fact, since its birth, the Android platform has
Supports C and C ++ development. As we all know, Android sdks are implemented based on Java, which means
Third-party applications developed by the SDK must use the Java language. However, this is not equivalent to "third-party applications can only
Use Java ". At the first release of the Android SDK, Google claimed that its virtual machine Dalvik supported JNI programming.
Method, that is, third-party applications can call their own C dynamic library through JNI, that is, on the Android platform,
The "Java + C" programming method can always be implemented.
Of course, the root cause of this misunderstanding is that no JNI can be found in the Android SDK documentation.
Help. Even if third-party application developers use JNI to complete their own C dynamic link library (so) development
How to package and release the SDK together with the application? There are also technical barriers. I used to spend a lot of time,
Install the cross-compiler to create the so and use the asset (Resource) method to bind the so release. But this method only
It can be a clever way, not an official... the rest of the full text>