Flutter technology stack! Angrily won offers from 30 Internet companies and sent a copy to the big factory!

What is a midlife crisis

According to authoritative data, the heyday of domestic IT programmers is around 25-27 years old. For programmers, 30 years old is a 38th line. Then there is the transfer of jobs. This is a consensus in the industry.

The general age to enter the IT industry after graduating from university is also around 22 years old, but between 22-30 years old is about 8 years, then 27 years old is the beginning of the “middle-aged” career, then as a programmer, you have Are you ready to survive the "mid-life crisis"?

When programmers reach the age of 28, the "middle-age crisis" is not the same. This age is also the peak period of work accumulation for programmers. Some programmers have changed several jobs, and some programmers have been in a company. I have done several large-scale projects, and even some programmers have assumed the role of project leader, and their salary has risen from a few thousand to tens of thousands. The family members of the partners who have not yet got married have started to marry, and then buying a car, buying a house and having children, is also one of our top tasks to support the family.

Java basics

  • Java Object class methods
  • HashMap principle, Hash conflict, concurrent collection, thread-safe collection and implementation principle
  • The difference between HashMap and HashTable
  • HashCode function, how to overload the hashCode method
  • Difference and connection between ArrayList and LinkList
  • GC mechanism
  • Java reflection mechanism, Java proxy mode
  • Java generics
  • Synchronized principle
  • Volatile implementation principle
  • The meaning and difference of method lock, object lock and class lock
  • Methods of thread synchronization: Synchronized, lock, reentrantLock analysis
  • Types of Java locks: fair locks, optimistic locks, mutual exclusion locks, segment locks, bias locks, spin locks, etc.
  • Principle and usage of ThreadLocal
  • Usage and examples of ThreadPool
  • The difference between wait() and sleep()

Java Advanced

  • Java virtual machine, Java operation, Java GC mechanism (reachability analysis method, reference counting method)
  • The complete life cycle of Java objects
  • JVM memory model
  • Inter-process communication, inter-thread communication
  • JVM class loading mechanism
  • Java reference types
  • Design patterns: In addition to common design patterns, special, reflection mechanisms, and proxy patterns
  • HTTP protocol and HTTPS protocol
  • Socket protocol, Socket realizes long connection
  • TCP and UDP protocol
  • The concrete realization of GET and POST in HTTP protocol
  • Serialization and deserialization
  • The realization principle of thread pool
  • Basic knowledge of database: multi-table query, index, database transaction

Data structure and algorithm

data structure

  • Stack and queue
  • Array and linked list, customize a dynamic array
  • Hash table, and the resolution of Hash conflicts
  • Binary tree
  • B+ B-tree
  • Basic sorting algorithm: focus on fast sorting, merge sorting, heap sorting (big root heap, small root heap)
  • Optimization of fast queue
  • Binary search and variant binary search
  • Huffman tree, red-black tree
  • String operation, string search, KMP algorithm
  • Graph BFS, DFS, prim, Dijkstra algorithm (high-level skills)
  • Classic problem: the processing of massive data (the problem of finding the largest 10,000 number TOP K among 1 billion numbers)

algorithm

  • Divide and conquer algorithm
  • Dynamic programming
  • how are you
  • Branch and bound

Android basics

  • Application life cycle
  • Android Activity life cycle
  • Android Service, IntentService, Service and communication between components
  • Activity's onNewIntent
  • Fragment lazy loading implementation, parameter transfer and storage
  • Detailed ContentProvider instance
  • BroadcastReceiver use summary
  • Android message mechanism
  • Binder mechanism, shared memory implementation principle
  • Android event distribution mechanism
  • Implementation of Android multithreading: Thread, HandlerThread, AsyncTask, IntentService, RxJava
  • How ActivityThread works
  • Implementation principle of nested sliding
  • RecyclerView and ListView (caching principle, difference connection, advantages and disadvantages)
  • View drawing principle, custom View, custom ViewGroup
  • View、SurfaceView 与 TextureView
  • Why the main thread Looper.loop does not cause an infinite loop
  • ViewPager cache implementation
  • The difference and connection of requestLayout, invalidate, postInvalidate
  • New features of AndroidP
  • Android two virtual machines
  • ADB commonly used commands
  • The difference between the Asset directory and the res directory
  • Getting started with Android SQLite

At last

That’s all for today’s sharing of interviews. It’s the same sentence. There are some things that you must not only understand, but also express them well, so that the interviewer can recognize your understanding, such as the Handler mechanism. This is a must-question question in the interview. . There are some obscure points, maybe it only lives in the interview, you will not use it at all in actual work, but you have to know what it is.

Finally, the editor here shares a collection of dozens of interview questions from Tencent, Toutiao, Ali, Meituan and other companies related to the above-mentioned technical system diagram. The technical points are organized into videos and PDFs (actually better than expected I spent a lot of energy), including knowledge + many details . Due to limited space, I will show you a part in the form of pictures.

There are also  advanced architecture technology advanced brain maps, Android development interview topic materials , advanced advanced architecture materials to help you learn to improve the advanced level, and save everyone's time to search for materials on the Internet to learn, and you can also share with friends around you to learn together.

Android learning PDF+architecture video+interview document+source notes collection

[Android core advanced technology PDF document, analysis of real questions in BAT interview]

[Algorithm Collection]

[Extend Android essential knowledge points]

[Android part of the advanced architecture video learning resources]

MuuFPT-1611211152043)]

[Extend Android essential knowledge points]

[External link image is being transferred...(img-XyduYxUJ-1611211152044)]

[Android part of the advanced architecture video learning resources]

After receiving and learning the Android Introductory Video, it is even more powerful! Enter the BATJ factory and so on (preparation)! It is said that the Internet is cold. In fact, it is nothing more than you got on the wrong car and you wear less (skills). If you get on the right car and your own technical ability is strong enough, the cost of replacing the company is high. How could you be laid off? It's just to eliminate the end business Curd! Nowadays, there is a flood of junior programmers in the market. This set of tutorials is aimed at Android development engineers who are 1-6 years old. They are in a bottleneck period. Those who want to break through their salary increases in the next year, advanced Android intermediate and senior, architects are even more important to you. Like a fish in water, get it quickly!

Guess you like

Origin blog.csdn.net/CHAMPION8888/article/details/112945480