Android Caijimaimai pide ayuda: 4 años de experiencia en desarrollo, menos de 15K en Shenzhen, ¿qué debo hacer?

Visité Maimai recientemente y vi una publicación de este tipo, que llamó mi atención. El anfitrión tiene 4 años de experiencia en desarrollo, y el salario mensual es de menos de 15K, ¡lleno de impotencia!

Algunos cibernautas se quejaron:
hay post-elecciones, no hay post-elecciones antes, no después, no hay reenvíos, los algoritmos también son dulces, las condiciones lo permiten, sin cerebro, futuro prometedor, ejecutivos programados, seguidos de front-end, demanda frecuente , comida y ropa adecuadas, buena gente Dificultad, datos de algoritmos, ingresos considerables, mejor maestría y doctorado, trabajo de alto nivel, pruebas y desarrollo, pero también una batalla, casualmente, ingresos mensuales de más de 10,000, desesperado, volver a casa para granja, amanecer y atardecer, vida feliz, fantasmas, vienen al cliente, la superficie es próspera, pero en realidad es un desplazamiento hacia adentro, el trabajo está inactivo, entrevistando cohetes, menos de tres años, todo terminado, 65 en la parte de atrás, verde sombrero al frente, buen corazón, dorado y buenas palabras, te aconsejo, alegra tus ojos, si lo tienes, cámbialo, nada Luego a regañadientes.

Lo mismo ocurre con el desarrollo de Android. En los últimos años, el mercado de desarrollo móvil no parece ser optimista. El auge de los programas pequeños y las aplicaciones rápidas ha llevado al crecimiento de muchas aplicaciones a un cuello de botella,
especialmente el desarrollo de Android.

Ahora que ha pasado el período de bonificación, necesita tecnología más refinada como soporte. Como los requisitos actuales de contratación de nivel medio a alto, además de los requisitos educativos y la
base de Android, JNI / NDK / Framework e incluso JS y servidor Los desarrollos laterales también se utilizan como puntos de mejora., Es
el prototipo de la dirección de pila completa.

De hecho, los profesionales del desarrollo de Andrews encontrarán que las principales empresas han aumentado significativamente en los trabajos de alto nivel, también significa que los desarrolladores de Android han entrado
en una era empresarial habilitada por la tecnología, para mejorar la competitividad del individuo, es decir, Android capacidades de desarrollo necesarias.

Yo mismo he estado en una pequeña fábrica, también he estado en una gran fábrica como Huawei, OPPO, etc. En mayo del 19 entré en ByteDance hasta ahora.
Por lo tanto, resumamos con usted la dirección de desarrollo de los desarrolladores de Android.

Primero: mejora horizontal

Basándonos en la tendencia del desarrollo de pila completa, deberíamos expandirnos horizontalmente mientras profundizamos en nuestro campo de experiencia.
Y la mejora horizontal que se menciona aquí es la transformación al front-end. Además del desarrollo híbrido (web, nativo,
interacción de front-end , interacción de hardware) en APP , también se necesita desarrollo web, applet de WeChat y H5.
Por ejemplo, el desarrollo del lado del servidor, hacemos mucho tiempo a los desarrolladores de Android, para confiar en que la interfaz devuelve los datos al servidor, puede probar
la compilación, al menos para el servidor de teoría de la estructura y servir la comunicación entre servicios , la polimerización es el tipo de proceso que necesita
ser escuchado.

Segundo: remodelación vertical

Siempre ha habido dos dichos sobre el desarrollo de Android: si es para el desarrollo de aplicaciones,
es más apropiado desarrollar en la dirección de la arquitectura de la aplicación ; si es para el desarrollo a nivel de sistema, el controlador subyacente suele ser más apropiado.

¿Qué debo aprender específicamente?

1. Arquitectura móvil
Capa de visualización de la arquitectura — MVC, MVP, MVVM, Clean, Flux, AndroidArchitectureComponents;
capa de arquitectura — modularización—> componente—> pluginización— > sandbox / tecnología abierta dual, como WeChat doble abierto, similar a Docker, cada
uno page es un complemento, similar a cada página en Vue.js es un componente.

2. Básico Avanzado
Esta dirección puede ser más, como la vista, el mecanismo de animación de Android, el principio de funcionamiento de los cuatro componentes principales, la tecnología multimedia, etc.
El problema de conflicto de deslizamiento de la vista que generalmente encontramos en nuestro trabajo
se puede resolver fácilmente si se domina el mecanismo de trabajo de la vista y el sistema de tiempo táctil de Android .
Y para la necesidad de desarrollar magníficos efectos de animación, debe tener cierto conocimiento de algunas características de la animación de vista y la animación de atributos.
El mecanismo de trabajo de los cuatro componentes principales de Android es en realidad el mecanismo de Binder. También podríamos enviar la interfaz AIdL para
aprender sobre Binder.
El desarrollo de JNI y NDK también son relativamente comunes, especialmente para algunos proyectos de NDK, este proceso de desarrollo también debe
dominarse.
El desarrollo de NDK es también uno de los métodos utilizados por los servidores para distinguir a los solicitantes. Las empresas no necesitan usarlos, pero pueden
seleccionar talentos dominando NDK.

3. Lenguaje de aprendizaje y desarrollo del lenguaje
Aquí tenemos que corregir que el aprendizaje de un lenguaje no es una industria cruzada. Por ejemplo, se puede decir que Kotlin es el ciudadano de primera clase del mundo de Android y, a
veces, el más popular Python y GO. y el C / C +++ de bajo nivel es esencial.

4, los
requisitos de la fuente pueden comprender y familiarizarse con el código fuente (de su propia elección de varias bibliotecas de terceros también pueden ser), para estar familiarizado con el código fuente original y su
gestión de implementación , y el segundo paquete para poder hacer su propia (o su propia contribución a la biblioteca tripartita) biblioteca tripartita.
De esta forma, poco a poco te irás convirtiendo en un experto en este bloque técnico en mantenimiento.Creo que la salida obligada a ingresar es una buena
forma de aprender.

¿Cómo leer el código fuente?

Directorio de análisis de código fuente refinado de Android

1. Análisis en profundidad del código fuente de WeChat MMKV
MMKV  es un repositorio de KV de código abierto creado por WeChat el 20 de septiembre de 2018. Es similar a SharedPreferences, pero con mayor eficiencia, resuelve las desventajas de no admitir la lectura y escritura de procesos cruzados .

2. Análisis en profundidad del marco de enrutamiento de Alibaba Código fuente de ARouter La
componenteización es adoptada por más y más proyectos de Android, y como base de la distribución de componentes, el enrutamiento también es una prioridad. Por lo tanto, un análisis detallado del marco de enrutamiento de código abierto de Alibaba ARouter. Explique por qué se usa de esta manera y qué evitar desde la perspectiva del código fuente, para que pueda usarlo sin problemas.

3. Análisis en profundidad del código fuente de AsyncTask (una biblioteca de ejecución de tareas asincrónicas incorporada
en Android ) AsyncTask es un marco para ejecutar tareas asincrónicas proporcionado en el SDK de Android. Fue ampliamente utilizado en los primeros días del surgimiento de Android , pero ahora ha sido utilizado por RxJava y coroutines, y otros frameworks emergentes. Aunque tiene algunas deficiencias, aún podemos intentar comprender sus principios de implementación y las deficiencias existentes.

4. Análisis en profundidad del código fuente de Volley (un marco de solicitud web lanzado por Google)
Volley es un marco de solicitud web desarrollado por Google, que ha dejado de actualizarse. Aunque el enfoque de todos está en los marcos de solicitud de red de terceros, como Retrofit y OkHttp, y estos dos marcos también se utilizan en el proyecto del equipo, todavía hay muchas ideas de diseño excelentes en Volley de las que podemos aprender.

5. Análisis en profundidad del código fuente de Retrofit
En el desarrollo de Android, las solicitudes de red son muy comunes, y en la biblioteca de solicitudes de red de Android, Retrofit es actualmente la biblioteca de solicitudes de red más popular.

❤️El espacio es limitado, para contenido más detallado, haga clic en mí para obtener la versión completa en pdf para ver❤️

6. Análisis en profundidad del código fuente de OkHttp
OkHttp es un proyecto de código abierto para procesar solicitudes de red. Es el marco ligero más popular en el lado de Android. Es aportado por el pago móvil Square para reemplazar HttpUrlConnection y Apache HttpClient. A medida que OkHttp continúa madurando, más y más desarrolladores de Android utilizan OkHttp como marco de red.

7. Análisis en profundidadCódigo fuente de ButterKnife
Como desarrollador de Android, todos deben conocer el famoso cuchillo de mantequilla. Mejora enormemente la eficiencia del desarrollo, aunque todo el mundo ha empezado a usarlo hace mucho tiempo, pero solo sabe que se logra a través de anotaciones, pero no ha estudiado detenidamente el código de la próxima gran vaca. Por eso es necesario analizar sistemáticamente el principio de realización del cuchillo de mantequilla.

8. Análisis en profundidad del código fuente de Okio (un conjunto de bibliotecas de E / S concisas y eficientes)
Hay dos interfaces muy importantes en Okio-Sink y Source, las cuales heredan Closeable. Entre ellas, Sink corresponde al OutputStream que utilizado originalmente, y Source corresponde al InputStream que usamos originalmente.
La entrada de Okio es la clase Okio, que es una clase de fábrica, y los objetos como Sink y Source se pueden crear a través de algunos de sus métodos estáticos internos.

9. Análisis en profundidad del código fuente de SharedPreferences
SharedPreference es un repositorio de KV que viene con el desarrollo de Android y es adecuado para guardar datos livianos. Utiliza XML para almacenar datos. Por ejemplo, a menudo lo uso para guardar algunos datos livianos como el usuario información de inicio de sesión Datos de nivel.

10. Análisis en profundidad del código fuente de EventBus
EventBus es un marco de publicación / suscripción de eventos de Android.
Los métodos tradicionales de entrega de eventos incluyen: controlador (mecanismo de procesamiento de mensajes, generalmente utilizado para actualizar la interfaz de usuario), BroadCastReceiver (receptor de transmisión), devolución de llamada de interfaz.

Ventajas de EventBus:

  • La comunicación entre Actividad, Fragmento, Servicio e hilo es muy común. EventBus puede proteger algunos problemas de cambio de hilo y simplemente implementar la función de publicación y suscripción.
  • El código es conciso, fácil de usar y desacopla completamente la publicación y suscripción de eventos.

11. Exploración preliminar de las anotaciones personalizadas de Android
Dado que muchos marcos de código abierto utilizados antes, como GreenDao, EventBus, ButterKnife, ARouter, etc., utilizan anotaciones personalizadas, es necesario estudiar las anotaciones personalizadas.

12. Análisis del código fuente del mecanismo de trabajo de View

13.Análisis del código fuente del mecanismo de distribución de eventos táctiles de Android

14.Análisis de código fuente del mecanismo de distribución de eventos clave de Android

15.
Se implementa un análisis en profundidad del código fuente de Handler. El mecanismo de mensajes de Android se basa en Handler. Mucha gente piensa que si conocen Handler, Looper y MessageQueue, creen que entienden el principio de Handler. Pero de hecho, cuando mires el código fuente, poco a poco descubrirás que el contenido de Handler es más que esto. Conocimientos como las barreras de sincronización, los mecanismos de bloqueo y activación de la capa nativa de Handler, etc. entendido claramente antes.

16. Análisis en profundidad del código fuente de Binder
Binder se llama "Yi Jin Jing" en los trucos de artes marciales en Android, y tanto los novatos como los veteranos están fascinados por él. La arquitectura de Binder es el medio de comunicación entre procesos más comúnmente utilizado. Las funciones básicas de los cuatro componentes principales solo se pueden realizar confiando en Binder.
Para que los desarrolladores utilicen java y cpp para la comunicación de binder, el diseño de binder se ejecuta a través del framework, las capas nativa y del kernel. Los desarrolladores pueden usar binder fácilmente en la capa superior para iniciar la comunicación de datos a otros procesos.

17. Análisis en profundidad del código fuente JNI Durante el
desarrollo de Android NDK, a menudo es necesario utilizar el mecanismo JNI para llamar al entorno nativo para operaciones c / cpp por razones de eficiencia y seguridad.

18. Análisis en profundidad del código fuente de Glide.
Glide tiene funciones ricas, caché de imágenes de tres niveles, personalización profunda (hereda AppGlideModule, LibraryGlideModule para más funciones), modifica la biblioteca de solicitudes de red y admite la conversión de múltiples recursos de entrada y salida (como flujo de entrada, mapa de bits de salida, etc.), etc.), gestión del ciclo de vida. Por tanto, es necesario analizar en profundidad el código fuente

19. El principio de RxJava y cómo empaquetar el uso de
RxJava se puede describir como una habilidad esencial para los desarrolladores de Android.

20. Principio básico de LeakCanary Análisis del código fuente
LeakCanary es un marco para las fugas de memoria de Android. Como una "pregunta común en las entrevistas", debe tener algo que valga la pena aprender.

21. La definición de arquitectura de complementos y las ideas prácticas de arquitectura de complementos analizan el
complemento de babel, el complemento de paquete web y el complemento vue-cli. ¿Por qué tantos marcos excelentes utilizan el sistema de complementos? ? ¿Qué es la arquitectura de complementos? ¿Cuales son los beneficios? ¿A qué escenarios se puede aplicar?

Análisis de código fuente refinado de Android

22. Principio de reparación en caliente del diseño de reparación en
caliente La tecnología de reparación en caliente es un punto de conocimiento relativamente avanzado y popular en el desarrollo actual de Android, y es una habilidad que los desarrolladores intermedios deben dominar cuando conducen a un desarrollo avanzado. Al mismo tiempo, en la industria de Android, la tecnología de reparación en caliente está floreciendo y los principales fabricantes han lanzado sus propias soluciones de reparación en caliente. Por lo tanto, también es necesario comprender y aprender el principio de reparación en caliente.

❤️El espacio es limitado, para contenido más detallado, haga clic en mí para obtener la versión completa en pdf para ver❤️

¡Entra en la fábrica de BATJ y así sucesivamente (preparación)! Hoy en día, se dice que Internet es frío. De hecho, no es más que usted se subió al auto equivocado y usa menos (habilidades). Si se sube al auto correcto y su propia habilidad técnica es lo suficientemente fuerte, el reemplazo de la compañía El costo será alto. ¡Es solo para eliminar el negocio final de la cuajada! Hoy en día, hay una avalancha de programadores junior en el mercado. El aprendizaje del código fuente está dirigido a ingenieros de desarrollo de Android que tienen entre 1 y 6 años. Se encuentran en un período de cuello de botella. Aquellos que quieren superar sus aumentos salariales en el próximo año , avanzado Android intermedio y senior, los arquitectos se sienten aún más cómodos para usted, ¡consígalo rápidamente!

Supongo que te gusta

Origin blog.csdn.net/weixin_43901866/article/details/112916291
Recomendado
Clasificación