Un programador de Tencent de 35 años fue despedido: con una casa y un depósito de 7 millones, no puede escapar de la ansiedad.

Prefacio

Vi un artículo de este tipo en Moments. Probablemente se trataba del pánico por la ola de despidos de hace años. Entre ellos estaba la ansiedad de un programador de Tencent después de quedarse desempleado: Me he puesto al día con esta ola de despidos. Tengo solo 35 años de edad. Crisis de desempleo ... Ansioso, en una casa en Beijing, dos coches, los niños aún no han ido a la escuela, Tianjin invirtió en un conjunto, afortunadamente, no hay préstamos, lo suficiente para la auto ocupación. Hay más de 7 millones de depósitos para gestión financiera. No he tenido noticias de mi búsqueda de trabajo, así que a esta edad tengo que obligarme a salir ...

Con respecto a esta noticia, algunas personas pueden compartir las preocupaciones de la ola de despidos de hace un año, pero es inevitable que algunas personas se sientan celosas y odiosas. Sí, hay casas en Beijing y Tianjin, con un depósito de más de 7 millones de yuanes, que pueden estar fuera del alcance de muchas personas en sus vidas.

Sin embargo, ya sea por simpatía, envidia, celos u odio, siempre es una pérdida de trabajo, parece que no puedes encontrar el rumbo de la vida, e incluso sentir que la vida no tiene sentido, y luego producir una ansiedad sin fin. ¡Mucha gente ha experimentado este tipo de sufrimiento!

35 años es un obstáculo en la vida, hay un camino ancho por delante, o lleno de espinas ... Sin embargo, el tiempo continúa todos los días, nunca dejará de esperarte, así que aún tienes que morder la bala Aprieta los dientes y persistir. Espera, es posible que veas una vida más emocionante.

Mentalidad correcta

Si planea ser programador de por vida, debe establecer su mentalidad y mantener su competitividad. Por supuesto, es bueno poder ingresar a una gran empresa con anticipación para hacer administración y ser un experto. Incluso si no puede ingresar, hay una predicción por adelantado, sabiendo que es común que las personas sean exigentes y delgadas después de ser mayores, y pueden soportar quejas y enojos, y tal vez puedan vivir de manera segura hasta los 40 o 50 años. años.

El status quo de la carrera es el status quo, si no hay forma de cambiar la carrera, solo puedes pensar en formas de cambiarte a ti mismo. Autoexamen, aprendizaje continuo, buena planificación, basado en 10-20 años de carrera profesional, planificar con antelación. No espere a tener 40 años y todavía esté publicando su currículum para las entrevistas, sería demasiado pasivo esperar a que el arroz se cocine en casa.

Sin embargo, la gente siempre tiene que mirar los problemas desde la perspectiva del desarrollo. La sociedad se desarrolla y los tiempos avanzan. Quizás después de 20 años, los programadores no serán jóvenes. Aquí hay un pasaje de Wang Xiaobo a sus amigos:

Tenía 21 años ese día, en la edad de oro de mi vida. Tengo muchas esperanzas extravagantes. Quiero amar, quiero comer y quiero convertirme en una nube semioscura en el cielo en un instante. Después supe que la vida es un proceso lento de martilleo, la gente envejece día a día, sus extravagantes esperanzas se desvanecen día a día y finalmente se vuelven como un toro que ha sido martillado. Pero no lo había previsto cuando celebré mi cumpleaños número 21. Creo que viviré para siempre y nada puede golpearme.

Cómo mejorar la competitividad

1. Elija una subdivisión

Android ahora se subdivide en muchos campos. Los mencionados anteriormente son desarrollo de aplicaciones, seguridad inversa, audio y video, Internet de vehículos, Internet de las cosas, desarrollo de teléfonos móviles, desarrollo de SDK y desarrollo de cajas de TV inteligentes, etc. Elija uno de estos campos y continuar Ir profundo.

2. Resta, trata de especializarte en una técnica

En la sociedad actual, la división de la tecnología se está volviendo cada vez más detallada, y cuanto más detallada significa que la mayoría de las empresas (excepto los pequeños talleres) necesitan talentos especializados (preferiblemente competentes en múltiples disciplinas).

Descubrirás que la mayoría de los técnicos que te rodean y que se destacan confían en una técnica, pero rara vez ves que surgen un montón de técnicas sin ser competente. Por ejemplo, en el mundo de las artes marciales, todos los enfrentamientos entre maestros eliminaban las artes marciales en el mismo período de tiempo. Si las artes marciales de las artes marciales no fueran lo suficientemente buenas y fueran abusadas cada minuto, no habría necesidad de hacerlo. usar las artes marciales que guardaron para mostrar su fealdad.

Creo que la versión real es ir a una gran empresa para entrevistar a Android. Como resultado, no conozco a fondo la tecnología de Android y soy abusado por varios tipos. El entrevistador no está interesado en aprender sobre el frente restante. tecnología final, tecnología back-end, python, etc.

Entonces, no es que mientras más habilidades conozcas, mejor, debes hacer un buen trabajo de resta, primero especializarte en una materia y luego aprender otras técnicas.

3. Hablar sobre la reciente tecnología de Android.

Kotlin, el lenguaje de desarrollo oficial recomendado por Google, es interoperable con Java, se pueden convertir entre sí, es conciso y seguro, etc. Es un lenguaje de programación tipado estáticamente que se ejecuta en la máquina virtual Java. Se llama Swift of el mundo de Android. Está diseñado y desarrollado por JetBrains. Y es de código abierto. Kotlin se puede compilar en código de bytes Java o JavaScript, que es conveniente para ejecutar en dispositivos sin JVM.

Flutter, Flutter es un nuevo marco de interfaz de usuario móvil lanzado por Google en la Conferencia Mundial Móvil 2018 el 27 de febrero de 2018 para ayudar a los desarrolladores a desarrollar aplicaciones nativas de alta calidad en plataformas iOS y Android. Desde que fue lanzado por Google, en términos de prospectos, es digno de reconocimiento.

Los amigos que lo necesiten pueden consultar la información que he recopilado antes:

"Combate práctico mejorado de Kotlin avanzado (con demostración)"

"Tecnología Flutter avanzada"

para resumir

Cada industria tiene cosas buenas y cosas malas. Mientras sigas aprendiendo y progresando, podrás recoger los frutos que otros no pueden. Para decirlo sin rodeos, ¡tener la idea de cambiar a Java también demuestra que no está seguro de su nivel técnico! Solo avanzando continuamente en el camino de la tecnología, no habrá confusión similar.

Para los programadores, hay demasiados contenidos de conocimiento y tecnología para aprender. Muchas personas siempre encuentran algunos problemas cuando son nuevas en esta industria o cuando se encuentran con un período de cuello de botella. Por ejemplo, después de estudiar durante un período de tiempo, sienten que no tienen sentido de la orientación y no saben por dónde empezar. Aprende. Puedes seguirme todos los días. Actualizar todo tipo de productos técnicos secos.

Ya tengo 32 años, marzo del año nuevo será mi cumpleaños número 33, y en 2 años será la legendaria "Date" de 35 años. He estado en la industria del programador durante casi 10 años, 3 años de Java, 7 años de Android hasta ahora, ¡el puesto de arquitecto ByteDance debería permitirme llegar a los 40 años! Sin embargo, ya he dirigido algunos negocios secundarios, que pueden considerarse como un "revés" para mí.

Hasta ahora, como desarrollador de Android, me gustaría compartir algunas generalizaciones y resúmenes de la tecnología a lo largo de los años, y compartir con mis notas sobre las habilidades que necesito dominar como desarrollador senior de Android. Espero que pueda ayudar. Amigos que han recorrido todo el camino por el camino de la tecnología.

Habilidades esenciales para arquitectos

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.

Puntos de conocimiento:
1. Comprensión profunda de los genéricos de Java
2. Explicación detallada de las explicaciones
3. Programación simultánea
4. Transmisión y serialización de datos
5. Principios de la máquina virtual Java
6. E / S eficiente

Habilidades esenciales para arquitectos

Interpretación del marco de código abierto

Con el desarrollo continuo de las empresas de Internet, hay cada vez 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 aplicación de Nace la tecnología plug-in. Si no hay tecnología de complemento, las aplicaciones que integran una gran cantidad de "aplicaciones" como Meituan y Taobao pueden ser tan grandes como unos pocos g.

Por lo tanto, el desarrollo móvil de Android de hoy no se arreglará en caliente, se conectará o se compondrá, y más del 80% de las entrevistas no se aprobarán.

Puntos de conocimiento:
1. Diseño de hotfix
2. Diseño de marco de plug-in
3. Diseño de marco de componente
4. Marco de carga de imágenes
5. Diseño de marco de acceso a la red
6. Diseño de marco de programación adaptable RXJava

Interpretación del marco de código abierto

Ajuste de rendimiento completo 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.

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 arranque 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 la red y el almacenamiento de datos
  • Optimización del tamaño de APK

3. Optimización de la eficiencia del desarrollo

  • Sistema de control de versiones distribuido Git
  • Sistema de construcción automatizado Gradle

4. Proyecto de combate real

  • Velocidad de inicio
  • Fluidez
  • La práctica de optimización de recursos de tamaño de paquete APK de Douyin
  • Análisis completo de la tecnología de diseño receptivo de Youku
  • Optimización de la red
  • Revelando el secreto del proyecto de optimización del rendimiento en Taobao Double 11
  • Análisis de la dependencia del código fuente del enlace completo de la aplicación AutoNavi
  • Compartir la experiencia de combate real para matar completamente a OOM
  • Práctica de optimización de memoria de terminal Android WeChat

Ajuste de rendimiento completo de 360 ​​°

Arquitectura del marco de Android

Arquitectura de marco de Android (UI avanzada + código fuente FrameWork) Este conocimiento es actualmente el que más usuarios tiene, y lo llamamos la tecnología de Android 2013 ~ 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 Internet: los que están familiarizados están tratando con ellos casi todos los días y copian estos códigos todos los días; los desconocidos lo están a pesar de que lo están lidiando con ellos todos los días, lidiando 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. Promoción avanzada de UI
2. Componentes del kernel de Android
3. IPC esencial para grandes proyectos
4. Persistencia y serialización de datos
5. Análisis del kernel del marco

Arquitectura del marco de Android

Desarrollo de módulos NDK (series de audio y video)

NDK (abreviatura de Native Development Kit) es un kit de desarrollo de software basado en una interfaz de programación nativa que le permite utilizar herramientas de código C y C ++ en aplicaciones de Android. El programa desarrollado por esta herramienta se ejecuta directamente de forma local, no una máquina virtual.

En Android, NDK es una colección de una serie de herramientas, que se utilizan principalmente para ampliar el SDK de Android. NDK proporciona una serie de herramientas para ayudar a los desarrolladores a desarrollar rápidamente bibliotecas dinámicas C o C ++, y pueden empaquetar automáticamente estas y aplicaciones Java en un apk.

Puntos de conocimiento en este artículo:
1. Introducción a C / C ++ desarrollado por NDK
2. Desarrollo de módulos JNI
3. Programación Linux
4. Procesamiento de imágenes de bajo nivel
5. Desarrollo de audio y video
6. Aprendizaje automático

Desarrollo del módulo NDK

Desarrollo de applets de WeChat

Como uno de los escenarios de aplicaciones de desarrollo de programación más populares, los applets de WeChat son muy populares en el mercado, lo que hace que muchos desarrolladores sean codiciosos. Pero para los principiantes, está completamente perdido. No sé qué conocimientos se deben aprender en el desarrollo y producción de los applets de WeChat. Los amigos que lo necesiten pueden consultar este artículo.

Los principales puntos de conocimiento en este artículo:
1. Descripción general e introducción del
applet 2. Desarrollo de la interfaz de usuario del applet
3. Operación de la API
4. Combate práctico de proyectos de centros comerciales

Desarrollo de applets de WeChat

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

Debido al espacio limitado, solo se puede compartir una parte de las preguntas de la entrevista, y se pueden leer y descargar más preguntas y respuestas de la entrevista con [haga clic en mí] ~ Compártelo con todos de forma gratuita, es un comentario agradecido.

Supongo que te gusta

Origin blog.csdn.net/zhireshini233/article/details/114378636
Recomendado
Clasificación