preface

I am a double non sophomore students, the face is a byte mobile client. First of all, I would like to thank my senior orz for helping me with my internal promotion. He has given me a lot of help from the delivery to the completion of the three aspects

Byte one, two, three sides

One side (1h4min)

Date: (6/15)

  • To introduce myself
  • Introduce MVP, and MVC difference, advantages, view layer and model layer can interact directly?
  • Introduce the difference between MVVM and MVP.
  • The life cycle of an Activity, starting from Activity A changes the life cycle of Activity B.
  • Handler, which needs to be noticed when using.
  • Handler a method to prevent memory leaks.
  • Recovery time of WeakReference.
  • Several singleton patterns, in detail lazy style.
  • Volatile.
  • Know what thread-safe collections are.
  • ConcurrentHashMap.
  • What is optimism lock?
  • Lock escalation.
  • Consumer producer model. (Operating system has not learned 😅)
  • Inner classes.
  • Anonymous inner classes and static inner classes.
  • Why an inner class can access an external variable.
  • The class name of the inner class in the bytecode is not the class name defined by the inner class.
  • Disturbance function.
  • Equals method and HashCode method function and connection.
  • How sliding conflicts are resolved in projects.
  • What methods to handle sliding collisions, and what methods to override for external interceptions. (Here is a bad answer, pulled up the internal interception method 😄)
  • Algorithm: high – aligned version of the two numbers added.
  • Rhetorical question.

A lot of questions. That’s all I can remember for now

Second side (33min)

date:6/17

  • Introduce the project.
  • How to encapsulate the SP class. I’m fw Boo-boo for SP tool class optimization.
  • Is SP thread safe? Process safe?
  • SP thread safety implementation principle, if you had to implement your own process safety, what would you do?
  • The solution and principle of sliding conflict in the project, I said that I had read the source code of event distribution mechanism, and then the interviewer said that you must have read the source code of RecyclerView. Recyclerview of the cache mechanism said.
  • Advantages of RecyclerView.
  • How long can I practice?
  • Algorithm: Spiral matrix II.
  • Rhetorical question.

Three sides (50min)

date:6/21

  • To introduce myself
  • Has the event distribution mechanism been used specifically?
  • Given a scenario, each item in a ListView has a button. If you hold the button all the time, how will the screen slide and how will events be distributed? (This is a very detailed question, and the interviewer is leading the answer in many aspects.)
  • The same listView, if there are two buttons overlapping each other, which one will be distributed to, and if it’s you, how will you design it?

View draws the process, which is not visible on screen when the onResume method is called. (Here I reply to determine if ViewRootImpl is initialized)

  • How else can you tell besides whether the ViewRootImpl is initialized?

Algorithm: Print an XML layout.

  • We know what sets. (Here I answer ArrayList,HashMap)
  • ArrayList and LinkedList internal implementation, differences, usage scenarios.
  • How to iterate over a collection, here the interviewer wants me to answer Iterator.
  • Ask the project.
  • Rhetorical question.

To a HR face begged 🙃(inner monologue)

Result 6/23 update: Received offer.

What have I done to prepare for byte interviews?

(a) adjust their attitude, the correct face of gains and losses

The common problem in the interview, mainly is the mentality, the interview adjustment mentality is the first, how to adjust into the best mentality? Many job seekers in the interview process their thinking is not clear, language is not fluent, speak illogically, will constantly deny themselves, in the final analysis is the interview mentality, so it is very important to adjust their mentality, the correct face of gains and losses, my method is to give myself enough psychological hint.

(2) Upgrade technology and broaden knowledge

For programmers, the only way to grow into a great man in the industry is to constantly improve their skills, broaden their knowledge, and reach a certain height and depth through learning. So how to improve their own technology, broaden their knowledge reserve?

The following are some materials I have sorted out personally. Please get them at the end of the article if necessary. I hope I can provide some help to you:

MVP mode details

Activity in its entirety

HandlerThread,

Android Memory Optimization

AsyncTask,

IntentService,

Android Context,

Multithreaded breakpoint continuation

Principle of thermal repair

Android push technology analysis Android open source library set

The last point I want to emphasize for the interview is that your attitude is really important, which is the key to determine your performance in the interview process. If you can’t play well, you may lose the offer due to a small mistake, so you must pay attention to it. Another point to remind, full review, is the key to eliminate your nervous state of mind, but you review enough, the natural interview process will be much more confident.

All the learning materials and interview materials in the above content can be provided free of charge. I hope everyone can be happy and successfully win their desired offer!

Last reminder: all the above sorted PDF, can be shared free of charge, friends in need,[Click here]Into the group! Contact the administrator for free! Join our circle to receive information, and learn to communicate with us! ~