2021 how do I go on the Android road as an Android programmer

mb6128e77bb3cd5 2021-10-14 07:34:22

Android Basics

There is really a lot of basic Android knowledge , 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 .

Main knowledge points

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 There are several ways to slide
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
11.AsyncTask principle , Concurrency issues , Disadvantages, etc
12. How to face big bitmap, How to design a ImageLoader
13. In fact, it can be extended to , How to design a okhttp, How to design a retrofit,eventBus wait
14. In fact, it is to examine the understanding and proficiency of open source framework
15. How to avoid and deal with Crash and ANR
16. Optimization , Over drawing ,OOM, Memory leak , Layout optimization ,MAT, Lint

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 Basic knowledge of

I refer to 《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 .

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 ), Factory mode , Abstract factory , Observer mode, etc

Interview questions of Dachang

  1. When will stack memory overflow occur ?

  2. If you write a piece of code that overflows , How big is a stack , Why? ? Does each thread have this size ? ( Meituan )

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

  4. introduce GC Recycling mechanism and generation recycling strategy .

  5. Java There are several references in , What is the difference between them ?

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

  7. 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 )

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

  9. JVM DVM ART The difference between (360)

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

  11. StackOverFlow And OOM The difference between ? When did it happen ,JVM What is stored in the stack , What the heap stores ?( Meituan )

  12. Java Virtual machine and Dalvik The difference between virtual machines ?

  13. Please describe new The flow of an object .

  14. Java Objects will be allocated to the stack ?

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

a. String StringBuffer StringBuilder Efficiency in string operations ; Here we mainly investigate String How to create in memory .( Bytes to beat )

  1. String Why is it immutable ?( Bytes to beat )

a. String Why is it designed to be final Of ?

  1. final 、finally、finalize difference .

  2. The difference between abstract classes and interfaces .

  3. The difference between overloading and rewriting ( JD.COM )

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

Algorithms and data structures

Main knowledge points :

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 ? tencent

  1. How to find repeats in a given array of integers ? millet

  2. How to find the maximum and minimum values in an unsorted integer array ? Bytes to beat

  3. stay Java How to remove multiple copies from a given array ? Baidu

5. What are the common data structures ? B standing

  1. The efficiency of an array insertion, deletion, search and linked list ? If an array needs to be inserted and deleted repeatedly, how to optimize and reduce the time complexity ? tencent

  2. arrayList Underlying principle sound of dripping water Bytes to beat

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

9. How to prove whether a given linked list contains loops ? How to find the head node of a loop ? youku

10. Two single linked lists with intersections , Find the intersection Huawei

  1. How to get the length of a single linked list ? 360

  2. How to reverse a single linked list without recursion ? millet / Meituan

  3. How to judge whether a linked list has a link ? sound of dripping water

  4. How to use stack to realize the function of queue ? Guangzhou litchi FM

  5. Two stacks implement a queue Mushroom street

  6. Two queues implement a stack tencent

  7. Compare queues to stacks , And their bottom implementation tencent

recommend LeetCode Brush questions and read 《 The finger of the sword offer》.

performance optimization

primary coverage

2. out of memory
3. Memory jitter
4. Memory leak
5.UI Carton
6. Cold start optimization, etc

Interview questions of Dachang

  1. Memory optimization , Memory jitters and memory leaks .( Oriental headlines )

  2. Bitmap Compress , quality 100% And 90% The difference between ?( Oriental headlines )

  3. TraceView Use , lookup CPU Occupy ( Oriental headlines )

  4. Memory leak lookup ( Cool music )

  5. ANR lookup

a. ANR What is it? , How to solve ?( Meituan )

  1. CPU wave

  2. How to carry out performance optimization analysis in the current project

  3. Cold start 、 Concept of hot start ( Cool music )

  4. View How to optimize if the level is too deep , Which layout is better ?( Meituan )

  5. How to detect whether the function execution is stuck ( Bytes to beat )

11. When will a memory leak occur ? Take a few examples ( Meituan )

Issues related to career development planning

primary coverage

1. Clothing must be appropriate
2. Arrive at the interview site at the agreed time , Get your resume ready
3. The content of the conversation should be primary and secondary , To the point , It must be logical
4. The most important point , If you have this ability, try to bring the examiner to your familiar neighborhood ( It depends on how you chat )
5. After the end , Never go without looking back . Ask if you have anything to ask you , Usually it's cold to go back and wait for the notice .

Interview questions of Dachang

1. Why do you want to leave
2. The strength of the current project and your role
3. What kind of team do you want to join
4. Knowledge of our company
5. It's best to think about it in advance to avoid nervous thinking during the interview , There is no logic in speaking .

tencent T3 Detailed interview experience Have to take Offer

Here are the main questions of this interview .

one side

2. Is there any use in the project , What are the disadvantages , How to improve
3.ClassLoader principle
4.Binder Principle and use
5.Activity How to display on the screen
6. Customize View Precautions for
7.Retrofit principle
8.okhttp How the connection pool is maintained
9.MAT How to use , Can do
10. How to use annotations , The difference between compile time and run-time annotations
11. Do you know about overheating repair
12.Map Implementation classes and data structures
13. How to detect memory leaks
14. How to avoid over drawing
15. Locking mechanism
Two sides

1.List Implementation classes and advantages and disadvantages of , Whether they are thread safe
2. How to design an excellent SDK, How to make SDK Adapt to changes in business models .
3. Design a push on paper SDK Or monitoring SDK
4. Two arithmetic questions
5. Look at a lot of data sorting
6. Examine the awareness of multithreading collaboration , And the use of core threads .
7. Just write ideas , Just pseudo code
8. Why should I leave
9. Is overtime acceptable
On three sides (HR)

1. The current project group structure and roles in the project group
2. Why quit
3. How long can I get to the post
4. Current salary
5. Hope salary


Actually Android There are so many knowledge points in development , There are still so many things to ask about in the interview . So there's no other trick to an interview , It depends on how well you are prepared for these knowledge points .so, When you go out for an interview, you should first see which stage you have reviewed .

Of course, I also sorted out Baidu for you 、 Ali 、 tencent 、 A collection of interview questions from Internet giants over the years . It's also a habit I've developed over the years , We must learn to keep good things , Sum up and sort out , And then the digestion and absorption of the system , Only in this way can we greatly improve the efficiency of learning and the level of growth . debris 、 Scattered things , I think the most worthless . It's like you give me a playing card , I just think it's a piece of waste paper , But if you give me a deck of playing cards , It has its value . This is the same as the systematic data we need to collect , It's one thing .

2021 my Android How can I get there , As a Android The programmer _ interview

Online learning Android A lot of information , But if the knowledge learned is not systematic , When you encounter a problem, you just have a taste of it , No further study , So it's hard to really improve the technology . I hope this systematic technical system has a direction reference for you .

This article has been  CODING Open source project :《Android Summary of learning notes + Mobile architecture video + The real interview question of Dachang + Project source code 》 Included

Please bring the original link to reprint ,thank
Similar articles