2020BATJ Interview Series: 145 high-end technical questions technical questions to help you get the offer!

Foreword

Everyone wants to feed manufacturers, big Internet companies, the advantages are obvious, high wages, good benefits, job stability, but also gold-plated.

But the disadvantage of large companies is also very obvious, it is hard!

In March, it is not only a good opportunity to attack Ali, as well as other manufacturers into other opportunities, such as Baidu, Tencent, byte beating, Jingdong, the US group, drops and so on.

Interview Process manufacturers usually very complex and very strict, basically three started five what is also very common, so you must have a strong resilience and some friends, met a high-end Android technical problem is more panic, here, I combine my experience before the interview, as well as with some work friends in BAT, discuss some of the high-end Android technology summed up a very comprehensive large companies need to use.

There is also specifically put together a document and key points are resolved in detail. These topics a little technical content, you need a good time to look at the point.

At the end of the text you have to receive, collect and collate more Android interview topics on, including primary, intermediate and advanced different levels and different topics involved frequently asked scope, and interview topics and answers and system learning videos, free for everyone to share, eliminating the trouble everywhere online search for information, the end of the text has to receive!


Behind the recommendation of some small partners, the interview data, advanced learning PDF data, video tutorials. Supplemented and updated, hope to have better help you learn advanced, thank you!

table of Contents

A. Picture

II. Network and security mechanisms

III. Database

IV. Algorithm

V. plug-in, modular, component-based, hot fixes, incremental update, Gradle

VI. Architecture and design patterns

VII. Performance Optimization

Eight .NDK, jni, Binder, AIDL, interprocess communication related

Nine on .framework layer, ROM custom, Ubuntu, Linux and the like

Interview questions

A. Picture

  • 1, photo gallery contrast
  • 2, LRUCache principle
  • 3, image loading principle
  • 4, to achieve their own gallery, how do?
  • 5, Glide source code parsing
  • 6, Glide what caching?
  • 7, Glide how to control the size of the memory cache?

II. Network and security mechanisms

  • 1. Network framework source code analysis and comparison
  • 2. The request to design their own network framework, how to do?
  • 3. The network caching request, okhttp how to handle network buffer;
  • 4. Load a picture from the 10M network, said Caution
  • 5.TCP three-way handshake and four wave
  • 7.TCP difference with the UDP and UDP applications 6.TCP
  • Difference 8.HTTP agreement 9.HTTP1.0 and 2.0
  • 10.HTTP message structure
  • 11.HTTP difference with HTTPS and how to implement security
  • 12. How to verify the legitimacy of the certificate?
  • 13.https where used in symmetric encryption, where the use of asymmetric encryption, whether there is knowledge of the encryption algorithm (such as RSA), etc.?
  • How to determine their own 14.client sent message is received server?
  • 15. Talk about your understanding of the WebSocket
  • And the socket of the difference 16.WebSocket
  • 17. Talk to your Android signatures understanding.
  • 18. Please explain why Andrews to add signature mechanism?
  • 19. Video encrypted transmission
  • How 20.App is sandboxed, why is that?
  • 21. rights management system (underlying rights is how the grant)?

III. Database

  • 1.sqlite upgraded with statements fields
  • 2. The source code analysis and database comparison frame
  • 3. Database optimization
  • 4. Database data migration issues

IV. Algorithm

  • 1. What sort algorithm?
  • 2. Which is the fastest sorting algorithm?
  • 3. Handwritten a bubble sort
  • 4. Fast sorting code handwritten
  • The quick sort of process, time complexity, spatial complexity
  • 6. handwriting heap sort
  • 7. The process of heap sort, time complexity and space complexity
  • 8. Write what you know about the complexity of the sorting algorithm and space, stability
  • 9. The root node and the destination node is given the binary tree, to find the path from the root node to the target node
  • Ali 10 to more than 20,000 employees which algorithm to sort by age should be chosen?
  • 11.GC algorithm (advantages and disadvantages of various algorithms and scenarios)
  • 12. Ant Colony Algorithm and Monte Carlo Algorithm
  • 13. Inclusions substrings (the KMP algorithm) to write code to achieve
  • 14 a disorder not repeat array, the output of N elements, such elements and the addition of N to M, the given time complexity, spatial complexity. Handwriting algorithm
  • 15. The two-level URL trillion files A and B, how to obtain the difference between C A and B set (Tip: Bit Mapping -> hash grouping -> Multi-file read and write efficiency -> Disk Addressing and application level to find optimization address)
  • Find the nearest merchant function (Tip: coordinate Mirror + R Tree) under 16. POI how to test Baidu.
  • 17. A set of two arrays will not be repeated, seeking common elements.
  • 18. The two collections are not repeated in the array, the two sets are huge amounts of data, the memory does not fit, how to find a common element?
  • 19. a file has one million integers, separated by a space, in the proceedings to determine whether the user input integer in this file. Say the best way
  • 20. Bitmap share a memory and memory footprint calculations
  • 21.2000 ten thousand integers, find out the fifth top ten figures?
  • 22. uneven burning a rope, the end of the head burn total of one hour. There are several pieces of the same material as the rope, asking how the method of burning rope clocked one hour fifteen minutes of it?
  • 23. Number of daffodils demand within 1000 and within 40 million the number of daffodils
  • 24.5 coins, 2 n-3 trans divided into two piles then how the number of turn in the positive direction transfer piles 8 hard coins and coins of the same reverse direction
  • 25. hour walk around, hour and minute hands overlap several times
  • 26.N * N of graph paper, the number of squares which
  • 27.x an apple a day can only eat one, two, or three, and asked how many days you can eat?

V. plug-in, modular, component-based, hot fixes, incremental update, Gradle

  • 1. understanding of hot fixes and plug-ins
  • 2. Plug the principle of analysis
  • 3. The modular realization (benefit reasons)
  • 4. Hot Fix, plug-in technology
  • The understanding of the project component
  • 6. Describe what happened after clearing the build button clicks Android Studio

VI. Architecture and design patterns

  • 1. Talk about your understanding of Android design patterns
  • 2.MVC MVP MVVM principles and differences
  • 3. Design Patterns you know what?
  • 4. Project commonly used design pattern
  • 5. handwritten producer / consumer model
  • 6. write code observer pattern
  • 7. The adapter mode, decorator patterns, similarities and differences between the appearance mode?
  • 8. The use of open source framework, introduce a read source code, internal processing.
  • 9. talk about the understanding of RxJava
  • 10.Rxjava send events step
  • 11.RxJava effect, the advantages and disadvantages of using the asynchronous operation to the usual ratio
  • 12. EventBus talk effect, implementation, instead of the way EventBus
  • 13. App from 0 to design a whole architecture, how to do it?
  • 14. Do you think say a comparison of the current fire and applications design (such as: live APP, P2P banking, small video, etc.)
  • 15. The talk of java state machine understanding
  • 16.Fragment If you use Adapter How should decouple?
  • 17.Binder mechanism and the underlying implementation
  • 18. For application updates this is how to do? (Answer: gray, update, subregional update)?
  • 19. Json implement a parser (speed is increased by n)
  • 20. When you start a long statistical standard

VII. Performance Optimization

  • 1. How performance analysis and optimization of Android applications?
  • 2.ddms and traceView
  • 3. How to analyze performance optimization systrace?
  • 4. How to analyze a memory leak with IDE?
  • 5.Java multi-threaded performance problems caused, how to solve?
  • 6. Start page black and white screen to solve? 7. Start slow how to solve?
  • 8. how to ensure that the application does not start Caton?
  • 9.App start capturing abnormal collapse
  • 10 Custom View Notes
  • 11. Now download very slow, again analyze the reasons from the network protocol, and optimization (Note: 5 may relate to the network layer).
  • 12.Https request slow solution (Tip: DNS, to carry data, direct access to IP)
  • 13. how to maintain application stability
  • And a performance comparison 14.RecyclerView ListView
  • 15.ListView optimization
  • 16.RecycleView optimization
  • 17.View rendering
  • How 18.Bitmap handle big picture, such as a big picture of 30M, how to prevent OOM
  • Four kinds cited differences in 19.java and usage scenarios
  • 20. A strong reference is set to null, it will not be recycled?

Eight .NDK, jni, Binder, AIDL, interprocess communication related

  • 1. Please tell us about NDK
  • 2. What is the NDK library?
  • 3.jni used it?
  • 4. How jni registered native function, there are several registration methods?
  • 5.Java how to call c, c ++ language?
  • 6.jni how to call java layer of code?
  • 7. The process of communication between the way?
  • 8.Binder mechanism
  • 9. Brief IPC?
  • 10. What is AIDL?
  • 11.AIDL solve the problem?
  • How 12.AIDL use?
  • Inter-Process-Communication on how 13.Android when inter-process communication work?
  • 14. The multi-process scenarios encountered what?
  • 15.Android process category?
  • 16. Application of the process and the life cycle?
  • 17. The process of scheduling
  • 18. talk about shared understanding of the process and thread-safe
  • 19 to talk about the understanding of the development of multi-process and multi-process scenarios
  • 20. What is the coroutine?

Nine on .framework layer, ROM custom, Ubuntu, Linux and the like

  • 1.java characteristics of virtual machines
  • 2. talk about the understanding of the jvm
  • 3.JVM memory area, open piece of thread affect memory
  • 4. What is the understanding of the Dalvik, ART virtual machine?
  • 5.Art and Dalvik virtual machine 6. Comparison principle, how to design their own virtual machine (memory management, class loading, parents delegate)
  • 7. Talk to your parents understand delegation model
  • 8.JVM memory model, the memory area
  • 9. The class loading mechanism
  • 10. The talk understanding ClassLoader (class loader) of
  • 11. talk about the understanding of the dynamic loading (OSGI) of
  • 12. The memory cycle and avoiding object reference
  • 13. The memory recovery mechanism, GC recovery strategy, GC and GC principles timing objects
  • 14. The garbage collection and call System.gc () difference
  • 15.Ubuntu compile Android
  • 16. What system boot process? (Tip: Zygote process -> SystemServer process -> system services -> Application Process)
  • 17. What happens when Roughly speaking, a clear application installed on the phone
  • 18. DESCRIPTION Activity start the entire process
  • 19.App start the process, starting with the click on the desktop
  • 20. The logical addresses and physical addresses, logical addresses Why?

At last

Looking for a job interview is facing. Here I collected a set of the latest Android interview thematic collection. The topic this year is the group of friends go to Baidu, millet, music television, the US group, 58, cheetahs, 360, Sina, Sohu and other Internet companies first-line interview asked about the subject. And most of them put together answers to these familiar knowledge will greatly increase the chances through the first two rounds of interview technique

Video tutorials, interview data sharing; 3.20 update

  • Senior Advanced video tutorials;
    these videos are for more than 3 years Android developers advanced learning. At the primary level it is recommended to lay the foundation oh

  • Android Advanced Technology PDF documents

collection method:

+ Focus + thumbs private letter learning go free to receive!

When programmers easily, when a good programmer is a need to learn from junior programmer to senior programmer, architect from primary to senior architect, or to management, technical director from technical manager to each stage We need to have different capabilities.

Early to determine their career direction, in order to throw off their peers at work and capacity building in

Published 168 original articles · won praise 71 · views 20000 +

Guess you like

Origin blog.csdn.net/Aerfa789/article/details/105081938