Los programadores son despedidos por la empresa, si tienen estas ventajas, cuanto más ocupan, más seguros están.

En esta era en la que los precios de la vivienda se disparan, tener un trabajo estable es más importante que cualquier otra cosa. La presión sobre los adultos a menudo proviene de hipotecas de "dinero", préstamos para automóviles y diversos gastos en la vida que dependen de los salarios mensuales para sobrevivir. En parte, esta parte de la presión es cada vez mayor, porque la familia tiene hijos, los gastos de manutención mensuales y las cuotas de formación de los hijos harán que la carga sobre sus hombros sea cada vez más pesada ...

Uno

Recientemente, mi hermano menor se quejó conmigo de que se unió 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 encomendado 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 aprender continuamente. Aunque he estado ocupado llenando el hoyo y no inactivo, el líder piensa que tu habilidad no es buena y solo la llenará. Ahora que me despiden, no sé a dónde ir después.

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"!

dos

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 era muy inaceptable, trabajando como si le pagaran mucho más que él, por lo que decidió renunciar.

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

"Por un lado, cuando el entrevistador me preguntó, me quedé sin palabras y descubrí que los conocimientos técnicos y las habilidades que tenía eran solo la punta del iceberg en el campo de Android. Tenía 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.

Tres

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 central.

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.

cuatro

Se dice que tres años es un obstáculo para los programadores, ya sea que puedan ser promovidos o mejorar su competitividad central, estos pocos años son muy críticos.
La tecnología se desarrolla tan rápido, de qué aspectos puedo aprender para alcanzar el nivel de un ingeniero senior y finalmente avanzar a un arquitecto / experto técnico de Android

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. Espero que me ayude a ser interesado en la tecnología ¡Amigos que caminaron hasta el negro!

En la actualidad, el lenguaje principal para el desarrollo de aplicaciones de Android es el lenguaje Java. La característica más importante del lenguaje Java es aumentar la posibilidad de interacción del software. Se puede decir que casi todas las aplicaciones en los teléfonos Android están escritas en el lenguaje Java.
Para audio y video, completo de Android intermedio y avanzado avanzado o esquema completo, puede ir a mi ** 【GitHub】 ** para ver

Puntos de conocimiento:
1. Serialización de Java, genéricos, reflexión
2. Principio subyacente de la máquina virtual
3. Principio de memoria de Android
4. Explicación detallada del principio de alta concurrencia de Java
5. Compilar el dominio de la tecnología del tiempo y el combate real
6. Agente dinámico avanzado JDK
7. Estructura de datos avanzada Y algoritmo
8, operación Java IO

Código fuente y UI de Android R Frame Work

En Android, Framework se refiere a la capa de arquitectura del sistema. Marco significa "marco" en chino. En el desarrollo de software, generalmente se refiere al marco de desarrollo. Está por encima de la capa del kernel en un sistema y proporciona interfaces para aplicaciones de nivel superior. Está diseñado para ayudar a los desarrolladores a desarrollar rápidamente aplicaciones de nivel superior sin tener que preocuparse por el sistema.El mecanismo operativo del kernel, generalmente Framework, ocultará la función principal y otros componentes necesarios de la aplicación, los desarrolladores solo necesitan enfocarse en la realización del código de la función. En pocas palabras, el trabajo específico de Framework es proporcionar una serie de servicios e interfaces API para desarrolladores de desarrollo de aplicaciones de Android.
La interfaz de usuario no se refiere simplemente al efecto que ve el usuario. Porque en el desarrollo de Android, hay un sistema de nivel profundo detrás de cada control. Naturalmente, la interfaz de usuario no se refiere simplemente a controles personalizados. También debemos conocer el proceso de ejecución detrás de los controles personalizados, incluso desde la creación de actividades, análisis de XML, medición, diseño y dibujo de cada control. Por supuesto, también hay puntos de conocimiento como la animación, el mecanismo de distribución de eventos y el mecanismo de deslizamiento anidado. También hay algunos marcos de interfaz de usuario proporcionados por Google, como la biblioteca de componentes Jetpack, Material Design, etc.

Puntos de conocimiento:
1. Análisis del código fuente de FrameWork
2. Análisis en profundidad de los componentes comunes de Android
3. Análisis en profundidad y personalización de la interfaz de usuario
4. Grupo de la familia Jetpack
5. Android R
6, diseño de marco de programación receptivo RXJava

Ajuste de rendimiento completo de 360 ​​°

La optimización del rendimiento es para todo el desarrollo de la aplicación. Cuando se desarrolla un buen proyecto, no solo el producto es mejor, el desarrollador también necesita saber por qué la aplicación que desarrollé puede ejecutarse en la mayoría de los teléfonos móviles y por qué la mayoría de los teléfonos móviles no tienen errores cuando los usuarios la utilizan. Nuestro archivo apk se puede optimizar para que sea muy pequeño. Por ejemplo, si crea un proyecto, puede que sea 10 m después del empaquetado, pero después de la optimización, puede ser solo 8 m o incluso más pequeño. Además, ¿qué tan seguro es el proyecto que estamos haciendo? ¿Por qué concluimos que la aplicación que creamos es segura? Todos ellos están involucrados en la optimización del rendimiento.

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

Independientemente de que el rendimiento de una aplicación sea bueno o no, debemos trabajar en dos niveles. El primer nivel: debe prestar atención al escribir código, hacer su propio código código de alto rendimiento y alta disponibilidad, este proceso es escribir código de alto rendimiento; el segundo nivel: verifique el problema del código con herramientas para el ya formado código, para guiarnos a eliminar y modificar el código a través de los problemas marcados, este proceso se llama tuning.
¿Cómo escribir código de alto rendimiento? Luego, necesitamos tener un conocimiento profundo del código, que es la base del código, como por ejemplo: la estructura de datos se puede escribir de acuerdo con el escenario de la aplicación para cumplir con el escenario actual de la estructura especial, por ejemplo, Google desarrolló sparseArray en lugar de HashMap para las características de la plataforma Android. Además, tiene sus propios conocimientos únicos sobre los algoritmos de uso común. Hay cientos de preguntas en LeetCode, por lo que casi puede lograr la capacidad de dominar los algoritmos más utilizados, como la clasificación y la búsqueda de programación dinámica. Además, si los algoritmos eficientes y las estructuras de datos que ahorran memoria se combinan con patrones de diseño excelentes que cumplen con los escenarios de la aplicación, estos proporcionan una base para un código de alto rendimiento.
La otra es ajustar el código escrito. Luego, la dirección del ajuste es usar la herramienta Profiler para probar y verificar dónde hay operaciones que consumen rendimiento, y luego analizar los problemas con el código. La dirección del ajuste se convierte en cómo optimizar la memoria, el consumo de energía, el tráfico de red y, por supuesto, existen razones para la velocidad de inicio, el efecto y la velocidad de cambio de página, la experiencia de la pantalla blanca de inicio y la pantalla de inicio. Espere el análisis y el ajuste. Finalmente, agregue un adaptador de pantalla para cámara.

2. Optimización del rendimiento del programa

Optimización de la velocidad de puesta en marcha y 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 compilación automatizado Git Gradle

4. Proyecto de combate real

Velocidad de inicio, fluidez, práctica de Douyin en la optimización de recursos del tamaño del paquete APK, tecnología de diseño receptivo de Youku, análisis completo, optimización de la red, proyecto de optimización del rendimiento del teléfono móvil Taobao doble once, que revela el análisis de dependencia del código fuente de todo el enlace de la aplicación AutoNavi , y eliminando por completo la experiencia de combate real de OOM compartiendo la práctica de optimización de memoria del terminal Android WeChat

Evaluación comparativa de las tecnologías necesarias para los arquitectos Tencent T3.3

Arquitectura de marco de Android (UI avanzada + código fuente FrameWork) Este conocimiento es actualmente el más utilizado por los usuarios, y lo llamamos la tecnología de Android de 2013 a 2016.

Los desarrolladores de Android a menudo están familiarizados y no están familiarizados con este código "utilizado" con frecuencia porque están acostumbrados a copiar código en línea: lo familiar está tratando con ellos casi todos los días y copiando el código todos los días; lo desconocido es que, aunque con estos códigos todos los días Tratar con códigos, pero no he estudiado los principios de estos códigos en profundidad y las connotaciones de los códigos.

Puntos clave de conocimiento en este artículo:
1. Pautas de diseño de código necesarias para arquitectos
2. Diseño de arquitectura basada en componentes
3. Diseño de arquitectura de plug-in
4. Diseño de hotfix
5. Análisis e implementación de código fuente de marco de código abierto

Audio y video avanzados (series de audio y video)

Desde la perspectiva de las tendencias futuras, con el advenimiento de la era 5G, el audio y el video se han convertido gradualmente en necesidades en la vida diaria de las personas. Además de la educación en línea, las conferencias de audio y video y los productos de mensajería instantánea que deben usar tecnología de audio y video, otros productos también necesitan agregar elementos de audio y video.

Es precisamente debido a una tendencia tan grande que, además de las grandes fábricas, otras pequeñas fábricas también están comenzando a buscar talentos de audio y video.

Un talento de audio y video ligeramente mejor ahora puede tener 3-4 empresas apresurándose a conseguirlo, compitiendo por él. La demanda de talentos de audio y video ha cambiado de un nicho al público en general, lo que es más un resultado de las expectativas de todos sobre el mercado futuro.

¿Por qué son raros los talentos de audio y video?

El conocimiento de audio y video es complejo y hay muy pocos materiales fáciles de entender;

Los blogs y videos en línea están llenos de mucha información incorrecta, lo que hace que muchos principiantes no puedan salir del hoyo.

Por ejemplo, de acuerdo con el método tradicional de aprendizaje de audio y video: primero comuníquese con una gran cantidad de bibliotecas de código abierto de audio y video, como FFmpeg, MediaCodec y, a menudo, estas API ya le han hecho más grande la cabeza. Permanecer en la API no le permitirá adaptarse a las necesidades cambiantes. La primera dirección fue incorrecta. No importa cuánto lo intenté, no pude aprender audio y video.

Puntos clave de este artículo:
1. Sintaxis básica
2. Codificación de video H264
3. Principio de codificación
H265 4. Aplicación de codificación H265
5. MediaCode

  • 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, 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.

Por razones de espacio, si necesita audio y video, un nivel intermedio o avanzado completo de Android o un esquema completo, puede ir a mi ** 【GitHub】 ** para ver

Supongo que te gusta

Origin blog.csdn.net/A_pyf/article/details/114802493
Recomendado
Clasificación