I took part in the interview of Bytedance and Huawei in October. Although I only got the offer from Xiaomi, I am satisfied with it. I want to share my experience and help more colleagues who want to work in big factories like me.

To introduce myself

I graduated from Nanjing University of Technology in 2014. Until now, I have been working on this road of Android development for 6 years. In the past six years, I have witnessed the “boom and bust” of the mobile Internet. My colleagues all changed their industries and the market conditions I saw were bleak.

Today, Android is no longer in its prime, but “it” is still Android, and it’s still the friend THAT I live with, that stays with me day in and day out. So, I will never give it up.

All right, that’s about it, let’s get down to business; ** Although I didn’t get two offers, I went to the end of the interview with Bytedance and didn’t get an offer, which was a pity. ** You should watch this as cool classics;

10.06 Byte dance cool by essay

I started sending out resumes in August and September, and at the beginning I got a lot of calls for interviews. There are many, but some companies I really don’t want to work for. The salary is too low.

Refuse, waiting for the time soon came to the October 6, 2, 3 o ‘clock in the afternoon, when I was review the interview questions, phone knocked off, after answering a voice is a nice girl, she said she was bytes of HR, asked if I was in the XXX department of our company’s Android research and development work, I say yes. She then asked me if I had time in the evening and asked me for a video interview. I said yes, and bytedance’s first round of technical interviews began at 8 p.m.

Bytedance Side: Technical side (phone side)

  • Introduce yourself + introduce the project
  • Activity lifecycle, what does each callback method do?
  • Event distribution mechanism
  • A memory leak
  • Ever run into a sliding conflict? Sliding conflict resolution
  • How do you unit test, how do you keep your App stable?
  • How do you check if an object is reclaimed in Android?
  • How to compress the size of Apk?
  • How to configure multichannel packages through Gradle?
  • Plug-in, componentization, hot repair principle analysis

After about an hour on the phone, the interviewer rushed through the interview. When I thought I was going to hang up, HR asked me for a second meeting in the afternoon of the third day.

Bytedance Two Sides: Technical side (video side)

  • Deep excavation project
  • Activity life cycle: what is the state when A starts and B starts?
  • The difference between surfaceView and normal View
  • Bitmap loading is efficient
  • Thread communication between the handler
  • A memory leak
  • Why can handler thread switch
  • What does the Rxjava Map keyword do
  • How to get a view of the wide high, how to determine the value is accurate, said the post () added viewTreeObserverOnGlobalLayoutListener
  • How to decouple getViewType using RecyclerView to get different cards?

The overall feeling of the second interview is good, 90% of the point. Half an hour later, HR called me and asked me if I would consider working in Beijing. Because I am from Liaoning province. After graduating from university, I stayed in Beijing for 4 years. In these two years, I returned to Dalian because of the problem of urging marriage in my family. After thinking about it for a long time, I told her THAT I would give you the news two days later, and two days later, I went to Beijing again.

Bytedance three Sides: Technical side (field side)

HR told me that after I came to Beijing, I would tell her about three meetings. I arrived in Beijing on the evening of the 11th and had a sleep after putting down my belongings. The next morning, I called HR and made an appointment for an interview on the 15th. I don’t know if it has been too long since the on-site interview. I was so nervous during the interview that I couldn’t answer all the questions I knew, and I missed Bytedance regrettably.

  • Project dig

  • ARouter routing principle

  • How do I manage too many routing tables?

  • How do you optimize for slow network requests while watching videos?

  • What are the improvements to HTTP3.0?

  • After the launch of the App, how can users view the lag when using the App?

10.24 Millet hot classics essay

Bytedance was supposed to go back to Dalian after HANGING up with me. But more think more unconvinced, simply sent a resume to Beijing of all Internet big factory. The effort pays off. On October 24, I finally got an interview invitation from Xiaomi. After four technical exchanges with interviewers, I successfully got the offer from Xiaomi.

  • Android event distribution mechanism, please describe the process in detail

  • Android View drawing mechanism and loading process, please describe the whole process in detail

  • Level 3 cache of images, images are loaded into memory, and if memory is bursting, what happens? How to deal with it?

  • A->B->C->D->A->B->C->D ->B->C->D->A->B->C->D

  • What is the difference between Service life cycle and startup method

  • Handler, Looper message queue model, the role of each part

  • Principle of Binder

  • Describes a cross-process communication

  • The Bitmap handle

  • Implementing a network framework by hand (see Volley)

  • Plug-in framework description: dynamicLoadApk as an example

  • Principle of hot repair

  • Asynctask is related to thread pool, GC (how to determine which memory to use for GC, GC algorithm)

Summary of two interviews: Xiaomi + Bytedance

There are three things in life; Loss, give up, gain;

Although the bytedance interviewer in the three sides of the failed me, but unexpectedly I got xiaomi’s offer, this is not to say that the byte is not good ah, if the byte did not fail me, I may be into the byte. There is no millet behind this thing, so it is still very good to lose, I also quite satisfied.

At present, I have been working in Xiaomi for nearly half a month. Bytedance’s cool experience and Xiaomi’s hot experience are shared to help more colleagues and friends who want to join the big factory like me, so that they can have a reference before the interview. Some should not go to the pit as far as possible, and finally hope that you can get the ideal offer.

Interview questions for reference

Android interview knowledge point: Android interview knowledge point reference. Github

AMS, PMS interview

Bytedance Android Framework (AMS)

Bytedance Android Framework Interview Questions (PMS)

These are the questions that 99% of interviewers ask about custom views.

Recommend books before the interview

Exploring the Art of Android Development by Ren Yugang

Android Source Code Design Mode

Understanding the Java Virtual Machine

Java Programming Ideas

At the end

Those who study together can pay attention to my public number – ❤️ [Program ape development plan] ❤️ will regularly do technical stages every week. Come and study with me!