Some questions asked by the Android interviewer, after reading this article, there is no offer that cannot be obtained

background

I graduated from the School of Computer Science of Central South University in 2020. After graduation, I have worked in Huawei for more than two years and have been engaged in Android development. Then at the end of last year, due to some reasons of my own, I planned to leave my job and take a look outside. At that time, I submitted a lot of resumes, and then went to interview for Xiaohongshu, Kuaishou, iQiyi, WeChat, Xiaomi...etc. There are many large factories and small factories, and the following are some of the questions that the interviewer asked me after each interview I recorded (ps: basically very comprehensive), and I have summarized some for everyone to see.

To put it simply and rudely: with the least time and the highest efficiency, let you know: if you want to get an Android engineer offer, you have to read it carefully

insert image description here

Due to the length of the article, only part of the content can be displayed. Friends who need complete interview questions can get it at the end of the article

Xiaohongshu Android Development Engineer

one side

Java aspect

1. The difference between static variables and instance variables
2. Static variables are modified with the static keyword. Static variables do not belong to an instance object, but belong to a class, also called a class variable. As long as the program loads the bytecode of the class, there is no need to create any The instance object will be allocated space and can be used, that is to say, if you create multiple objects, they share a static variable, and the instance object is unique to itself and will not be shared! (Class.var can be used), located in the method area
3, the instance variable must be created after the object can be used through this object. That is, new Class().var, located in the heap area
4, "==" & equals()
5, shallow copy & deep copy
6, HashMap, expansion mechanism
7, if multiple threads share multiple resources, how to ensure safety
8 、volatile,CAS/ABA

Android side

1. Event distribution mechanism
2. Handler principle
3. TCP UDP
4. The difference between Kotlin and Java

Kuaishou Android Development Engineer

one side:

1. There are n points on a plane, and k lines are found to pass through the max points.
2. There are 100 interviewers, each of whom needs four rounds of interviews, how to assign interviewers

Two sides:

1. Hand tearing: the longest monotonous interval
2. Android/ layout optimization
3. Activity startup mode
4. Difference between RecyclerView and ListView
5. Handler mechanism, why the loop method does not cause ANR
6. View drawing process
7. SingleTop and standard startup mode Next, what is the difference between life cycle callbacks
8, the difference between onStart and onResume
9, the three major characteristics of Java/object-oriented
10, the difference between Array and Linked 11
, the bottom layer of HashMap
12, the inter-process communication method
13, the difference between equals and ==
14, between threads Locking method
15, know what design pattern
16, different uses of synchronized
17, exception
18, thread pool
19, method of creating thread
20, OS/ deadlock

Meituan app android development engineer

one side

1. jvm memory model
2. new object process
3. class loading process 4.
ClassLoader source code
5. final keyword 6.
anonymous inner class
7. talk about garbage collection algorithm
8. LinkedList && ArrayList
9. hashMap
10. common annotations, Notes in spring
11, lock, synchronized underlying principle
12, https && http
13, the process after the browser enters the address
14, status code 303 304
15, the design pattern you know
16, the singleton mode said double verification lock, Static internal class, how to choose in different scenarios
17. Why do double-checked locks need to be judged empty twice
18. volatile, instruction rearrangement

Android development engineer related to Douyin e-commerce under ByteDance

one side:

1. Architecture learned in practice
2. MVVM
3. Dagger principle
4. Livedata principle
5. Process and thread
6. Operating system IO model
7. Process communication method
8. Pipeline communication principle
9. How to achieve reliable transmission with TCP protocol
10. UDP How to achieve reliable transmission
11, java create thread
12, thread pool principle
13, thread pool rejection strategy
14, the difference between synchronized and reentrantlock implementation methods
15, AQS principle
16, handler principle
17, Retrofit principle

algorithm:

1. Binary tree right view - non-recursive implementation

Two sides:

1. Advantages and disadvantages of Navigation
2. How to implement the custom navigate method to switch fragments, and how to make the covered fragment perceive the life cycle 3. How
gc judges garbage objects
4. The difference between member variables and local variables, the value of local variables must be Is it stored in the heap? ()
5. Timing of jvm class loading
6. Jvm class loading process
7. What is the parent delegation mechanism
8. When will the parent delegation mechanism be destroyed
9. What is memory leak
10. The role of volatile
11 , write a deadlock

algorithm:

1. Determine whether A is a subtree of B

Three sides:

1. How did I learn Android?
2. Tell me about your needs during the internship.
3. Tell me about the difficulties during the internship.
4. Who did you get in touch with more during the internship
? 5. How to communicate with others
. 6. About the internship Harvest
7. Pick a project and talk about it
8. Liskov substitution principle
9. HTTP status code
10. HTTP multiplexing
11. Database
12. What offers did you take?

algorithm

1. The numbers represented by Chinese characters are converted into Arabic representations.

The above interview questions have been sorted into "174 questions that must be tested by major Android interview companies", scan the QR code below, and you can get it~

"Android interview big factory must test 174 questions"

Table of contents

insert image description here

at last

I have always felt that technical interviews are not exams. Before the exam, you memorize the questions, send you a test paper, and hand in the paper after answering. In fact, I think the technical interview is a process for us to know ourselves, and let us know how different the requirements of this position are compared with ours.

More importantly, a technical interview is a two-way understanding process. Let the other party discover your shining points, and at the same time discover the other party’s shining points, because he may be your colleague or leader in the future, so the interviewer asks you When there is any problem, don't say there is no problem, but try to understand his job content and the working atmosphere of the team.

Looking for a job is nothing more than looking at these three points: what to do, who to be with, and how much money to give. You must have such a division in your heart for these three.

I hope this information can help you who are browsing this article to successfully find a job you are satisfied with! !

Guess you like

Origin blog.csdn.net/datian1234/article/details/130139773