Double non-undergraduate scum challenged Xiaomi Android post. The interviewer said that my young man does not speak martial arts and won the offer on 4 sides.

I graduated from Guangzhou with a bachelor’s degree. I was fortunate enough to participate in Xiaomi’s job fair for 20 years. I submitted my resume at the end of August. I received the interview notice at the end of September. I feel that Huawei’s interview is still very tolerant to our fresh graduates. The atmosphere is very serious, but I have answered some of the questions I asked. Basically, the interviewer will check your mastery level, and it will be ok to reach the line they require. I have received a letter of intent for employment from Xiaomi, and share my face. For your reference, I hope everyone can enter your favorite company.


Interview process

Send your resume-notify one side-end on one side (notify that there will be two sides within a week)-end on both sides-receive the email, pass the interview, feedback the resume number registered on the official website-receive the personality assessment email-the process is on the official website Update-the official website process is updated to the hiring sequence-the offer is received. (It took 33 days from sending your resume to getting the offer)


Interview experience

On the one hand (the interviewer is a younger senior and feels a bit serious):

Come up first to introduce yourself, and then two algorithm questions:

1. The longest ascending subsequence in the array

2. Maximum sum of consecutive subarrays

Java:

1. When an anonymous inner class accesses a local variable, why must the variable be finalized?

2. The underlying data structure of HashMap? How to solve hash collision? What is the expansion mechanism?

3. Tell me about the difference between HashTable and HashMap?

4. Do you know LinkedHashMap, tell me?

5. Tell me about the difference between HashMap and TreeMap?

6. JVM memory area model? What is the specific role of each part?

7. What is the process of class loading?

8. The difference between synchronized and volatile

9. Is DCL necessarily safe? why?

10. What is instruction rearrangement?

Android:

1. How many ways to install apk? What is the installation process of apk?

2. Tell me which virtual machines have been used in Android? What is the difference between Dalvik virtual machine and ART virtual machine?

3. The Android system is based on the Linux kernel, why use a virtual machine?

4. Tell me about the event distribution mechanism? .

Rhetorical question:

1. What are your views on the future development of Android?

2. What does the department do?

Summary: In the morning, the condition is very bad, and simple questions will get stuck. I hope you can still choose the time when you are in good condition to interview...

Later, the interviewer directly informed me that I had passed and told me that there would be a second meeting in a few days


Two sides (this time the interviewer is an older elder with a strong aura, it is estimated that he is the technical director):

  • Introduce the project
  • Let me talk about the four major components of Android in detail.
  • Launcher starts the whole process of APP.
  • Icon save entry Activity information
  • AMS notifies the Launcher to pause.
  • Launcher notifies AMS that it has been paused
  • AMS checks whether the process has been started, if not, it starts the process. And call the main method of ActivityThread.
  • Notify AMS after startup
  • Then AMS passes the entry Activity information to the APP.
  • The APP starts the corresponding entry Activity, creates the corresponding context and calls the onCreate method of the Activity.
  • Inter-process communication, AIDL, Binder. After talking about how inter-process communication is usually done, I talked about what AIDL-related Demo implements. Speaking of the function of launching WeChat (that is, broadcasting) in my program.
  • Do you know the design patterns? Which design patterns have you used?
  • Algorithm question: Input a number n, which means there are n points, a two-dimensional array, and the two-dimensional array represents connected points, and it is required to output connected points.
    If n=6, the array is assumed to be { {1,2},{2,3},{4,5}}, then output { {1,2,3},{4,5},{6}}

Tucao, the two rounds of interviews scheduled at 9.30 and 10.30 this morning, I was also drunk for two rounds at a time. Then it dragged on for almost an hour before the face. The code status was really bad when I got up early. Both of these two questions were written in almost 20 minutes. I was really worried.

After an afternoon nap, I received a short message for passing the interview. The efficiency is still very high. I thought it was hung up, but the interviewer wanted to eat...


Three sides:

  • Let’s talk about the graduation topic, the most difficult problem encountered? How to solve it? The actual application scenario?
  • What projects did java do? Does the spike system follow the online course?
  • Find the number with the smallest absolute value in an increasing sequence with positive and negative
  • Evaluate yourself, what kind of work do you think you are suitable for? Which jobs are not suitable for?
  • What app do you usually use? Talk about the difference between Douyin and Station B
  • What are the points that users most likely care about with apps? How to solve the slow video loading?
  • What can you do with these apps from a design perspective or a client and code design perspective?
  • Personal career planning
  • 64 horses, 8 tracks, find the fastest 5 horses, what to do to minimize the number of races
  • The memory structure of jvm, what are they used for
  • What is OOM and how can it cause OOM
  • Talk about a few common Exception

HR noodles (<30 minutes):

  • Self introduction

  • The company's internship project
    talked about the principle of RePlugin framework, talked about the failure experience of ffmpeg dynamic link library development, talked about the adaptation of Android, and the adaptation of new features related to AndroidQ that have been affected recently.

  • The most difficult technical difficulty I have overcome in my university life.

  • Under what circumstances will be particularly stressful and how to deal with it.

  • Career planning
    ...

Taken together, it means understanding the personal situation, and the technical issues are all self-talking. Still very pleasant and relaxing.


Interview summary

I am definitely very happy to be able to get an offer from Xiaomi. I have joined Xiaomi now, and hope to join hands with Xiaomi and make progress together! Finally, I want to tell everyone that to do technology, you must have your own learning plan and learning method, and you must learn to continuously improve yourself before you can go to a bigger stage!

At the same time, there are no other tricks in the interview. It just depends on how well you prepare for these knowledge points . So, when you go out for an interview, it is good to see which stage you have reached in your review.

The Xiaomi interview questions shared above are just a small part of the analysis of the full set of Android interview questions! Here are the relevant 24 sets of Tencent, ByteDance, Ali, Baidu 2019-2020 interview questions that I have collected and compiled, and the technical points are organized into videos and PDFs (in fact, it took a lot more energy than expected), including Knowledge Context + Many details, due to limited space, here are some of them in the form of pictures.

In short, it is here to help everyone learn to improve their advanced level, and save everyone's time to search for information on the Internet to learn. You can also share with friends around you to learn together

Have you been ashamed in an interview recently? Do you lack interview questions to improve yourself?

Android learning PDF+architecture video+interview document+source notes

Come to get learning materials to improve yourself to challenge the BAT interview difficulties

Although the road will be bumpy in 2020, everyone is saying that Android is going to decline, but don't panic, make your own plans, learn your own habits, competition is everywhere, and every industry is like this. Believe in yourself, there is nothing impossible, only unexpected. I wish you all the best in 2020.

Give you some suggestions
1. When you encounter a problem, don’t just go directly to Baidu and Google without careful analysis.
2. When learning knowledge, don’t
memorize it without your own thinking and understanding 3. Remember to investigate the essential cause of a problem in depth
4. You must have your own knowledge points to summarize and sort out
5.
Learn knowledge points, without good practice, insufficient hands-on ability 6. Have your own learning methods
7. Determine goals and find effective learning methods

Guess you like

Origin blog.csdn.net/ajsliu1233/article/details/110846642