current position:Home>Don't take detours in Android learning

Don't take detours in Android learning

2022-05-15 05:13:23InfoQ

In a trance, people think of 2010 year , An Zhuo Chuxing , Everything is still the world of desktop application development , At that time, the language was still concentrated JAVA、HTML、MFC、.NET、C#, Various languages compete for the first place in desktop application development , It's also a life and death struggle . At that time, Android system was still in the ascendant , No one knows , It will lead another era .

A few years passed , Desktop development is basically dead , Now it's... Turn Android Developed ?

Android basic knowledge Android basic knowledge is indeed a lot , If the daily accumulation is not enough, it is really dizzy , For example, I admit that I only  APP  I had a front desk during the upgrade  Service, But I'll ask you during the interview  Service  Life cycle , How to bind , How to communicate across processes , How to close Service  wait , You can't say " I haven't used it. I won't ". So we have to review , So we can handle the interview , Second, we can also improve our ability through the accumulation of basic knowledge .

Knowledge point

1.Activity  Task stack and  4  A startup pattern relevance problem

2.IPC  It's very important , To reach the intermediate and advanced level, you must understand , There are several ways to cross process. You must understand

3.Binder  It must be asked , Of course,  AIDL

4. Customize  View  Of  draw measure layout  The process , Distribution of events , Intercept , Handle , The idea of dealing with sliding conflict ,view slide  
《Android Summary of learning notes + Latest mobile architecture video + Big Android interview questions + Project actual combat source code handout 》 Free open source Hui Xin search official account 【 Advanced programming 】
  Several ways of moving

5. Several ways to realize animation

6.Window  stay  Android  The role of Li . It and  Activity  and  View  The relationship between

7. The working process of the four components , This is really difficult , Study according to your ability , Don't sink too deep   however , The use of the four components must be ,Service  Start and bind , How to use broadcast , Write a simple  ContentProvider  These are all necessary

8.Looper,Handler,MessageQueue  The relationship between

9. Why the main thread is the main thread , How to start a thread , Thread pool and four thread pools commonly used by Android   Their characteristics and usage scenarios

10.AsyncTask  principle , Concurrency issues , Disadvantages, etc

11. How to face big  bitmap, How to design a  ImageLoader

12. In fact, it can be extended to , How to design a  okhttp, How to design a  retrofit,eventBus  wait

13. In fact, it is to examine the understanding and proficiency of open source framework

14. How to avoid and deal with  Crash  and  ANR

15. Optimization , Over drawing ,OOM, Memory leak , Layout optimization

Interview questions of Dachang

1. There is a common problem : What open source frameworks do you know ?

2.okhttp  perhaps  retrofit  Understand the underlying principles , Even if you can't read the source code well , Also look at how others analyze

3. Nowadays, hot updates and plug-ins are very popular , Must be able to say several , And briefly explain the principle

4.MVC MVP MVVM  Advantages and disadvantages , One thing is to say your own personal experience

5.Fragment, Life cycle and usage

6.Rxjava  Try to see

7. Annotation mechanism , Now there are so many frameworks that use annotations

8.Acitvity What is the life cycle of ?

9.Acitvity Life cycle of , How to destroy a Activity? ( Meituan )

10.Intent Show jump and implicit jump , How to use ?( Meituan )

11.Activity A Jump B,B Jump C,A You can't jump directly to C,A How to deliver a message to C?( Meituan )

12Activity How to save state ?

13. Please describe Activity Startup process , Start by clicking on the icon .(B standing )

14. Under what circumstances will you use Service?

15.startServer and bindServier The difference between ?( Meituan )

16.Service and Thread The difference between ?

17.IntentService And Service The difference between ?

18.ContentProvider How to customize and what are the scenarios ?

19.BroadcastReciver The difference between static registration and dynamic registration ?

20. The classification and working principle of broadcasting

Java  I refer to the basic knowledge 《Thinking in Java》 This book and online blog , I didn't buy anything else .

online  Java  There's a lot of information , But there are a lot of bad writing , There are even some wrong , Be careful when you read .

Java Main knowledge points :

1. Modifier

2. class   Interface   abstract class   Anonymous inner class   Callback mechanism

3. Several basic types , length , The border

4. from  Iterator  To  Collection, Until then  Set List Map( Must ask )

5. Understand learning from the following perspectives : usage , Concrete implementation class , Thread safety , The underlying data storage structure , How to choose... In some scenarios ? such as  ArrayList  and  LinkedList  How to choose   Thread related ( Must ask )

6. Locking mechanism  synchronize  usage

7. Implement a deadlock

8. Sync , Producer consumer model

9.Thread  Several common methods in   For example, ask you  sleep  and  wait  difference

10. Thread safety

11.JVM  Learn some ,GC  Get to know , The difference between heap and stack

12. Static proxy , A dynamic proxy   Reflection

13. Design patterns   The singleton pattern ( Be able to write ).

Interview questions

Factory mode , Abstract factory , When will stack memory overflow occur in large factory interview questions such as observer mode ?

If you write a piece of code that overflows , How big is a stack , Why? ?

Does each thread have this size ? ( Meituan )

JVM Once complete GC How is the process , How to promote the object to the old age ?

introduce GC Recycling mechanism and generation recycling strategy .Java There are several references in , What is the difference between them ?

GC What are the collection algorithms ? What are their characteristics ?

How to judge whether an object is recycled , What are they? GC Algorithm , What is the most commonly used virtual machine in reality GC Algorithm ?( Meituan )

Jvm Memory   Let's talk about the structure .( Oriental headlines )

JVM DVM ART The difference between (360)

describe GC Mechanism .Class Will it be recycled ? You can't use it Class How to recycle ?( Oriental headlines )

StackOverFlow And OOM The difference between ? When did it happen .

JVM What is stored in the stack , What the heap stores ?( Meituan )

Java Virtual machine and Dalvik The difference between virtual machines ? Please describe new The flow of an object .

Java Objects will be allocated to the stack ?

String, Stringbuffer, StringBuilder  What's the difference ?( Oriental headlines )

String StringBuffer StringBuilder Efficiency in string operations ;

Here we mainly investigate String How to create in memory .( Bytes to beat )

String Why is it immutable ?( Bytes to beat )

String Why is it designed to be final Of ?final 、finally、finalize  difference . The difference between abstract classes and interfaces . The difference between overloading and rewriting  ( JD.COM )

What are value passing and reference passing ,Java  Value passing or reference passing ?

Main knowledge points of algorithm and data structure :

1. Array , Linked list , queue , Stack , chart

2. I won't ask you directly , Will make you useful , such as Activity Task stack

3. Algorithm

4. Several basic sorting complexity and ideas

5. Several search complexity and ideas

6. String processing

Interview questions of Dachang

1. How to 1 To 100 Missing number found in integer array of ?

2. How does Tencent find duplicate numbers in a given integer array ?

3. How does Xiaomi find the maximum and minimum values in an unordered integer array ?

4. Byte jumps at Java How to remove multiple copies from a given array ? ( Baidu )

5. What are the common data structures ?

6.B Compare the efficiency of inserting, deleting and searching an array with that of a linked list ?

7. If an array needs to be inserted and deleted repeatedly, how to optimize and reduce the time complexity ? ( tencent )

8.arrayList Underlying principle  ( sound of dripping water   Bytes to beat )

9. How to find the median value of a single linked list in a single traversal ? ( China safe )

copyright notice
author[InfoQ],Please bring the original link to reprint, thank you.

Random recommended