"Después de unirse a la compañía durante un año, el desarrollador de Android que fue desenterrado por un salario alto fue disuadido de irse".

De hecho, en las ideas de muchos socios pequeños, esperan lograr aumentos salariales a través del cambio de trabajo, pero el cambio de trabajo no es una decisión impulsiva, por lo que debe tener cuidado ~

01

Mi hermano menor me reclamó recientemente que se incorporó a una empresa en el primer semestre de 2020. En ese momento, lo robaron con un salario alto. El llamado dinero está en su lugar y su trabajo está lleno de entusiasmo. En menos de al año, participó en muchos proyectos.

Pero estaba cansado de hacer frente, llené muchos "boxes" técnicos y no tuve tiempo para mejorar.

Como resultado, fue más difícil completar el trabajo dado por la empresa en la etapa posterior, lo que retrasó el avance del proyecto, ¡y de hecho fue disuadido!

Cuando dejé el trabajo, me pedí que hiciéramos una cuerda juntos, y me dije con emoción que todavía tengo que salir del hoyo y seguir aprendiendo. Aunque he estado ocupado llenando el hoyo y no inactivo antes, el El líder piensa que tu habilidad no es buena y solo llenará el pozo. Ahora que me despiden, no sé a dónde ir.

Siempre esperamos cambiar de trabajo para lograr aumentos salariales, pero debemos actualizar constantemente nuestra competitividad central, de lo contrario, si la empresa exprime el valor final, ¡corremos el riesgo de ser "eliminados"!

02

Como he estado en el círculo de TI todo el año, conocí a muchos amigos programadores. Uno de ellos es un programador de una empresa de Internet. Ha sido cliente durante 4 años y su aumento de salario es de solo 500 yuanes por año. Vi a un nuevo empleado por casualidad. El salario de un colega descubrió que el trabajo de su colega era un 75% más alto que el de él.

En ese momento él era muy inaceptable y estaba haciendo el mismo trabajo, por qué el salario era mucho más alto que él, entonces decidió renunciar.

Pero en el proceso de volver a solicitar un trabajo, la entrevista de Ali le dio un duro golpe ...

"Cuando el entrevistador me preguntó, me quedé estupefacto. Descubrí que el conocimiento técnico y las habilidades que tengo son solo la punta del iceberg en el campo de Android. Tengo demasiado conocimiento profesional y capacidad para mejorar".

Me dijo que cuando salió del parque Ali, en secreto se decidió a estudiar sistemáticamente para lidiar con las entrevistas y los requisitos laborales futuros.

03

En la industria de Internet, todo el mundo llegará gradualmente a un consenso de que si los salarios van a subir rápidamente, todavía tienen que cambiar de trabajo ...

Es realmente difícil que los antiguos empleados de la empresa aumenten su salario, y es más común estar patas arriba por los recién llegados ...

Entonces, ¿cómo podemos saltar bien y tener un salario satisfactorio? Mis sugerencias:

  • Mira las oportunidades.
  • El cambio de trabajo no es un salto ciego, especialmente no se recomienda mirar el cambio de trabajo en las industrias y las direcciones sobre la tentación de los salarios altos.
  • Mejorar su competitividad básica.

En lo que respecta a la competitividad básica, ¿cómo se puede mejorar?

Cuando los adultos quieren cambiar sus vidas y revertir su estado, harán una cosa al mismo tiempo, es decir, el aprendizaje sistemático.

04

Como desarrollador de Android, a continuación quiero compartir conmigo algunas generalizaciones y resúmenes de la tecnología a lo largo de los años, y compartir con mis notas sobre esas habilidades que necesito dominar como desarrollador senior de Android, con la esperanza de ayudarme con la tecnología Amigos que caminó todo el camino hacia la oscuridad en este camino!

1. Habilidades esenciales para arquitectos

El lenguaje de desarrollo de los teléfonos Android es Java (Kotlin también es una encapsulación de Java), y Android Framework también usa el lenguaje Java de forma predeterminada. La familiaridad con el lenguaje Java es una habilidad esencial para los desarrolladores de Android.

Este artículo contiene puntos de conocimiento:

1. Genéricos Java en profundidad
2. Anotaciones en lenguaje simple
3. Programación concurrente
4. Transmisión y serialización de datos
5. Principios de la máquina virtual Java
6. Reflexión y carga de clases
7. E / S eficiente

2. Interfaz de usuario avanzada

El conocimiento de la interfaz de usuario es actualmente la mayoría de los usuarios. La capacitación introductoria a Android que fue tan popular ese año, puede encontrar un buen trabajo aprendiendo este pequeño conocimiento.

Sin embargo, obviamente no es suficiente ahora. Rechaza el CV interminable, ve al proyecto real, lee el código fuente y estudia el principio.

Tres, análisis de kernel refinado de Framework

Como todos sabemos, Android es un sistema operativo basado en Linux. Pero para el kernel de Linux, Android es solo una aplicación que se ejecuta en el kernel y no hay diferencia con otras aplicaciones que se ejecutan en el kernel.

Por lo tanto, Android también necesita un entorno en ejecución, y el kernel de Linux necesita cargar los recursos necesarios para que Android Framework se ejecute después de que se complete el inicio. Solo después de inicializar el Framework se puede iniciar la aplicación APK correspondiente.

El contenido principal incluye:

  • Análisis en profundidad de Binder
  • Análisis en profundidad de Handler
  • Sistema de proceso Dalvik VM
  • Análisis en profundidad de WMS
  • PackagerManagerService

Cuatro ajustes de rendimiento general de 360 ​​°

En manos de ingenieros de desarrollo en diferentes niveles, debido al nivel técnico desigual, incluso si muchos teléfonos móviles se ejecutan con un rendimiento de software muy alto, todavía habrá un retraso al abrir aplicaciones.

Además, con la iteración del contenido del producto, las funciones se vuelven cada vez más complejas y las páginas de la interfaz de usuario se vuelven cada vez más abundantes, lo que también se convierte en un obstáculo para el buen funcionamiento. En resumen, la optimización del rendimiento de la aplicación se ha convertido en una calidad integral que los desarrolladores deberían tener, y también es una garantía para que los desarrolladores completen trabajos de aplicaciones de alta calidad.

contenido principal:

  • 1. Ideas de diseño y optimización de la calidad del código

  • 2. Optimización del rendimiento del programa, optimización de la
    velocidad de inicio y la eficiencia de ejecución,
    detección y optimización del diseño, optimización de la
    memoria,
    optimización del consumo de energía, optimización de
    la transmisión de red y del almacenamiento de datos, optimización del
    tamaño de APK

  • 3. Optimización de la eficiencia del desarrollo
    Sistema de control de versiones distribuido Sistema
    de construcción automatizado Git Gradle

  • 4. Proyecto de combate real
    Velocidad y
    fluidez de
    inicio La práctica de la práctica de optimización de recursos del tamaño del paquete APK de Douyin
    Análisis completo de la tecnología de diseño receptivo de Youku
    Optimización de red
    Proyecto de optimización del rendimiento de Mobile Taobao Double Eleven Aplicación secreta de AutoNavi
    Análisis de dependencia del código fuente de enlace completo para
    matar completamente combate real de la experiencia OOM compartiendo la
    práctica de optimización de memoria del terminal Android WeChat

Cinco, marco de terceros de Android

Con el desarrollo continuo de las empresas de Internet, cada vez hay más módulos en los proyectos de productos y los requisitos de experiencia del usuario son cada vez más altos. Cada vez es más difícil lograr el propósito de pequeños pasos e iteraciones rápidas, y la interacción entre aplicaciones La aplicación de la tecnología plug-in nació para los problemas de llamadas, etc.

El desarrollo móvil de Android de hoy no será reparado, enchufado o en componentes, y más del 80% de las entrevistas no serán aprobadas.

Puntos clave de este artículo (página 1042)

  • Diseño de reparación en caliente
  • Enchufar
  • Diseño de marco componente
  • Marco de carga de imágenes
  • Marco de solicitud de red
  • Diseño de marco de programación reactiva RXJava
  • Diseño de arquitectura COI
  • Componente de arquitectura de Android Jetpack

Seis, desarrollo de módulos NDK

NDK es un kit de desarrollo nativo. Este conjunto de herramientas permite a Android utilizar código C / C ++ y proporciona numerosas bibliotecas de plataforma.

El contenido principal incluye:

  • Desarrollo del módulo NDK
  • Módulo JNI
  • Herramientas de desarrollo nativas
  • Programación Linux
  • Procesamiento de imágenes de bajo nivel
  • Desarrollo de audio y video
  • Aprendizaje automático

Siete, aprendizaje avanzado de Flutter

2019 es sin duda un año en el que la tecnología Flutter está en pleno apogeo.

Todo desarrollador móvil está loco por las características y conceptos de "desarrollo rápido, interfaz de usuario expresiva y flexible, rendimiento nativo" que ofrece Flutter, desde superaplicaciones hasta aplicaciones independientes, desde Flutter puro hasta pilas híbridas, desarrolladores Estamos entusiasmados con explorar y aplicar Flutter tecnología en diferentes escenarios, y también nos enfrentamos a una variedad de diferentes desafíos.

Puntos clave de este artículo:
1. Descripción general del desarrollo multiplataforma de
Flutter 2. Construcción del entorno de desarrollo de Flutter en Windows
3. Escribiendo su primera aplicación de Flutter
4. Empezando

con el sistema de lenguaje Flutter Dart ...

Aprendizaje aleteo

8. Interpretación del código fuente relacionado con Android

Siempre que sea un programador, ya sea Java o Android, si no lee el código fuente y solo mira la documentación de la API, simplemente permanecerá en la piel. Esto no es bueno para el establecimiento y la integridad de nuestro sistema de conocimiento y la mejora de la tecnología de combate actual.

Interpretación del código fuente relacionado con Android

Interpretación de parte del código fuente relacionado con Android

Por razones de espacio, si necesita el pdf de notas de estudio completo anterior, puede hacer clic en Me gusta + comentar para apoyarme como trabajador, ¡y luego haga clic aquí para recogerlo gratis !

Supongo que te gusta

Origin blog.csdn.net/weixin_52217015/article/details/114701635
Recomendado
Clasificación