Android 4D dry goods! From resume preparation to real questions from big factories, "Golden Three Silver Four" must-have for quitting big factories!

Good morning

After the Spring Festival holiday this year, according to the statutory holiday, construction will start on February 18, 2021. There are some more humane companies that will usually start on the tenth day of the first month, that is, on February 22. . So basically after the Lunar New Year, we immediately entered the peak corporate recruitment season "Golden Three Silver Four". According to the requirement of submitting an application to the company one month in advance for normal resignation, so, if you want to "hope to Double" after the year, you can quickly prepare!
To all readers, good old days!

As the Spring Festival is approaching, there is nothing to give to everyone. You want to give something to eat or drink? Presumably all of my friends do not lack these!

Send a red envelope? It is even more shabby. Everyone here will be the owner of millions of annual salary in the future)!

Thinking about it, it’s better to give charcoal in the snow, and to teach people how to fish than to teach people how to fish. Here is a copy of "The Method of Annual Salary"-some Android development experience and study notes to share. Help my friends to switch to big factories after the new year, pay Double, realize the annual salary of one million as soon as possible, the pinnacle of life! (What, what? I'll have to thank? That after reading that it is helpful to remember thumbs + comments support what oh!)

Resume preparation:

**The focus of the resume is to highlight self-introduction, good skills, and project experience. ** Self-introduction can clearly express one's own advantages in one sentence, such as: learning ability (to master skills in a short time), personal resume (advantages of BAT background), active efforts (what projects the individual promotes, etc.).

** Skills: ** There are only a few descriptions of professional skills: proficient, proficient, familiar, and understanding. Generally speaking, you should not write if you are proficient, unless you are really confident about a certain technical point, and you can truly be proficient in a language and a distributed framework. Familiar, most proficient, and proficient are the top of the typical pyramid. In short, the resume should not highlight the number of mastery items too much, but highlight the areas of mastery.

**Project experience:** Highlight your own ace project. It is enough to talk about the most technical, challenging, and helpful project. During the interview, the interviewer will also focus on letting you describe the project you are good at and simulate this project in advance The order and focus of the explanation, rather than on-site explanation.

Review skills

I always think that there is no shortcut to learning. I believe in "good memory is not as good as bad writing", and also believe in "reading a book a hundred times to see what is right".

Be sure to practice . For programmers, it is not just rote memorization. We have better ways to learn, such as writing demos to verify. For example, in the process of learning the source code, you must go through the source code yourself and read it several times. Say it again.

Take notes and summarize while learning . I think study notes are very important, not only to take notes, but also to write experience, text notes, drawing pictures, summaries, etc. There are many ways, but you must take it seriously, don’t trust your own memory too much, only repeat memory to deepen your understanding Just work.

What, How, Why . In the process of learning knowledge points, you can follow the three axes of What, How and Why. What is this thing? How is it done? Why does it do this, what is the principle, and is there a better way?

From shallow to deep, from point to surface . In the review process, you start to learn from small knowledge points. At a certain stage of review, you can try to connect these things together, from point to surface.

Review the project . In addition, in the review process, you must combine it with the projects you have done in time, so that you can feed back your projects. You will know how to talk during the interview, and some projects will talk about knowledge points. Connect to another knowledge point, so that your knowledge system is established.

Mental adjustment before the interview

The adjustment of mentality determines "do more with less" or "do more with less." The state of the written test and the exertion of strength can affect all aspects of an interview process. When the mentality collapses, only luck is left, and the offer is estimated to go far.

How to adjust your mentality? **First of all, we must face our own abilities, not underestimate or overestimate. **Not to overestimate is to be clear about your abilities. It doesn't mean that expectations are too high, but too high expectations will make you mentally fragile. If you feel uncomfortable, you will have a tendency to collapse. After all, there is too much contingency in the interview, even if you reach a certain level, the position of the corresponding level is not perfect.

**Don't always give yourself negative hints. If your mentality is bad, you should make positive adjustments. **Most people always hint that they say that there is not much time, how can they go so fast every day and why the efficiency is so low. When it was time for the written test, I told myself that this algorithm was too difficult, and I definitely couldn't do it. When I came to the interview, I told myself don't ask me about the linux kernel, don't ask me about the distribution, and I'm sure it's over; after the interview, there is no result, I just want to hang up again every day, alas, why do I cook like this.

If this series of performance forms a habit, then the mentality coefficient is at most 0.5, and everything that can be played is also discounted by half. Don’t be too pessimistic about everything. Even if you don’t get an offer, the normal situation is that the experience and summary of this failed experience will increase the success rate next time. Don’t lie down where you fall and stand. Just get up and remove the stumbling block!

When you have a bad mentality, you have to stop your repetitive and inefficient work. You can calm down and go back and forth to make adjustments. For friends around you, communicate more, not compare. It is a very good thing to have some good partners who can prepare together. Not only can they urge each other, but also can learn from each other in the process of communication and sharing.

Have a clear understanding of your own level, and choose your own suitable company, prepare your own written examinations and interviews, not afraid of failure, but ensure that every interview has gains and improvements, the satisfactory offer will come sooner or later.

Common real questions shared by major factories

Due to space reasons, the real question analysis is not made. When asked, it is convenient for everyone to review and browse. It has been sorted into a systematic PDF document. If necessary, the way to receive it can be seen at the end of the article.

Alibaba

  • LRUCache principle
  • Image loading principle
  • Modular implementation (benefits, reasons)
  • JVM
  • Video encryption transmission
  • Statistics start time, standard
  • How to maintain the stability of the application
  • ThreadLocal principle
  • Talk about classloader
  • Dynamic layout
  • Hot repair, plug-in
  • HashMap source code, SpareArray principle
  • Performance optimization, how to ensure that the application startup does not freeze
  • How to remove duplicate code
  • Is the process synchronized? Is there any way to synchronize
  • Introduce SurfView
  • HashMap realization principle, ConcurrentHashMap realization principle
  • BroadcastReceiver, LocalBroadcastReceiver classification
  • Bundle mechanism
  • Handler mechanism
  • android event delivery mechanism
  • List of operations between threads
  • App startup process starts from clicking on the desktop
  • Dynamic loading
  • Class loader
  • OSGI
  • Https request slow solution, DNS, carry data, directly access IP
  • GC recovery strategy
  • Draw the general architecture diagram of Android
  • Describe what happened after clicking the build button of Android Studio, and roughly explain what happened when an application was installed on the phone;
  • Have a basic understanding of Dalvik and ART virtual machine;
  • How does Inter-Process-Communication on Android work when communicating across processes;
  • How is the App sandboxed, and why should it be done;
  • Authority management system (how the underlying authority is granted)
  • The life cycle of the process and Application;
  • System startup process Zygote process -> SystemServer process -> various system services -> application process
  • The difference between recycleview listview, performance
  • Sort, the realization of quick sort
  • Tree: Introduction to B-tree
  • Figure: Explanation of directed acyclic graph
  • The difference between TCP/UDP
  • The difference between synchronized and Lock
  • volatile
  • Java thread pool
  • The life cycle of objects in Java
  • Class loading mechanism
  • Parental Delegation Model
  • Android event distribution mechanism
  • MVP mode
  • RxJava
  • The difference between abstract class and interface
  • How to prevent collision by implementing Hash in Set
  • Which memory is affected by thread opening in JVM memory area
  • Garbage collection mechanism object creation, new generation and old generation
  • Binary tree depth traversal and breadth traversal
  • B tree, B tree
  • Message mechanism
  • Process scheduling
  • Process and thread
  • Deadlock
  • Process status
  • JVM memory model
  • What do concurrent collections know about
  • ConCurrentHashMap implementation
  • Introduction to CAS
  • Three ways to start threads, the difference between run() and start() methods
  • Thread Pool
  • Introduction to common data structures
  • Judgment ring (guess it should be a linked list ring)
  • Sort, heap sort implementation
  • Linked list inversion
  • Dynamic permission adaptation scheme, the concept of permission groups
  • Network request cache processing, how okhttp handles network cache
  • Related to the image loading library, how does bitmap handle large images, such as a 30M large image, and how to pre--prevent OOM
  • Process keep alive
  • The principle and solution of listview picture loading disorder
  • https related, how to verify the legitimacy of the certificate, where is symmetric encryption used in https, where is asymmetric encryption used, do you have any understanding of encryption algorithms (such as RSA), etc.

Meituan

  • Multi-threaded access and function of static synchronized method, two synchronized methods in the same class, two threads access at the same time
  • Inner classes, static inner classes and anonymous inner classes, and applications in the project
  • The handler sends a message to the child thread, how to start the looper
  • View event delivery
  • activity stack
  • How to know the size of the view when encapsulating the view
  • The difference between arraylist and linkedlist, and application scenarios
  • How to start the service, how to exchange data between service and activity
  • Does the drop-down status bar affect the life cycle of the activity? If you make a * network request during onStop, how to resume during onResume
  • view rendering

Today's headlines

  • The concept of heap in data structure, heap sort
  • The concept of deadlock, how to avoid deadlock
  • ReentrantLock 、synchronized和volatile(n面)
  • HashMap
  • singleTask startup mode
  • Some open source frameworks used, introduce an internal implementation process that has seen the source code.
  • Message mechanism implementation
  • Internal implementation of ReentrantLock
  • App startup crash exception capture
  • Introduction to event delivery mechanism
  • Optimization of ListView
  • Binary tree, given the root node and target node, find the path from the root node to the target node
  • Pattern MVP, MVC introduction
  • Realization of Resumable Transmission
  • Collection of interfaces and specific implementation classes, introduction
  • TreeMap implementation
  • synchronized与ReentrantLock
  • Handwritten producer/consumer model
  • Logical address and physical address, why use logical address
  • An unordered, non-repeating array, outputs N elements, so that the sum of N elements is added to M, * gives time complexity and space complexity. Handwriting algorithm
  • Android process classification
  • The foreground switches to the background, and then back to the foreground, the Activity life cycle callback method. Pop Dialog, life cycle callback method.
  • Activity start mode

IQIYI

  • The function and principle of RxJava
  • The use of RecycleView, principle, RecycleView optimization
  • Reasons for ANR
  • Four major components
  • How to open the service
  • How Activity communicates with Service
  • Communication method between activities
  • The implementation of HashMap, the difference with HashSet
  • JVM memory model, memory area
  • Keyword used synchronously in Java, deadlock
  • MVP mode
  • Java design pattern, observer pattern
  • Life cycle comparison between Activity and Fragment
  • Broadcast usage scenarios

Baidu

  • What should I pay attention to when using Bitmap?
  • Can Oom try catch?
  • How does a memory leak occur?
  • What are the similarities and differences between adapter mode, decorator mode, and appearance mode?
  • How is ANR generated?
  • What is the difference between String buffer and string builder?
  • How to ensure thread safety?
  • java four references
  • Has Jni used it?
  • Have you ever met a multi-process scene?
  • Regarding the handler, what thread is the new handler everywhere?
  • SQLite upgrade, adding field statement
  • bitmap recycler related
  • If a strong reference is set to null, will it be recycled?
  • What cache does glide use?
  • How to control the size of Glide memory cache?
  • How to ensure the safety of multithreading to read and write files?

Ctrip

  • Activity start mode
  • How to use the broadcast, the scene
  • How to wake up other processes in App
  • The role and understanding of AndroidManifest
  • The difference between List, Set, Map
  • How do HashSet and HashMap judge the duplicate of set elements
  • Memory area and garbage collection mechanism in Java
  • EventBus function, implementation method, instead of EventBus method
  • The main steps to turn on the camera in Android

NetEase

  • concurrenthashmap
  • volatile
  • synchronized与Lock
  • Java thread pool
  • wait/notify
  • NIO
  • Garbage collector
  • Activity life cycle
  • AlertDialog, popupWindow, Activity difference

Xiaomi

  • Why should String be designed to be immutable?
  • Fragment life cycle in various situations
  • The life cycle when the home button is pressed when there is a Dialog on the Activity
  • When switching between horizontal and vertical screens, the life cycle of Activity in various situations
  • The difference between Application and Activity context objects
  • The role of serialization, and the difference between the two types of serialization in Android.
  • Implementation and storage methods of List and Map.
  • The design intent of the static inner class.
  • How to shut down threads and how to prevent thread memory leaks

The above are some of the more common Android interview questions of some big companies that have been compiled on some face-to-face sharing platforms. I hope to help everyone. Finally, I would like to ask everyone: "In real interviews, especially in large companies, there are no questions about the rules. Law, only strength can win."

Sorted out real question analysis screenshot display

table of Contents

Part of the binder review content

Handler part review content

Architecture design and design pattern review content

At last

In many companies, especially big companies such as BATJ, they especially like initiative and active talents. Active people are better at overcoming current difficulties and doing things well. After encountering setbacks, it is easier to adjust their mentality. And actively promote the project. In this regard, whether it is for the entire process of review preparation or the communication process of the subsequent interview, experienced interviewers can capture some of your character strengths and weaknesses by communicating details with you. In short, proactive and optimistic people are more conducive to future development. This applies not only to interviews, but also to future work development. So, for the annual salary of one million, act quickly!

If you think this article is helpful to you, or friends who need to analyze the PDF of the actual interview questions compiled above, you can click here to get it quickly after you like + comment !

Guess you like

Origin blog.csdn.net/star_nwe/article/details/112531327