Android engineers reviewed the entire interview process of Xiaomi and Didi, and Netease's offer has been included in the bag

background

Time flies, and it has been several years since I graduated in 2016. Recently, I tried to apply for dozens of Android framework engineer positions, and I also interviewed several companies, including Didi Chuxing, Xiaomi, Hezhong New Energy, and Netease. , I finally received offers from Netease and Didi, Xiaomi failed on both sides, and Hezhong was still going through the process for a month, and finally I was lucky enough to join Netease successfully. But I have to feel that Didi’s leadership and HR are really very good, and I am very grateful for their constant care and guidance.

Dos and don'ts when interviewing

The resume should be prepared, the contact information must be correct, clear and eye-catching, the project experience should be explained in reverse chronological order, pay attention to describing the responsibilities you undertake in the project, try to choose a concise resume template, after all, most programmers still like simple and clear.

For veteran programmers like us who have worked for 3-5 years, the interview process is usually phone interview -> on-site interview -> HR interview -> waiting.

Don’t think that HR told you to go back and wait for the news is GG. They also have to discuss with your previous interviewer and then report to the leader. If they say they are not in a hurry, they may have to compare with other candidates, so HR will definitely ask you to go back and wait for the news. Doesn't mean you're screwed.

Prepare your self-introduction before the interview. It takes about 1 minute. You can write it on paper, and you can read it on the phone. When you arrive at the interview, you will basically memorize your self-introduction.

Prepare a solid foundation, this is the root of everything, without strength it is useless.

During the interview, you can guide your interviewer to the knowledge you know (I have met you and he doesn't ask what you know).

Don’t worry when encountering design questions. The interviewer is not here to let you design a perfect architecture with high-concurrency and high-availability design patterns in a few minutes. He just wants to see your thinking, see your ability to adapt, and then give you some tips. Can you adjust quickly.

There will always be offers, don't worry, treat the interview as a communication process.

knowledge required

The following are the questions I sorted out in the recent interview, so I won’t divide the company, because it’s meaningless, I’ll roughly record them in categories, and I only think of so many at the moment, but you must know that these questions are just the tip of the iceberg, even if you know it, you can’t do it Like this, the most important thing is a solid foundation and a clear mind.

Java interview questions :

basic knowledge

  1. Please write the equal method [String class] by hand, and talk about the specific principle? What is the equla method of the Object class?

  2. Please tell me the difference between String and StringBuffer, how to realize the bottom of StringBuffer? Can the String class be inherited and why?

  3. What are the similarities and differences between String a="" and String a=new String(")? How to understand the creation mechanism of String?

  4. Why is String in Java immutable (Immutable)? String design and implementation considerations? The benefit of String being immutable?

  5. ...
    img
    object-oriented knowledge points

  6. What are the four characteristics of object-oriented programming and their meanings? What are encapsulation, inheritance, and polymorphism? Why package? Why is single inheritance and not multiple inheritance?

  7. What is the difference between overloading and overriding? What is the difference between overloading and overriding binding mechanisms? Can a static method of a parent class be overridden by a subclass? Rewriting is dynamic binding, how to understand the mechanism?

  8. What is binding? How is static and dynamic binding different? What is the principle of dynamic binding compilation? How does dynamic binding work?

  9. What is the difference between interface and abstract class? What is the point of interface? What is the point of abstract class? How to choose abstract class and interface?


  10. img

java data structure

  1. What is the difference between System.arraycopy() and Arrays.copyOf() in arrayList? System.arraycopy() and Arrays.copyOf() code description?
  2. What is the difference between Collection collection and Map collection? What are the characteristics of the Map collection? Talk about the overall structure of the Map collection?
  3. What are the classes in the Java collections framework? What are the characteristics? The collection framework uses the Collection interface. What are the characteristics of this interface?
  4. How to expand ArrayList when adding elements? How to add elements to a specified position, is this operation a deep copy or a shallow copy?

img

Android interview questions:

Basic knowledge points

  1. Talk about the life cycle of Activity? Life cycle when screen rotates? What method is invoked by the exceptional condition?
  2. What should I do if the Activity in the background is recycled by the system? Tell me about the characteristics of the onSaveInstanceState() and onRestoreInstanceState() methods?
  3. How to avoid Activity rebuild when configuration changes? How can the low-priority Activity be restored to the state before it was destroyed after being recycled due to insufficient memory?

img
Advanced Knowledge Points

  1. Talk about the function of the message mechanism Hander? What are the elements? What the process is like? Simply tell us your opinion!
  2. What is the difference between the post method of Handler and the post method of view? Why do you say to avoid manually creating loopers in sub-threads?
  3. Can a new Handler be directly created in the child thread? What can go wrong and what to do?

  4. img

Performance optimization interview questions:

  1. What causes the white screen or black screen when the app starts? What are the solutions? Why set setBackgroundDrawable to null at the end?
  2. SharePreference performance optimization, can do process synchronization? How is it optimized?

img

Framework interview questions:

  1. What is Binder? Why use Binder? How is thread management implemented in Binder? Summarize what binder is talking about?
  2. What is the relationship between process and thread in Android? What are IPCs? Why is IPC needed? What might go wrong with multi-process communication?
  3. What is the workflow of Binder? What functions can Binder mainly provide? What is the principle of Binder communication mechanism?
  4. Why is Binder added as the main IPC method in Android? What is the operating mechanism of Binder? What are the advantages of the Binder mechanism?
  5. Several ways of cross-process communication in Android? In actual development, what scenarios use Binder for data transmission?
    img
    Android architecture interview questions:

1. Talk about the differences and advantages analysis of MVC, MVP and MVVM?
2. Can you give a few examples from Android to talk about the design patterns used?
3. What is the implementation and principle of Retrofit? What is a dynamic proxy?
4. Talk about the advantages and disadvantages of your comparison between Glide and Picasso?

img
Audio and video interview:

  1. What does SurfaceView do? The essential difference between SurfaceView and View? What are the advantages and disadvantages of SurfaceView?
  2. How does SurfaceView ensure the fluency of the UI interface? How to understand the double buffering mechanism?
  3. Why does SurfaceView update the screen in a new thread without blocking the UI main thread? Does it contradict the inability to operate the UI in the child thread?
    img

Summarize

No matter which company it is, it attaches great importance to high-concurrency and high-availability technologies, performance optimization, and the Android framework. The interview is a two-way selection process. Don't go to the interview with a fearful attitude, which is not conducive to your own performance. At the same time, you should not only pay attention to salary, but also whether you really like this company and whether you can really get exercise. In fact, I have written so much, it is just my own summary, and it may not apply to everyone. I believe that after some interviews, everyone will have these feelings. If these words can help you, that's the best, if not, it's my own record. Finally, I hope that everyone can find a company that suits them, and code happily. Finally , I wish you all the best in finding the job you want and getting a satisfactory offer!

Due to space limitations, the detailed information in the pdf document is too comprehensive, and there are too many details, so only some knowledge points are screenshotted for a rough introduction, and each small node has more detailed content! If necessary, you can click private message to get it.

img

Guess you like

Origin blog.csdn.net/m0_70749039/article/details/130648704