I don't understand why it is so difficult to find a job in Android development?

Preface

Today I felt a little emotional. I got a resume. I graduated from the University of Science and Technology of China. I am 38 years old. I have worked as the Android technical director of a large Internet company and a small factory. I was looking for a job again, but I was not given an interview opportunity. HR was directly rejected.

Insert image description here

Are interviews really getting harder?

This idea may vary from person to person, because we are now in the golden age of the Golden Nine and Silver Ten. The key to finding a job lies in the interview, and then whether you meet the job requirements in the recruitment information.

So for students who are still looking for a job, the editor here gives some suggestions, which should help you:

  • Use internal referral channels : Compared with personal resume interviews, internal referrals have a much higher pass rate.

  • Prepare well before going for the interview : You must know that Android has a relatively high threshold for other development positions, so before the interview, you must know whether you meet the job requirements of the position you are applying for. Otherwise, you will be lucky and pass the interview. , it is easy to give up due to pressure at work.

  • Don’t apply for a resume overseas : Why do you say this? Although applying for a resume overseas can increase your interview chances, you won’t have time to review the problems encountered in the interview and then go directly to the next interview. I think so It's just a wasted opportunity.

  • Look more at the opportunities of Byte, Huawei, Oppo, Xiaomi and other major manufacturers : relatively stable. And if you work in these large factories, what you gain is far beyond what you can get from some private enterprises.

  • Choose a good direction and don’t be half-hearted : Some students have not planned their career development well and will submit multiple directions. For example, a reader some time ago voted for Android engineer, audio and video engineer, etc. Dabin does not recommend this. Although you can get more interview opportunities by applying for multiple positions, you will have to prepare for several positions to review your knowledge, and your energy will be scattered. Therefore, it is recommended that everyone set a direction before the autumn recruitment and focus on one direction for review.

  • Improve academic qualifications : Nowadays, academic qualifications have been "depreciating". Improving academic qualifications will be very helpful for future employment. There will be more job options and the salary will be higher than that of a bachelor's degree!

Finally, the Internet industry is the most difficult year every year. Please be patient and don’t be discouraged if you fail to pass the interview. Whether you pass the interview is related to many factors (your own knowledge base, the level of competitors, etc.). After the interview, If you review the offer more often, I believe everyone will eventually find an offer you are satisfied with!

Finally, I would like to share with you a set of Android interview documents carefully prepared by the editor , including Java basics, Android basics, Android Framework underlying source code, algorithms, Kotlin, Flutter, audio and video and other common interview questions in companies. It is very practical and will help you pass the interview. ~

[Friends in need can scroll to the end of the article to get it! ! !

Table of contents

Insert image description here

Java aspect

Java basics

  • What is the difference between abstract class and interface?
  • Let’s talk about final, static, and synchronized respectively.
  • Please briefly describe String, StringBuffer and
  • What are the differences and usage scenarios between "equals", "==", and "hashCode"?
  • What is the difference between deep copy and shallow copy in Java?
  • Talk about the difference between Error and Exception?
  • What is the reflection mechanism? What are the application scenarios of the reflection mechanism?
  • Talk about how to override the equals() method? Why rewrite hashCode()?
  • Talk about your understanding of type erasure in Java generics, and talk about its limitations?
    -Why should String be designed to be immutable?
  • Tell me about your understanding of Java annotations?

Java Collections

  • Talk about the differences between List, Set, and Map?
  • Talk about the difference between ArrayList and LinkedList?
  • Please tell me the difference between HashMap and HashTable
  • Let’s talk about the expansion mechanism of ArrayList?
  • How is HashMap implemented?
  • Please briefly describe the working principle and usage of LinkedHashMap?
  • Talk about your understanding of ConcurrentHashMap?

Java multithreading

  • What are the ways to use multithreading in Java?
  • Tell me about the states of threads?
  • How to achieve synchronization in multiple threads?
  • Let’s talk about thread deadlock. How to effectively avoid thread deadlock?
  • Talk about the reasons for thread blocking?
  • Please talk about the difference between run() and start() in Thread?
  • What is the difference between synchronized and volatile keywords?
  • How to ensure thread safety?
  • Talk about the usage and principle of ThreadLocal?
  • What is the difference between notify and notifyAll in java thread?
  • What is a thread pool? How to create a thread pool?
  • Let’s talk about the common locks in Java threads?
  • Let’s talk about the difference between thread sleep() and wait()?

Java virtual machine

  • Let’s talk about JAVA garbage collection mechanism?
  • Answer: What are strong, soft, weak, and virtual references and the differences between them?
  • Briefly describe the loading mechanism and loading process of classes in JVM?
  • What are the principles and differences between JVM, Dalvik and ART?
  • Please talk about Java's memory recycling mechanism?
  • What is JMM? What problems does it have? How to solve it?

Insert image description here

Android aspect

Four major components

  • What are the common communication methods between Activity and Fragment?
  • Application scenarios of LaunchMode?
  • How much do you know about Context?
  • What is IntentFilter? What are the usage scenarios?
  • Let’s talk about the difference, life cycle and usage scenarios between startService and bindService?
  • How does Service keep alive?
  • Briefly introduce how ContentProvider realizes data sharing?
  • Talk about the life cycle of Activity when switching between horizontal and vertical screens?
  • Is there a limit to the size of data transmitted by an Intent? How to solve?

Android asynchronous tasks and message mechanism

  • What are the usage scenarios and usage of HandlerThread?
  • What are the application scenarios and usage postures of IntentService?
  • What are the advantages and disadvantages of AsyncTask?
  • Talk about your understanding of Activity.runOnUiThread?
  • Can child threads update UI? Why?
  • Let’s talk about the Handler mechanism and principles?
  • Why does creating a Handler in a child thread throw an exception?
  • There is an infinite loop in Handler. Why is it not blocking the main thread? What is the principle?

data structure

  • What is bubble sort? How to optimize?
  • Please use Java to implement a simple singly linked list?
  • How to reverse a singly linked list?
  • Talk about your understanding of time complexity and space complexity?
  • Let’s talk about how to judge whether a linked list is a ring?
  • What is a red-black tree? Why use red-black trees?
  • What is quick sort? How to optimize?
  • Talk about circular queue?
  • How to determine singly linked list intersection

Insert image description here

Android Framework

Binder

  • What are the advantages of Binder?
  • How does Binder achieve one copy?
  • Do you understand the memory mapping principle of MMAP?
  • How does the Binder mechanism work across processes?
  • Let’s talk about the communication mechanism of the four major components
  • Why Intent cannot deliver big data

Handler

  • What is HandlerThread? Why does it exist?
  • Briefly describe the overall principle of the Handler mechanism?
  • Where does Looper exist? How can we ensure that threads are unique?
  • How to understand the role of ThreadLocal?
  • What are the similarities and differences between the main thread Main Looper and the general Looper?
  • How does Handler or Looper switch threads?
  • Why does Looper's loop() infinite loop not get stuck?
  • How can Looper's waiting be accurately awakened?
  • How to get Message? Why is it designed like this?

AMS

  • What is ActivityManagerService? When was it initialized? what's the effect?
  • What is ActivityThread? What is ApplicationThread? Their differences
  • What is Instrumentation? What is the relationship with ActivityThread?
  • How communication between ActivityManagerService and zygote process is implemented.
  • ActivityRecord、TaskRecord、ActivityStack,Activi
  • ActivityManager、ActivityManagerService、Activit
  • Handwriting implements simplified version of AMS

Insert image description here

Algorithm aspect

  • How to use the binary search algorithm
  • How to efficiently solve water connection problems
  • Binary search efficient decision subsequence
  • How to remove duplicate elements from sorted array
  • How to find the longest reply substring
  • How to perform modular exponentiation efficiently
  • How to use greedy thinking to play jumping games in a wide area
  • How to efficiently judge the backlink list
  • How to randomly extract elements from a wireless sequence
  • How to determine the legality of brackets
  • How to find missing and duplicate elements
  • Please talk about HashMap, the principle of SparseArrary, the advantages of SparseArrary compared to HashMap, and how ConcurrentHashMap achieves thread safety?
  • Please talk about the principle of HashMap, the access process, why red-black trees are used, the comparison between red-black trees and complete binary trees, HashTab, concurrentHashMap, and what are in the concurrent package?
  • Please talk about the underlying principle of hashmap put(). When a conflict occurs, how to add it (traverse along the linked list, compare the key values ​​​​one by one to see if they are consistent, and if they are consistent, overwrite and replace them. After the inconsistent traversal is completed, insert the position)?

Insert image description here

Kotlin aspect

  • Please briefly describe what is Kotlin? What features does it have?
  • What are some common ways to implement singletons in Kotlin?
  • In Kotlin, what are inline functions? what's the effect?
  • Please talk about Coroutines in Kotlin, how is it different from threads? What are the advantages?
  • Talk about the similarities and differences between Any in Kotlin and Object in Java?
  • Are there implicit conversions of data types in Kotlin? Why?
  • What are the ways to traverse collections in Kotlin?
  • What is the principle of Kotlin's built-in standard function let?
  • What is the principle of run high-order function in Kotlin language?

Audio and video

  • How to optimize the instant start of live broadcast?
  • What are the methods of digital image filtering?
  • What features can be extracted from images?
  • FFMPEG: How to synthesize video from pictures
  • What are the common audio and video formats?
  • Please describe the MPEG video basic stream structure?
  • Let’s talk about the data structure of ffffmpeg?
  • How to reduce latency? How to ensure fluency? How to solve lag? Solving network jitter?
  • What are the soft solutions and hard solutions that we usually talk about?

Insert image description here

Flutter aspect

  • Features of Dart language?
  • How does Dart multitask in parallel?
  • Is dart pass by value or pass by reference?
  • What are the features of Flutter?
  • What is the relationship between Widget, element and RenderObject?
  • What are the conditions for using mixins?
  • Stream two subscription models?
  • What are the core concepts of Widget, State, and Context in Flutter? What problem is it to solve?
  • Let’s talk about the differences and principles between Hot Reload, Hot Restart and hot update.
  • How does Flutter communicate with Android iOS?
  • Let’s talk about what state management is and why it is needed?

Insert image description here

Due to the limited length of the article, if you need a complete interview document, you can scan the QR code below to get it for free! ! !

Guess you like

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