It is said that the situation this year is not good, and various job hunting is not smooth, but there is a classmate beside me who got the offer in every interview, I specially invite him to share with you his experience, although different people may not have the same technical field, but many things are similar, I hope this article can help you.

preface

In August, I went out for interviews one after another to see my value and the current market. Generally speaking, I was quite satisfied. Interviewed several well-known factories, and got the offer. They are Xiaomi, Meituan Takeout, Momo and Kuaishou.

How to write a resume

A good resume is often twice the work. My average job experience is one hop a year, so why are there so many job interviews? Boss direct hire often has many RDS in the resume, they are often the leader of the employing department, therefore, outstanding professional skills and the work done in the past year is particularly important. Here is a list of my skills.

Familiar with object-oriented programming, familiar with Java, Kotlin and other development languages, have a certain understanding of concurrency, JVM, etc

Familiar with Android development and understand Android version differences

Familiar with custom View, animation and other skills, familiar with message, event distribution and other mechanisms

Familiar with Android performance optimization, able to use tools to deal with performance problems in work

Familiar with NDK programming and JNI

Familiar with common open source frameworks and understand their internal implementation principles

Familiar with Javaassit, ASM, AspectJ and other bytecode modification technologies

Familiar with Java layer Hook and Native layer Hook, able to make reasonable use of and solve practical problems

Familiar with Gradle, able to write gradle plug-ins according to requirements

Have in-depth research on Android plug-in, hot repair and so on

Familiar with common design patterns and able to design good code

Have some understanding of TCP/IP, Http, and Https

Understand Android FrameWork and some of its processes and implementation principles

Have a certain understanding of Android reverse, have a certain ability to unshell

Have some structure ability and strong problem solving ability

In addition, I have been working in infrastructure for the past year, so my resume will be attractive.

Preparation for an interview

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 (although only the algorithm was prepared for the interview in August).

  • 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 take-away

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.

This article is not easy, if you like this article, or helpful to you hope you more, like, forward, follow oh. The article will be updated continuously. Absolutely dry!!