This article mainly records and shares my interview preparation process.

Many friends asked me why I left my job

As for the reasons for leaving, Jack Ma has a classic saying “either the money is not in place, or the heart is wronged”, which must be familiar to everyone. Here I will elaborate on my personal reasons for leaving:

The salary is upside down and the salary increase is not satisfactory

In the previous small factory, the salary inversion phenomenon was serious. The salary of the new employees was obviously higher than that of the old employees. The enterprise would rather recruit a new employee with a high salary than increase the salary of our old employees, which made the old employees very cold. Grounding causes old employees to quit. Then there is the sense that there is little point in staying with the same company when you feel that your labor is not getting the corresponding value.

Ten years of technology

In three years at a small software company, I only had one year of technical experience. Technical vision is narrow, ability improvement is slow, there is no room for technical improvement, day after day, year after year, only to do the same thing, to go up is the inevitable choice.

To prepare

The normal interview process in a big factory usually takes one to two months. Even after the salary negotiation, it may take one to two weeks for the offer to be finally approved. This period of time is quite difficult for me, so I didn’t resign naked. I not only need to do the daily work well, but also start to prepare for brushing, basic knowledge, advanced knowledge and the study of emerging hot technologies. The whole phase lasted more than four months.

Actually every move, is to work over the past few years to review and summarize a, although everyone understand induction screw to build aircraft carriers, “interview”, for the company, this is a way of screening, after all, who is the first productivity, so long as has the excellent talents, then create a carrier could “go forward, invincible”. As an individual, if you work with good people in your company, you’re not going to be bad, and we want to work with good people.

Brush the interview questions

I started from the basic knowledge of Android to the Java interview questions. Then I overcame the Android advanced interview questions, and broke through the learning of Flutter related hot technology interview questions (not difficult). Finally, I summarized the real questions of this year’s big plant interview.

Android Basics

A, the Activity

1. What is Activity?

2. Describe the Activity lifecycle

3. Common Activity types include FragmentActivitiy, ListActivity, TabAcitivty, etc. Describe the Activity lifecycle

4, How to save the state of the Activity?

5. What methods must be executed when two activities jump between?

6. The Activity lifecycle when switching between vertical and horizontal screens

7. How do I set an Activity to look like a window

8. How do I exit the Activity? How to safely exit an Application where multiple activities have been invoked?

9. What is the difference between “SingleTop” and “Singletask”? Why not use Singletask instead of SingleTop?

What are the differences between Context, Activity, and Appliction in Android?

11. What else does an intent, broadcast receiver, or Content provider convey data between two activities?

12. What is Context?

Second, the Service

1. Check whether services are executed in main threads and whether time-consuming operations can be performed in services.

2. How to bind an Activity to a Service, and how to start its corresponding Service in an Activity?

3. Describe the Service lifecycle

4. What is IntentService? What are the advantages?

5, Describe the relationship between an Activity and an Intent and a Service

6. Are the Service and Activity on the same thread

Can you play toast in the Service

What is a Service and describe its life cycle. What is the difference between starting a Service and stopping it?

9. Can onstartConmand() perform network operations in the service lifecycle? How do I perform network operations in a Service?

Third, Broadcast Receiver

1. Describe the BroadcastReceiver

How to register and use BroadcastReceiver in manifest and code

3. The lifecycle of BroadCastReceiver

Fourth, the ContentProvider

1. How does ContentProvider implement data sharing

2. Please introduce the data storage mode of Android

3. Why use ContentProvider? How does it differ from the SQL implementation?

ContentProvider (ContentObserver) ContentResolver (ContentObserver

Five, the ListView

1. How can ListView improve its efficiency?

2, How to update the ListView when the data set is changed

3, How to implement the ListView pagination load

Can the ListView display multiple types of items

5, How to locate the ListView to the specified position

How to embed ListView in ScrollView

7. How to optimize images in ListView

8, How does the problem of image mismatch occur in ListView

How to refresh the ListView for a single item instead of the entire ListView?

Six, Intent

What types of data can be transmitted when an Intent delivers data?

2. The difference between Serializable and Parcelable

Describe the Intent and IntentFilter

Seven, fragments

1. How do fragments and activities pass values

2. Describe the Fragment lifecycle

3. The difference between Fragment replace and add methods

4, How does Fragment realize the effect of Activity stack pressing and unloading?

5. Use of Fragment in your project

6. How do I toggle fragement without reinstantiating it

Java interview questions

First, Java foundation

1. What are the reference types in Java

What is overloading, what is overwriting, what is the difference?

3. The difference between String, StringBuffer and StringBuilder

4, How are the keywords final and static used

5. Which layer is the TCP/IP protocol cluster? Which layer do TCP, IP, XMPP, and HTTP belong to?

Design patterns in Java

1. What design patterns do you know

2. Singleton design pattern

3. Factory design mode

4. Builder mode

5. Adapter design pattern

6. Decorator

7. Strategy

8. Observer mode

Android senior

First, Android performance optimization

1. How to perform performance analysis on Android applications

2. When can memory leaks occur

3. How to avoid OOM exceptions

4. How to catch uncaught exceptions in Android

5. What is ANR? How to avoid and resolve ANR (important)

6. What are the ways of Communication between Android threads (important)

7, Devik process, Linux process, thread difference

8. Describe the architecture of Android?

9. What are the memory limitations of Android apps? How should we use memory wisely?

What is the android application structure?

11, please explain the difference between Android application runtime permissions and file system permissions?

How does an Activity generate a view? What is the mechanism?

13, what are the differences between multi-threaded communication and multi-process communication, how to achieve?

Two, Android screen adaptation

1. What are the screen adaptation methods

2. What are the processing skills of screen adaptation

Third, AIDL

1. What is AIDL and how to use it

2. What is the full name of AIDL? How does it work? What types of data can it handle?

Event handling in Android

1. Handler mechanism

2. Event distribution mechanism

The child thread sends a message to the main thread to update the UI. What else is there besides handler and AsyncTask?

Can a child thread create a new handler? Why is that?

Animation in Android

1. What are the categories of animation in Android, and what are their characteristics and differences

2, How to modify the Activity to enter and exit the animation

3. Property animation, such as A button moving from A to B, B can still respond to click events, what is the principle?

ContentObserver ContentObserver role and features

Use of the project framework

First, introduce yourself

What frameworks and platforms have been used in the development

Three, have used what custom control

Four, custom control: draw the realization process of ring

Five, custom control: ferris wheel implementation process

Custom control: drag-and-drop sort GridLayout implementation process

Realization process of streaming layout

Viii. Project process

Common problems in the project

How is instant messaging done?

Six principles of design mode

Xii. Third-party login

Third Party Payment

Fourthly, common framework analysis

Now all say the Internet winter, in fact, as long as their technical ability is strong enough, we are not afraid! I have compiled a set of Android advanced learning video, a full set of Android interview secrets, and a full set of Android knowledge points PDF for Android developers. If there is a need to obtain information documents of friends, you canClick on my GitHubGet it free!