If you want to do a good job, you must sharpen your tools first. If you want to get a satisfactory offer, you must have certain preparation. ** The things listed below are the things I think should be prepared

  • As mentioned in your resume, be prepared and don’t dig a hole for yourself
  • Java preparation, Java basics, some companies will be very detailed, Java data structure-related classes, JUC, Java language design,
  • The JVM recommends reading the book understanding the Java Virtual Machine in depth
  • In the networking section, it is recommended to read the illustrated TCP/IP and HTTP books. If you are not satisfied, you can also read some other books, such as the detailed TCP/IP volume
  • For Android Framework, I recommend gityuan’s blog and take a look at the code for yourself
  • Third party open source library, this author keeps the habit of reading code all the time, so does not intentionally prepare
  • Algorithm, recommend to look at the sword point offer, leetcode just brush some questions, not too difficult
  • The algorithm problem that oneself collects
  • Usually gather some quality interview experience

Believe everyone has the method that oneself review, here did not say more.

The interview process

Good interviewers are going to find out what’s good about a candidate, and they’re going to ask questions based on what you’ve written on your resume, because, you know, make it clear. In the interview process, do not be nervous, to highlight their own characteristics, deliberately to their good direction guidance. Attitude is good, to be confident, if you don’t meet yourself, try not to say they don’t, think about it a little, highlight their ability to solve problems.

Here are some interview questions.

The interview questions

Millet company

Electrical face -20 minutes

  • Simply communicate your work experience
  • Talk about what you’ve done in the past year
  • Basically what’s on the resume

One side -40 minutes

  • Introduce previous work content
  • How do I count the process startup time, process startup process, and activity startup process
  • jvm gc
  • The difference between JVM heap and stack, stack allocation
  • The difference between the four citations
  • Performance optimization
  • handler
  • binder
  • Algorithm. Maximum return string. Stack with getmin function, time complexity o1, add two numbers

Second interview -40 minutes

  • To introduce myself
  • pluggable
  • Binder, after several copies of memory, from where to where,
  • okhttp
  • Across processes eventbus
  • 6 principles of design patterns, commonly used
  • Activity A to B lifecycle changes, when is the view displayed
  • Event distribution mechanism
  • pms activityrecord
  • Look at the source power
  • Jni, jNIenv, JNI thread switch
  • Performance optimization, FD Limit
  • Algorithm. Randomly print k numbers

Three sides – about 60 minutes

  • Tell me what you know about Android
  • The event distribution mechanism was discussed for a long time
  • MVP pros and cons, MVVM
  • Album search, design. For a long time
  • I told you a little bit about their business
  • Career planning

Meituan

Forget a lot of interview questions. On the one hand, the interviewer attaches great importance to technology, breadth + depth + foundation.

  • JVM memory partitions, those are thread private
  • Class loading mechanism
  • Something to do
  • The generic principle
  • One stroke algorithm
  • List to heavy
  • Slide collision for a scene ok, nestedScrollView
  • Gradle plugin related
  • The packaging process
  • TCP/IP protocol layer
  • HTTP request packet Response packet
  • HTTPS Link Procedure
  • I make the most amazing things
  • Asm AspectJ and other ways to change bytecode
  • Career planning
  • What kind of job
  • Why did you leave your job or something
  • hybrid

Momo

Momo interview questions did not remember much, generally speaking and other no big difference, is to investigate whether you do things really done, how the value.

  • Database optimization
  • Network optimization
  • Multiplexing, their own USE of UDP quIC
  • Reflection optimization
  • Talk about what you do,
  • Why did you leave your job or something
  • apm
  • Hot fix, Tinker

Well quickly

3 skills +1 HR

One side is Java, the other side is Android, the project and its own characteristics.

A Java

  • ArrayList LinkedList difference, scene, time complexity
  • Write a singleton. What does volatile do? Why
  • How is volatile implemented, memory barriers
  • How do I make GC not collect
  • HashMap data structure, disturbance function, expansion
  • Concurrency, locking, AQS, CAS, etc
  • Thread pool, thread pool principle, type. ForkJoin thread pools, bonus points for being the only one to mention ForkJoin thread pools in recent times.
  • Algorithm – Flip linked lists

The second face asks according to his resume

  • Proxy, static proxy, dynamic proxy, CGLIB
  • asm javaassit
  • Java Hook, native hook
  • Network protocol, TCP three handshakes, why three, four waves, why four, three
  • The message queue
  • Algorithm – Prints binary tree by layer

On three sides

Talk about business, talk about planning

conclusion

Generally speaking, the current market situation is general, so many companies prefer candidates whose skills can match the number of years. In my opinion, they prefer 3-year P6 and 5-year P7. It is suggested that job-hopping grasp these two time points.

Learn to share

In this age of information sharing, many resources can be found on the Internet, depending on whether you are willing to find them or the right way to find them

Many friends are not without information, most of them have dozens or hundreds of G, but disorderly, do not know how to look from where to look, or even forget after looking

If you feel that the information you find on the Internet is very messy and not systematic, I also share a set to you, more systematic, I usually myself often read.

2020 the latest ten thousand pages of big factory interview real questions

NDK module development, Android framework architecture…

Only systematic and directed learning, in a period of time to quickly improve their own technology.

This systematic study notes can adapt to the crowd: First, the learning knowledge is fragmented, and there is no reasonable learning route and advanced direction. Second, after several years of development, I was confused because I didn’t know how to make further progress. Thirdly, at the right age, I don’t know how to develop, such as transformation management or strengthening technical research. If you need it, I have here exactly why not come to get it! Maybe it will change your current state! Due to the large content of the article, the length is not allowed, part of the content not shown is shown in screenshots. If there is a need to obtain the complete documentation of friends click on my GitHub free access.