当前位置:网站首页>Ali, Tencent, Baidu, Netease, meituan Android interview experience sharing, got Baidu, Tencent offer

Ali, Tencent, Baidu, Netease, meituan Android interview experience sharing, got Baidu, Tencent offer

2020-11-09 12:10:00 The heat is you

Basic information

2021 General undergraduate ,Android Development post .

This article is mainly about 2020 Interview experience summary in autumn , Finally got Baidu 、 Tencent's offer.

It mainly includes three sides of Ali , Tencent , Baidu on three sides , Three sides Netease , The whole scene of meituan is over .

Ali ( From elder martial sister ,2 Face to back hanging )

Ali Technology -35min

Self introduction.

Android

  • Have you met OOM problem ( There is a memory leak problem )
  • Handler Mechanism
  • ThreadLocal
  • Activity Boot to load View The process
  • View Drawing process
  • LinearLayout (wrap_content) & TextView (match_parent) final result ???
  • OKHttp(1\. Why choose it ? 2\. Do you understand the performance ?3\. What are the internal design patterns )
  • understand EventBus Well ?

Design patterns

  • What design patterns have been used
  • Observer example

The Internet

  • HTTP & HTTPS difference

other

  • Why flying pigs
  • Professional issues
  • In the competition

Two aspects of Ali Technology -1h hang

Self introduction.

project

  • Why choose OKHTTP frame
  • Load picture frame ?( Learn to look Glide)
  • JSON Analytical framework ?( Learn to look Gson,FastJson)
  • Technology selection ?
  • Number of pages ?
  • OSS How to design cache for uploading credentials ? How to encrypt ?( encryption algorithm ??)
  • What other projects can be said ?

Android

  • Activity Life cycle ? Start transparency Activity Life cycle ? Press Home Key life cycle ?
  • Backstage killing APP How to recover data after ?
  • One APP It can be multi process ?
  • ListView and RecyclerView difference ?
  • RecyclerView How is carton going to investigate ?
  • RecyclerView How to achieve more Type?
  • RecyclerView Of ItemView How to optimize if the hierarchy is too deep ?
  • Android Multi process ?
  • How to design Android Inter thread communication ?
  • Handler Mechanism ? A child thread can use Handler Do you ?
  • ANR?

Java

  • private protected public The difference in the use of keywords !!!
  • Interface , Abstract class differences ? Whether the abstract class should implement the method of interface ???
  • Map Thread safety for ? Read more, write less, choose which set ?(CopyOnWrite, I don't understand the principle and dare not say )

The Internet

  • HTTP/HTTPS difference
  • TCP Do you understand ? The handshake and wave process ?
  • A long connection ?
  • push How to achieve ?

tencent

One side in advance -35min

Project introduction

  • Implemented function , be based on OKHTTP Realize network request

HTTP(s)

  • introduce HTTP agreement
  • HTTPS What about public key exposure
  • HTTP How to ensure the correctness of uploading files in sections
  • HTTP cache

Java

  • process Thread differences
  • Communication between child threads
  • The solution to deadlock , How to judge if a deadlock occurs

Algorithm problem

  • Odd and even arrays , Reorder to keep the order unchanged , The odd number is before, even after
  • 2 Count /3 Sum of the numbers

Two sides in advance -30min- hang

Self introduction.

Project introduction

  • Project sorting
  • Image compression algorithm ? Talk about Android Picture compression, that thing
  • Bitmap JPG difference The image processing :JPG、PNG And BMP The difference between ?
  • Breakpoint retransmission ? How to dynamically determine the range ?Android Realize breakpoint upload file
  • Breakpoint download ?CRC principle File check MD5、SHA1、CRC32、sha256、cksum

Design patterns

  • MVC Advantages and disadvantages
  • MVP Medium MVC Of C Where is the realization
  • The choice between the hungry and the lazy in the single case model , Use scenarios Java Different ways to write singleton patterns ( Slacker type 、 Hungry Chinese style 、 Double check lock 、 Static inner class 、 enumeration )

HTTPS encryption

Tencent officially approved the test -25min

  • Crash
  • ANR How to solve
  • Design world cup 32 Data structure of strong combat
  • 2 A ball 100 If you fall off the floor, it will be broken
  • The specific work of Surveying and opening

Tencent officially approved to open two sides -1h

project

  • Talking about details

Android

  • picture , Performance check of voice large memory data , location ?
  • Handler Memory leak problem
  • ART Dalvik difference ?
  • GC Mechanism ?
  • CountDownLatch principle ?

Algorithm problem

  • Don't use for Find the maximum value of the array ?

gossip

  • Self advantage

Baidu

Baidu side -1h

Self introduction.

Project introduction

  • Is coding specifications useful ?

Android

  • Android Four components security
  • Activity Boot mode
  • IntentFilter Matching rules ,action and category difference ?
  • Handler Why doesn't the blockage get stuck ?
  • Click event distribution mechanism ,onTouchEvent return false? dispatchTouchEvent return false?
  • Looper
  • Object pool , Handwritten object pool implementation
  • ContentProvider principle
  • sp Do you support cross process ? How to solve cross process , How to achieve process synchronization
  • Frame animation implementation : 100 Pictures ,200ms Show one , Read a picture to 400ms, How to solve the problem and avoid getting stuck ( Multithreaded reading )
  • Bitmap Memory reuse constraints
  • Thread time slice allocation principle

Two sides of Baidu -45min

project

  • Sort out the items
  • difficulty
  • Technical framework

Algorithm problem

  • Handwritten dichotomy
  • Elevator state machine design

Advantages and disadvantages

  • advantage
  • shortcoming
  • major

Baidu on three sides -45min

technology

  • The longest public substring
  • Class loading mechanism
  • okhttp principle
  • Principle of thermal repair

The rest of the chat

  • Advantages and disadvantages
  • University regret
  • What activities are organized
  • Things that you stick to for a long time
  • Professional direction

NetEase

Netease technology side -1h

Self introduction.

Project introduction

  • Huawei solution bug The most impressive

Android

  • TouchEvent Transmission process ? onTouchEvent return flase What do I do ?
  • How to design cache
  • Android Data persistence
  • How to batch the database ( principle )
  • SP Support does not support multithreading ?SP How to implement multithreading
  • View Drawing process
  • Handler Message mechanism

Java

  • B How can threads wait A The thread does the work
  • How threads end up working Java Three ways to end a thread
  • Java Which methods support interrupts
  • Design a request for limited resources
  • How to design object pool ( Save and put back objects )
  • When are threads in the thread pool created
  • Java In the lock
  • Reentrant lock performance

Pen test

  • Two arrays exchange a value , Make sum equal , Find these two values

Netease technology has two sides -1h

Self introduction.

Huawei internship

  • Projects involved
  • Solution bug
  • Let's talk about the programming specifications involved
  • Lint Tools ?

Design patterns

  • The singleton pattern
  • volatile Keywords atomicity

Android

  • Interprocess communication mode ( And linux Communication differences between processes )
  • Socket How to verify security
  • radio broadcast ( overall situation Local differences )
  • How to realize multi process communication of files (A How to inform if the process has changed B Process read )
  • How to design L2 cache ( The Internet database view Inter relationship )

View

  • Activivty Life cycle
  • onSaveInstanceState onRestoreInstanceState difference , Timing of invocation
  • Radio registration should be in Activity In which life cycle
  • How to count onCreate The number of times
  • Fragment And Activity difference
  • Fragment Life cycle management
  • Fragment And ViewPager How to load repeatedly
  • View Drawing process MeasureSpec Three models of
  • Framelayout LinearLayout ReativeLayout How to do it View Right lower
  • margin padding difference
  • gone invisible The difference between
  • requestLayout、invalidate And postInvalidate difference
  • Android Animation How to cancel the loop animation repeat Pattern
  • drawable And view difference What are they? drawable

Netease technology has three sides -50min

Self introduction.

The introduction of the project need not be too detailed

Android

  • During picture transmission URL Plus the default size if it's wrap_content What do I do
  • Picture related slow inch , code , Memory reuse
  • svg ( Other picture formats )
  • drawable mutate Understand No
  • okhttp Bridge interceptors and cache interceptors
  • Design customization DNS Parser
  • Management system design : There will be buffer, What if the process is killed , How to design a log system What to do if the log is tampered with by the user , Ensure log security
  • Disk memory mapping principle
  • Have you seen the open source management framework
  • Have you ever encountered resource reuse in normal development
  • What do you know recently Android What's new
  • Self study plan

Meituan's scene was finished in a day

Self introduction.

project

  • Internship program
  • The most difficult point of the project
  • Technology selection
  • OSS STS Voucher design
  • Lint Tools are compiled ? principle ?

Scene question

  • Meituan homepage design ?
  • RecyclerView many Item The difficulties of ?

Design patterns

  • MVP MVVM Use scenarios

HR

  • what are you having? offer Now? ?
  • choice offer basis ?
  • High cost in Shanghai ?
  • How to solve communication problems ?

Suggest

  • Look at the source code , Include Java The code of the layer is in JVM In the implementation of the source code : Such as synchronized Implementation of the source code ,Android Framework Better understanding of the source code Android The realization of the layer ,Android Open source library source code (OKHttp,Retrofit,RxJava,EventBus,Glide,Gson..., Better learning excellent open source library source code , Use it well , Understand the principle )
  • Ask yourself why , For example, where are the advantages and disadvantages of the two technical points , Respective use scenarios ( For example, the advantages and disadvantages of the hungry and lazy in the single instance mode , Use scenarios ), Only in this way can it be more suitable for practical application development , Use different technology points for different scenarios
  • Review the interview in time and summarize the problems encountered in the interview , It's divided into two parts , One is to know but not to go deep , This need to continue to see more and summarize more , The other is not touched , This can be understood first , In case of another interview , You can answer what you know , After that, I'll summarize it in depth ( After all, time is limited , It can't be all inclusive , We can only learn and sum up )

Last

If you have a big company you want to go to , We must improve ourselves , Match your ability and quality with the company , I've always believed in , Opportunity is always for those who are prepared .

I also prepared a long time before the interview in autumn , I've done a lot of interviews with big factories , The knowledge points are sorted out and shared with everyone , It's a kind of gratitude :

Java relevant

1. Containers (HashMap、HashSet、LinkedList、ArrayList、 Array etc. )

2. Memory model

3. Garbage collection algorithm (JVM)

4. Garbage collection mechanism and call System.gc() The difference between ?

5. Class loading process ( Need to see more , Focus on understanding , It's important for hot fixes and plug-ins )

6. Reflection

7. Multithreading and thread pooling

8. Design patterns ( Six basic principles 、 Design patterns commonly used in projects 、 Handwritten notes, etc )

9.Java Four quotes

10.Java The generic

11.final、finally、finalize The difference between

12. Interface 、 The difference between abstract classes

If you need a full set of interview questions + analysis , Draw directly to the end of the article for free ~

Android relevant

1. Customize View

2. Event interception distribution

3. Some performance problems solved , Practical application in the project

4. Performance optimization tools

5. performance optimization ( Talk about the performance optimizations you've done in your own projects )

6.Http[s] Ask for a slow solution (DNS、 Carrying data 、 Direct access IP)

7. How to cache yourself (LRUCache principle )

8. Graphics and images :OpenGL ES Pipeline process 、EGL The understanding of 、Shader relevant

9.SurfaceView、TextureView、GLSurfaceView Differences and use scenarios

10. Animation 、 Differentiator 、 Estimator (Android Medium View Animation and attribute animation - Simple books 、Android Animation Introduction and use )

11.MVC、MVP、MVVM

12.Handler、ThreadLocal、AsyncTask、IntentService Principle and Application

13.Gradle(Groovy grammar 、Gradle Plug in Development Foundation )

14. Hot repair 、 pluggable

15. The idea of component architecture

16. System packaging process

17.Android How to store data .

18.SharedPrefrence Source code and problems ;

20.sqlite relevant

21. How to judge a APP At the front desk or backstage ?

22.AMS 、PMS

23.Activity Start process ,App Start process

24.Binder Mechanism (IPC、AIDL Use )

25. Why use Parcelable, What are the benefits ?

26.Android Image display related processes ,Vsync Signals, etc

If you need a full set of interview questions + analysis , Draw directly to the end of the article for free ~

Source code understanding

Glide : load 、 cache 、LRU Algorithm ( How to design a large image loading framework by yourself ) (LRUCache principle )

EventBus

LeakCanary

ARouter

pluggable ( Principles and schools of different plug-in mechanisms , Advantages and disadvantages . limitations )

Hot repair

RXJava (RxJava The principle of thread switching )

Retrofit (Retrofit stay OkHttp What's the package on ? The difference between dynamic agent and static agent , How did it happen )

OkHttp

Algorithm and data structure

  1. Time complexity / Spatial complexity
  2. What sort algorithms are commonly used ?
  3. String inversion
  4. List reversal ( The first interpolation )
  5. How to find the first character that only appears once (Hash lookup )
  6. How to find the common parent view of two child views ?
  7. The median in an unordered array ( Quick thinking )
  8. How to give an integer array and a target value , Find the two numbers in the array that are the target values .
  9. Foreword of binary tree 、 Middle preface 、 After the sequence traversal
  10. Maximum K problem
  11. Breadth 、 Depth first search algorithm
  12. String turn int. The core algorithm is three lines of code , But there are many critical conditions , In addition to empty , You also need to pay attention to negative numbers 、Integer The maximum and minimum boundary of ;
  13. How to judge whether a single chain table has rings ?
  14. 100 Billion words , Find out the most frequent words . Several solutions are required ;
  15. List every k Bit reverse order ;
  16. Mirror binary tree ;
  17. Find a number that appears more than half the times in an unordered array ;
  18. Calculate the maximum depth of a binary tree , Non recursive algorithm required .
  19. String How to add .

The Internet

1. Network framework comparison and source analysis

  1. What are the seven layer network protocols ?
  2. Http and Https The difference between ?Https Why is it safer ?
  3. HTTPS The connection establishment process of
  4. Explain it. Three handshakes and Four waves
  5. TCP and UDP The difference between
  6. Cookie and Session
  7. DNS What is it? ?
  8. DNS Analytic process

10.HTTP Message structure

11.HTTP And HTTPS And how to achieve security

12. How to verify the validity of a certificate ?

13.https Where to use symmetric encryption , Where to use asymmetric encryption , For encryption algorithms ( Such as RSA) Wait to see if you understand ?

14.client How to make sure the messages you send are server received ?

15. Talk to you about WebSocket The understanding of the

16.WebSocket And socket The difference between

17. Talk about your understanding of Android signature .

18. Please explain why Android needs to add a signature mechanism ?

19. Encrypted video transmission

20.App How to sandbox , Why do you do this ?

21. Authority management system ( How does the underlying authority work grant Of )?

If you need a full set of interview questions + analysis , Draw directly to the end of the article for free ~

Kotlin relevant

1. Analysis from principle Kotlin Delay initialization of : lateinit var and by lazy

2. Use Kotlin Reified Make generics simple and secure

3.Kotlin Inside Extension Functions Implementation principle analysis

4.Kotlin Top level functions and properties of the series

5.Kotlin compatible Java The biggest “ pit ”

6.Kotlin A hard glance at

7.Kotlin coroutines 「 Hang up 」 The essence of

8. What exactly is 「 Non-blocking type 」 Hang up ? Is coprocessor really more lightweight ?

9. How resource confusion affects Kotlin It's co-operative

10.Kotlin Coroutines( coroutines ) Complete resolution

11. Crack Kotlin coroutines

Flutter relevant

  1. Dart In the middle of 「..」 What do you mean ?
  2. Dart Scope of action
  3. Dart Is it a single threaded model ? How it works ?
  4. Dart How to achieve multitasking in parallel ?
  5. The way Dart In asynchronous programming Future keyword ?
  6. The way Dart In asynchronous programming Stream Data flow ?
  7. Stream What are the two subscription modes ? How are they called ?
  8. await for How to use ?
  9. The way mixin Mechanism ?
  10. Please give us a brief introduction Flutter frame , And its advantages and disadvantages ?
  11. introduce Flutter The conceptual framework of
  12. introduce FFlutter Of FrameWork Layer and the Engine layer , And what they do
  13. introduce Widget、State、Context Concept - Widget

14. sketch Widget Of StatelessWidget and StatefulWidget Two state component classes

15.StatefulWidget Life cycle of

16. sketch Widgets、RenderObjects and Elements The relationship between

17. What is state management , You know what state management framework ?

18. sketch Flutter Drawing process of

19. sketch Flutter The thread management model of

20.Flutter How is it with the original Android、iOS Communicating ?

21. sketch Flutter The heat overload of

①「Android A complete analysis of the real interview questions 」PDF Full HD version +②「Android Interview knowledge system 」 Learning mind map compression package —————— Yes, mine 【Github】 Read Download , Finally, I think it helps 、 A friend in need can like it

版权声明
本文为[The heat is you]所创,转载请带上原文链接,感谢