Android development: Ali, Byte, Pinduoduo, Meituan's interview experience summary (OC), know yourself and your opponent, and you can fight forever!

Read the preface

With the arrival of October in a blink of an eye, I am very impressed by the passing of this time. October is of great significance to our developers. If you want to survive in this survival of the fittest code world, gold 3 silver 4, gold 9 silver 10 , this kind of opportunity to learn and advance, please don't miss it;

I am engaged in Android development. It has been 3 years since I graduated from university and worked for 3 years. 3 years ago, when I was recruiting at school, I was dumb and speechless by the interviewer. I was blushing and I threw down the idea of ​​entering a big factory. Later, I came to my last company. In the three years of working, I learned a lot and gave up a lot.

In fact, as early as June, I left the idea of ​​my last company. The reason is that I don’t need to make redundant explanations. You only need to know that if the first-line technicians in a company can’t learn something, they should take the initiative. has resigned.

After resigning decisively until I joined Ali again, a full 3 months have passed during this period. The efforts made during this period are obvious to all friends around me. Nothing else, from my return home to September (I am 9. The first interview on the 6th) I did not sleep more than 6 hours a day. Day after day I read the interview questions, read the source code, flipped through the materials, and watched Android advanced learning videos, just like I was preparing for the college entrance examination. In the same state, he was holding up the energy of working hard.

Speaking of it, I was lucky. In the Ali interview, the second round of technical interviewers were all the same person (one side and three sides) plus I answered better in the first interview, and maybe I also mentioned a lot of points in the mind of the interviewer. Finally got the offer

During the interview, ByteDance, Pinduoduo, and Meituan were also interviewed. The third side of ByteDance died (the reason is not certain, it may be that the interviewer has a favorite candidate! I feel that I can answer it well) Pinduoduo got it Offer and Meituan were killed by the interviewer on both sides . Sharing a wave of experience is just to prevent everyone from entering the pit in the interview at the Internet company. It can be regarded as a summary of an interview for yourself!

Alibaba

Most valued project experience

Ali generally has four rounds of interviews (three rounds of technology + HR), the technical aspects of which are about the implementation mechanism, the improvement of the technical plan, the areas that are considered insufficient, the implementation principle of the technology stack, and whether there are other alternatives. The realization principle and so on.

Pay attention to technical principles

You can’t just understand the implementation mechanism of the project you do, you must know the implementation mechanism, so you usually have to work hard to understand the project’s componentization, process, View, and architecture. To understand the principle level, I don’t think it's useful to temporarily hold back. , Or think more and summarize more in daily development.

The written part is very important

Some company technical managers may not need to write code, and temporarily come up to fulfill a business requirement, and may be caught up. Therefore, they usually need to practice more. There is no code hint for general codes. They need to be familiar with conventional functions and pay attention to variable naming. Usually develop good naming habits.

Value every interview opportunity

Ali can change the department if you have a department, but there will be interview records. If the interview record is poor, the interviewer will take some risks to let you pass, so I pay attention to every opportunity to face Ali. I heard that many people are It took me three times to come in, each time it took more than half a year.

阿里的面试官一般都是从一个点开始,抽丝剥茧,一层层深入,直到你回答不出来,再换个问题开始继续“俄罗斯套娃”,当然问题不会脱离你简历里写的技术栈,所以还是那句话,重视每一个你写在简历上的技术点。

Byte beating

Pay attention to algorithms

It’s basically useless if you don’t brush questions. Of course, unless you have strong algorithmic skills, when I didn’t say it;
each round of interview has 1 to 3 algorithmic questions, and the difficulty varies from person to person. Generally speaking, the previous items and basic technology are good, just It will be difficult to say easy or medium. If you don’t talk well before, or you don’t know the interviewer, it may be difficult.
Here is a tip to share: the same type of brushing together can generally be divided into these categories: linked list, tree, graph, dynamic programming, greedy, state machine, etc.
这里分享个技巧:同类型的一起刷,一般可以分为这么几类:链表、树、图、动态规划、贪心、状态机等。

Pinduoduo

Value the project

I remember that at the beginning of the first round of interviews, the interviewer began to ask about the project, how to achieve this function?
In the three rounds of technical aspects as a whole, the interviewers’ inquiries on the project accounted for at least 40%. This shows that Pinduoduo’s interviewers have a good level of project technology.

(PS: I gave a lot of money. I got an offer of 40k with a salary of 16 but I got off work very late. The average home is more than 1 o'clock. I only have one day off a week.)

Meituan

Like to ask fragment, NDK

Meituan’s test questions on principle are the most difficult and the most difficult among all the companies I interviewed. It covers a wide range, but most interviewers like to ask about the underlying implementation of fragment and NDK. As a result, I didn't know if I asked three questions, and I felt miserable on both sides.

After clearing the interview key points of each major company, you can improve your efficiency in writing questions and preparing for the interview. Next, I also prepared the Android interview materials I have used from major Internet companies (①Android core knowledge summary PDF +②Android Interview Questions for Internet Companies)

1. Java basic interview inspection points

  • JVM workflow

  • Runtime Data Area

  • Class loader

  • Garbage collection GC

  • String、StringBuffer、StringBuilder

  • interface

  • HashMap

  • Singleton mode

  • Thread attributes, status, status control

  • synchronized

  • volatile

2. Android basic interview inspection points

  • Activity: life cycle, startup mode, startup process

  • Fragment: Features, life cycle, communication with Activity

  • Service: startup process, binding process, life cycle, enabling foreground service (registration process), BroadcastReceiver, ContentProvider, data storage

  • View: Basic flow of MeasureSpec, MotionEvent, VelocityTracker, GestureDetector, View sliding, Scroller, event distribution, custom View, Draw

  • Process: the life cycle of the process, multi-process, OOM_ADJ

  • Parcelable interface: Parcelable and Serializable comparison

  • IPC: IPC method, Binder, AIDL communication, Messenger

  • Bitmap: common operations: cropping, zooming, rotating, moving, Bitmap and drawabl, conversion, saving and releasing, image compression, BitmapFactory, Bitmap creation process, Option class

  • Screen adaptation: (Toutiao, Douyin) adaptation scheme, Liu Haiping adaptation

  • Message mechanism: Handler mechanism, working principle (ThreadLocal, MessageQueue, Looper, Handler)

  • Thread asynchronous: AsyncTask, HandlerThread, IntentService, thread pool, RecyclerView optimization

  • Webview: WebView, WebSetings, WebViewClient, WebChromeClient, Webview loading optimization, memory leak

3. Android extended knowledge test points

  • ART: AOT compilation, garbage priority recycling, development debugging and tuning, GC

  • Apk package body optimization: Apk structure composition, overall optimization, resource optimization, code optimization, .arsc file optimization, lib directory optimization

  • Proguard: public templates, custom obfuscation principles

  • Architecture patterns: MVC, MVP, MVVM

  • Jetpack: architectural pattern

  • NDK development: JNI basics (data types, String string function operations, common methods for accessing Java), basic development principles, Cmake to build NDK projects, common Android NDK native APIs

4. Computer network interview inspection site

  • Http related: request message and response, message caching mechanism, HttpsHttp 2.0

  • TCP/IP: Three-way handshake, four waved hands, the difference between TCP and UDP

  • Socket: usage example

  • Class loader: parent delegation mode, DexPathList

Because the document has 1200 pages, the content is too much. There are also some design patterns, source code, and algorithm interview questions, so I won’t introduce them one by one.

 

In the near future, friends who need to change jobs in the golden nine and silver ten , this all-purpose Android interview survey point summary PDF is available for free;

In addition, there is a summary of interview questions from major manufacturers + advanced Android advanced mind map + Android source code notes + advanced learning videos are also available for free

to sum up

I am very fortunate and fortunate to come to Alibaba. This can help me learn more cutting-edge core technologies. I also firmly believe that good luck is always reserved for those who are prepared. Therefore, when you and I have goals , you need to keep working hard . If you are prepared, you will naturally get what you want and your goals will eventually be achieved. But if you have no thoughts but no action, you will be anxious when you are 30 years old and be eliminated by the market sooner or later.

The above content, I only hope that all colleagues in the same industry can have a clear self-awareness. If programmers want to be irreplaceable, they must improve their skills.

———— All the materials for the above Android study interview ( click me to join to get it in free package )

Guess you like

Origin blog.csdn.net/qq_39477770/article/details/109037974
Recommended