android network programming! Android post interviews with 12 major companies successfully quit, and have already got an offer

Preface

In September, I ran to Shanghai from Changsha to Shanghai for a month of interviews. In the middle of this month, I finally got the offer of a senior engineer from iQiyi.

I have been doing Android development for more than 4 years, but this year is the most fulfilling. I spent a year of hard work and gave myself a perfect transformation!

The sense of crisis that the wave of layoffs in the cold winter gave me

I graduated from an ordinary undergraduate and spent four years in Changsha, of which I only changed two companies. At this time last year, the company had to lay off employees if its performance was poor. The supervisor usually has a good relationship with me. He said that I was also in the retrenched test rate. He helped me to say a lot of good things to the leader before it was all right. I asked the supervisor to have a hot pot meal.

But I can't be as comfortable as before. Because I bought a house last year with a down payment. Originally thinking of getting a monthly salary of 8k after tax. Quite satisfied (8k is considered a middle-high level in Changsha)

Unexpectedly, I almost got eliminated when I asked for such a low level? ?

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
  • The 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
  • Thread synchronization method: Synchronized, lock, reentrantLock analysis
  • Types of Java locks: fair locks, optimistic locks, mutex locks, segmented locks, biased 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 (to find the largest 10,000 number TOP K problem 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
  • The realization 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's 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

What is included in the architect's foundation

It took me nearly half a month to understand : in-depth Java generics, annotations in simple language, concurrent programming, data transmission and serialization, Java virtual machine principles, reflection and class loading, efficient IO, Kotlin project combat, etc. Android architects The essential skills for foundation building are integrated into a set of system knowledge notes PDF. I believe that after reading this document, you will have a deeper and more systematic understanding of these essential skills for Android architects.

Due to the excessive content of the document, in order to avoid affecting everyone's reading experience, only part of the content is shown in screenshots. The detailed and complete version of the [architect essential skills] document receiving method: like + follow, and then privately write keywords 【666】You can get a free way to claim it! Or you can check my [ Github ]

Note: It will be easier to learn the information together with the above mind map! Each point and each detail branch has corresponding catalog content and knowledge points!



! Each point and each detail branch has corresponding catalog content and knowledge points! **

[External link image transfer...(img-kDSDpukn-1614430491493)]
[External link image transfer...(img-FK0MHRTB-1614430491497)]
This information contains all the knowledge required by Android junior architects! You can check it in my Github if you need it!

Guess you like

Origin blog.csdn.net/a120464/article/details/114191593