Responsibilities of Android Development Engineer! A complete set of interview questions for senior Android engineers of first-line Internet companies, with super complete tutorial documents

I. Introduction

It is now the end of the month in October, and the craze for job hunting and interviews has gradually faded.

When the tide goes up and down, some people get their favorite offer from it; some people take a trip and get nothing, or get little, and are not satisfied; others are watching and waiting for the next opportunity.

Here is an analysis of the current interview market, to take you to understand where you are, and to share useful information to help you improve your combat effectiveness.

Ali technical side-35min

Self introduction

Android

  • Have you encountered OOM problems (have encountered memory leak problems)
  • Handler mechanism
  • ThreadLocal
  • Activity starts to load View 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)
  • Do you know EventBus?

Design Patterns

  • Which design patterns have been used
  • Examples of observers

The internet

  • HTTP & HTTPS difference

other

  • Why choose Fliggy
  • professional concern
  • Competition

Ali technology two sides-1h hanging

Self introduction

project

  • Why choose OKHTTP framework
  • Load picture frame? (Learn about Glide)
  • JSON parsing framework? (Learn about Gson, FastJson)
  • Technology selection?
  • Number of pages?
  • How to cache OSS upload credentials? How to encrypt? (Encryption Algorithm??)
  • What else can be said?

Android

  • Activity life cycle? Start the transparent Activity life cycle? Press the Home button life cycle?
  • How to restore data after killing APP in background?
  • Can one APP have multiple processes?
  • What is the difference between ListView and RecyclerView?
  • How to troubleshoot RecyclerView stuck?
  • How does RecyclerView implement multiple types?
  • How to optimize the ItemView level of RecyclerView is too deep?
  • Android multi-process?
  • How to design the communication between Android threads?
  • Handler mechanism? Can Handler be used for child threads?
  • ANR?

Java

  • Private protected public keyword usage difference! ! !
  • What is the difference between interface and abstract class? Should abstract classes implement interface methods? ? ?
  • Is Map thread safe? Which set to read more and write less? (CopyOnWrite, I dare not say if I don't understand the principle)

The internet

  • HTTP/HTTPS difference
  • Does TCP understand? Handshake and wave process?
  • Long connection?
  • How to implement push?

Tencent

Batch one side in advance-35min

Project Introduction

  • Realized function, realize network request based on OKHTTP

HTTP(s)

  • Introduce the HTTP protocol
  • What to do if HTTPS public key is exposed
  • How to ensure the correctness of HTTP multipart upload files
  • HTTP cache

Java

  • Process thread difference
  • Communication between child threads
  • The method to solve the deadlock, how to judge the deadlock

Algorithm question

  • Odd and even arrays, re-sort to ensure that the order remains unchanged, odd numbers first and even numbers behind
  • 2 number / 3 number

Batch two sides in advance -30min-hang

Self introduction

Project Introduction

  • Project combing
  • Image compression algorithm? Talk about Android image compression
  • Bitmap JPG difference image processing: the difference between JPG, PNG and BMP?
  • Breakpoint retransmission? How to dynamically determine the range? Android realizes breakpoint upload file
  • Breakpoint download? CRC principle file verification MD5, SHA1, CRC32, sha256, cksum

Design Patterns

  • MVC advantages and disadvantages
  • Where is the C implementation of MVC in MVP
  • The choice between the hungry man and the lazy man in the singleton mode, use different writing methods of the Java singleton mode of the scene (lazy man, hungry man, double check lock, static inner class, enumeration)

HTTPS encryption method

Tencent officially approves one side for testing -25min

  • Crash
  • How to solve ANR
  • Design the data structure of the top 32 World Cup matches
  • 2 balls on the 100th floor to find that floor will be broken
  • Test specific work

Tencent officially approved the opening of the second side-1h

project

  • Chat details

Android

  • Picture, voice, large memory data performance troubleshooting, positioning?
  • Handler memory leak problem
  • ART Dalvik difference?
  • GC mechanism?
  • How does CountDownLatch work?

Algorithm question

  • Do not use for to find the maximum value of an array?

Small talk

  • Self advantage

Baidu

Baidu One Side-1h

Self introduction

Project Introduction

  • Are coding standards useful?

Android

  • Security of the four major components of Android
  • Activity start mode
  • IntentFilter matching rules, the difference between action and category?
  • Why isn't Handler blocked?
  • Click event distribution mechanism, onTouchEvent returns false? DispatchTouchEvent returns false?
  • Looper
  • Object pool, handwritten object pool implementation
  • ContentProvider principle
  • Does sp support cross-process? How to solve cross-process, how to achieve process synchronization
  • Frame animation realization: 100 pictures, 200ms to display one, 400ms to read a picture, how to solve it to avoid the stall (multithreaded reading)
  • Bitmap memory reuse restrictions
  • Principle of thread time slice allocation

Baidu two sides -45min

project

  • Sort out the project
  • difficulty
  • Technical framework

Algorithm question

  • Handwriting dichotomy
  • Elevator state machine design

Pros and cons

  • advantage
  • Disadvantage
  • profession

Baidu three sides-45min

technology

  • Longest common substring
  • Class loading mechanism
  • okhttp principle
  • Principle of hot repair

Rest small talk

  • Advantages Disadvantages
  • University regrets
  • What activities to organize
  • Long-term things
  • Professional destination

NetEase

NetEase technical side-1h

Self introduction

Project Introduction

  • Huawei has the deepest impression of bug solutions

Android

  • TouchEvent delivery process? What if onTouchEvent returns flase?
  • How to design cache
  • Android data persistence
  • How to batch process the database (principle)
  • Does SP support multi-threading? How does SP implement multithreading
  • View drawing process
  • Handler message mechanism

Java

  • How does the B thread wait for the A thread to complete the work
  • How does a thread end work? Three ways to end a thread in Java
  • Which Java methods support interrupts
  • Design a request with limited resources
  • How to design the object pool (storage and return of objects)
  • When are the threads of the thread pool created
  • Locks in Java
  • Re-entrant lock performance

Writing testing

  • Two arrays exchange a value, make the sum equal, and find the two values

NetEase Technology Two Sides-1h

Self introduction

Huawei intern

  • project involved
  • Solution bug
  • Let’s talk about the participating programming specifications
  • Lint tool?

Design Patterns

  • Singleton mode
  • volatile keyword atomicity

Android

  • Inter-process communication method (different from linux inter-process communication)
  • How does Socket verify security
  • Broadcast (global and local differences)
  • How to realize multi-process communication of files (how to notify B process to read when process A changes the file)
  • How to design secondary cache (relationship between network database views)

View

  • Activivty life cycle
  • onSaveInstanceState onRestoreInstanceState difference, call timing
  • Broadcast registration should be in which life cycle of Activity
  • How to count the number of onCreate
  • Difference between Fragment and Activity
  • Fragment life cycle management
  • How do Fragment and ViewPager load repeatedly
  • Three modes of View drawing process MeasureSpec
  • How to make Framelayout LinearLayout ReativeLayout view in the lower right
  • The difference between margin padding
  • The difference between gone invisible
  • The difference between requestLayout, invalidate and postInvalidate
  • Android animation how to cancel the loop animation repeat mode
  • What are the differences between drawable and view

Netease technology three sides-50min

Self introduction

Needless to say, the project introduction is too detailed

Android

  • What to do if the URL plus the default size is wrap_content during image transmission
  • Picture related slow size, coding, memory reuse
  • svg (other picture formats)
  • drawable mutate do not understand
  • okhttp bridge interceptor and cache interceptor
  • Design a custom DNS resolver
  • Management system design: There will be a buffer in the process of writing files. What to do when the process is killed? How to design the log system What to do if the management log is tampered with by the user to ensure log security
  • Principle of Disk Memory Mapping
  • Have you seen the open source management framework
  • Have you ever encountered resource reuse in development?
  • What's new in Android recently?
  • Self study plan

Meituan's face is over in one day

Self introduction

project

  • Internship Program
  • The most difficult point of the project
  • Technology choice
  • OSS STS certificate design
  • Is Lint tool compile-time? principle?

Scene question

  • Meituan homepage design?
  • Difficulties with multiple items in RecyclerView?

Design Patterns

  • MVP MVVM usage scenarios

HR

  • What's the offer now?

  • Choose the basis of offer?

  • Shanghai is expensive?

  • How to solve communication problems?

end

Based on salary treatment, with development as the ultimate goal, we must seek the best development in places with high salaries!

Below are some advanced information compiled by several Android industry leaders corresponding to the technical points above. There are ** Android architecture video + BATJ interview topic PDF + core notes and other materials . Hope to help you improve your technology. If you want to get it, you can privately message me [666] to get it for free**

Here are some advanced information compiled by several Android industry leaders corresponding to the technical points above. There are ** Android architecture video + BATJ interview topic PDF + core notes and other materials . Hope to help you improve your technology. If you want to get it, you can privately message me [666] to get it for free**

[External link image is being transferred...(img-YJ1YpTNj-1611135793918)]

Guess you like

Origin blog.csdn.net/chayel123/article/details/112905509