La pulsación de bytes ha pasado por los cinco aspectos, pero se eliminó. Le pregunté a hr la razón y dije que era ...


Inserte la descripción de la imagen aquí

Resumen

En primer lugar, es mejor no informar falsamente el salario durante la entrevista. Originalmente, ByteDance quería ir y pasó varias rondas de entrevistas. Al final, no hice una oferta. Solo pensé en algunas razones: 1. El salario se informó falsamente, que era un 30% más alto que el real. ; 2. Existía la posibilidad de mejores candidatos, no muy grande, creo que todavía hay contratación. Estoy entrevistando para el desarrollo de Android, con 3 años de experiencia, el siguiente es el proceso de entrevista:

un lado

1. Plug-inización. Inicie el método de gancho de la actividad. taskAffity.

2. ¿Okhttp admite HTTP2? ¿Cuáles son las funciones de http2? ¿Control de congestión en tcp? Apretón de manos de Tsl y algoritmo de cifrado asimétrico específico. Nombre asimétrico

3. Cómo se implementa la publicación del controlador (Runnable). La prioridad de ejecución de callback, runnable y msg.

4. ¿Cómo se logra el bloqueo? ¿Por qué no bloquear el hilo principal?

5. Encuentre la distancia máxima entre dos nodos en el árbol binario.

6.206 significa, que es el recurso no modificado, 302 significa, 301 significa

7. Problema de comunicación multiproceso. Ventaja aglutinante. Detalles de las clases java generadas por aidl. ¿Qué problemas surgen con los encuentros multiproceso?

8. ¿Cuáles son los parámetros que pasa el agente dinámico? ¿Pueden las clases sin interfaz implementar un proxy dinámico? Principio de la MAPE

9. ¿Cuál es la diferencia entre Aplicación y Actividad en el árbol de herencia de contexto? ¿Cuál es la diferencia en el uso de los dos?

10. Cualquier árbol binario, encuentre la distancia máxima del nodo

Dos lados

1. Diseñe un sistema de registro.
2. Clasificación de pérdidas de memoria. Cómo comprobar la pérdida de memoria 3.
Toque el problema del código fuente del evento.
4. El problema de la componentización. La diferencia entre módulo y aplicación. Cómo se logra la comunicación del módulo.
5. ¿Cómo lidiar con la recolección de registros de fallas nativas?
6. La anotación implementa una función de aviso: si el valor de int es mayor que 3, se requiere el aviso.

Tres lados

1. Presenta el proceso de inicio de flutter

2. Introduzca la diferencia entre aleteo y llanto.

3. Introducción a la componentización

4. ¿Cuáles son los medios para comunicarse con js en webview?

5. Presenta el principio de flutter_boost

Todos los lados

1. Las respectivas características y escenarios de uso del adaptador y el modo de decoración.

2. ¿Cómo funciona el códec de video?

3. Clasificación de bolas de tres colores

Cara de recursos humanos

1. ¿Ha preguntado sobre otras oportunidades laborales además de Bytedance? Qué son

2. Byte, empresa XXX, empresa XXX, ¿cuál es su prioridad y por qué?

3. ¿Cuál fue el salario anterior? ¿Cuál es su expectativa salarial?

4. ¿Cuáles son tus aficiones?

5. ¿Entiende los requisitos del trabajo?

6. ¿Alguna pregunta?

Esta es una historia que vi en un foro. Sé que muchos de nuestros programadores sueñan con una gran fábrica, pero cómo prepararse para entrevistas con grandes fábricas, cómo
charlar con RR.HH. , como hablar de dinero, etc. muchos programadores parecen perdidos. Up. Este artículo habla de estos temas basándose en algunas de mis propias opiniones.

¿Qué es un candidato adecuado?

Antes de introducir cómo entrevistar, aquí hay un análisis desde la perspectiva de la empresa: "¿Qué tipo de candidatos son los talentos técnicos que la empresa necesita?" Según mi experiencia con entrevistadores en esta empresa, uno tiene las siguientes características que son los programadores de Android Lo que necesitamos:

1. Licenciatura o superior (una escuela prestigiosa es mejor)

2. Con 2 años o más de experiencia laboral (una empresa famosa es mejor)

3. Tecnología sólida, búsqueda técnica y pasión por el trabajo

4. Buena comunicación y colaboración

Entre los cuatro ítems anteriores, el tercero es el más importante, es decir, la tecnología. La tecnología es el motivo más importante y directo para decidir si se pasa la entrevista. En general, cuanto más grande es la empresa, mayores son los requisitos técnicos, aunque algunos puestos no requieren tan buenas habilidades, para distinguir a los candidatos, el proceso de entrevista seguirá entrevistando algunos temas un poco más profundos, creo que todos tienen experiencia.

Además de la tecnología, las buenas habilidades de comunicación y colaboración también son más importantes. Quizás muchas personas piensen que esto es más abstracto y pensarán: "¿Cómo sabes si tengo buenas habilidades de comunicación y colaboración?" De hecho, esta pregunta no es difícil. El proceso de entrevista es un proceso de comunicación. Si no puedes comunicarte bien con el entrevistador, significa que hay un problema con la comunicación del candidato. ¿Cómo comunicarse bien con el entrevistador? Dé las siguientes sugerencias:

  • Cortesía y respeto.
  • Comprenda las preguntas del entrevistador y responda directamente.
  • Modesta, cautelosa y amigable.

La siguiente es una descripción de las calificaciones académicas y la experiencia laboral. Las calificaciones académicas no son un requisito rígido. Incluso si la escuela del candidato no es muy buena, es posible aprobar la entrevista. Esto requiere que el candidato tenga habilidades muy sólidas. La experiencia laboral es de más de 2 años. Esto se debe a que el objetivo del reclutamiento social generalmente tiene cierta experiencia laboral, y 1 año de experiencia laboral es un poco más corto. Tomemos a Baidu, por ejemplo, el nivel más bajo de reclutamiento social es generalmente T4. Casi exactamente 2 años de experiencia.

Para resumir aquí, el candidato ideal debería verse así:

1. Conocimientos técnicos sólidos y persecución técnica (obligatorio)

2. La actitud, la comunicación y el comportamiento son muy buenos (obligatorio)

3. Aproximadamente 2 años de experiencia laboral (básicamente requerida)

4. Escuelas prestigiosas, empresas famosas, educación superior (opcional, puntos extra)

Básicamente, las reuniones 1 y 2 pueden pasar la entrevista. 3 y 4 son condiciones secundarias, pero en general, es difícil cumplir 1 si no se cumple 3, sin mencionar casos especiales, no tiene significado de referencia.

Esto muestra que la tecnología es el factor decisivo en los resultados de las entrevistas. Entonces, ¿hasta qué punto se puede dominar la tecnología para aprobar la entrevista con relativa facilidad? Habiendo dicho tanto, parece que no tiene nada que ver con Android. Tomemos Android como ejemplo para analizar la tecnología necesaria para el proceso de entrevista.

Catálogo de peinado de conocimientos técnicos

El contenido detallado de todos los puntos de conocimiento técnico a continuación está organizado en el proyecto de código abierto [GitHub], y puede recogerlo si lo necesita.

1.conocimientos básicos de Java

La idea básica de la orientación a objetos

Relacionados con la clase de objeto: varias funciones clave de la clase de objeto, el concepto de grupo constante involucrado en String, serialización y deserialización.

Palabras clave importantes: final, estática.

Clase interna: la clasificación, los escenarios de aplicación y las clases internas se compilan en clases.

Clases e interfaces abstractas: diferencias y escenarios de aplicación.

Codificación: el propósito y la clasificación de la codificación.

Excepción: sistema de excepciones, excepción personalizada.

Anotación: El concepto básico, clasificación, anotación en tiempo de compilación y anotación en tiempo de ejecución de la anotación.

Contenedores: la realización interna de contenedores importantes y la comparación entre contenedores.

Modelo de memoria.

Recolección de basura.

El proceso de carga de clases.

Genérico: clasificación, comodín y límites superior e inferior, borrado genérico.

Reflexión: uso.

2. Conceptos básicos de Android

Dalvik, máquina virtual de arte

Actividad: ciclo de vida, modo de lanzamiento.

Fragmento: ciclo de vida, carga diferida, la diferencia entre los dos adaptadores.

BroadcastReceiver: conceptos básicos, clasificación de broadcast, permisos.

Servicio: ciclo de vida, el valor de retorno de onStartCommand, la diferencia entre startService y bindService, el mismo proceso y diferente * * interacción de proceso, el principio de realización de IntentService.

Herramientas importantes e implementación de código fuente: AsyncTask, HandlerThread, Handler, IntentService, LruCache, LinkedHashMap, SparseArray.

RecyclerView: principio de almacenamiento en caché, comparación con ListView, cómo se adapta el adaptador a múltiples diseños.

Almacenamiento: actualización y optimización de la base de datos, ContentProvider, SharePreference.

Problema de compatibilidad con la actualización de la versión del SDK.

Mecanismo de gestión de permisos de Android.

3. Imagen

Relacionados con el mapa de bits: cálculo del tamaño del mapa de bits, calidad, inJustDecodeBounds, inBitmap.

Comparación y compresión de varios formatos de imagen.

Carga de imágenes grandes: BitmapRegionDecoder

4. Algoritmo

No hay atajo, pero cuando lo hagas debes resumirlo según el tipo de pregunta.

5. Marco de código abierto

RxJava: Los escenarios de aplicación de los operadores, la implementación interna de los operadores clave y la comparación con RxJava.

Glide: Implementación relacionada con procesos y caché.

Retrofit: análisis de procesos, proxy dinámico y anotaciones.

OkHttp: proceso, implementación de cola, implementación de caché.

6. Desempeño

Técnicas de optimización del rendimiento: optimización de la velocidad de inicio, optimización del diseño, optimización de la memoria, optimización de la energía, optimización del tamaño del APK y optimización del deslizamiento de listas.

Herramientas de optimización del rendimiento: TraceView, Systrace, depuración de sobregiro de GPU y análisis de modo de representación de GPU, visor de jerarquía, MAT, monitor de memoria y visor de montón y rastreador de asignación, LeakCanary, Lint.

ANR

Razón ANR

Análisis del código fuente del proceso de generación de ANR

Proceso de recopilación de información

Análisis de archivos de seguimiento

Analizar el proceso básico

Ejemplo concreto

Cómo evitar ANR

Práctica de desempeño: Los problemas de desempeño resueltos se explican desde los cuatro puntos de encontrar problemas, analizar problemas, resolver problemas y resultados.

7.Ver

Proceso de dibujo: tres procesos clave de medida, diseño y dibujo.

Distribución de eventos: el principio de distribución de eventos y el problema del conflicto deslizante manejado.

Vista personalizada: Canvas & Path, una vista personalizada más compleja que se ha implementado.

8. Arquitectura

MVP: ideas y ventajas y desventajas de MVP, aplicación en proyectos,

9. Código fuente

AMS

WMS

Aglutinante

Proceso de inicio de la aplicación

Puntos de conocimiento relacionados con APK

Composición de APK: composición de resources.arsc, AndroidManifest.xml, función y principio de aapt

Proceso de empaquetado de APK

Proceso de instalación de APK

Principio de verificación y firma de APK

principio dexopt

10. Red

Conocimientos básicos: Eche un vistazo a << Computer Network >>, la atención se centra en el modelo en capas de red, TCP / UDP, HTTP / HTTPS.

11. Patrones de diseño

Resumir de acuerdo con 23 modelos de red y tres clasificaciones.Cada modelo de diseño incluye los siguientes tres aspectos, se deben preparar al menos algunos de uso común:

Conceptos básicos: diagramas UML, ejemplos sencillos, escenarios de aplicación, ventajas y desventajas.

Implementación en código fuente de Android

Aplicación en el proyecto

12. Multihilo

Mirando el arte de la programación concurrente, el catálogo de este libro es el mejor sistema de conocimiento para multihilo.

Cómo resolver los problemas de subprocesos múltiples encontrados.

13.Gradle

Colocación regular.

Envasado multicanal.

14. Complemento

La idea central del complemento.

Varios principios de implementación del marco de complementos.

15. Componentización

Ventajas de la componentización.

Arouter: Cómo usarlo y cómo implementarlo.

16 Kotlin

Puedes echar un vistazo a los útiles.

17. Multimedia

Reproducción de audio y video.

18. Gran parte delantera

ReactNative, Flutter: Si no lo ha aprendido, puede comprender el pensamiento.

19.JNI

Llame a la implementación.

Cómo charlar con RR. HH., Como hablar de dinero, etc.

En primer lugar, se reunió con RR.HH., indicando que básicamente se ha convertido en uno de los candidatos. En este momento, RR.HH. le hablará muchas preguntas, estas preguntas son para comprender algo de su situación personal. Por ejemplo, personalidad, capacidad de reacción, inteligencia emocional, etc. Además, RR.HH. de la mayoría de las empresas no tiene poder de veto. La entrevista fallida se debe principalmente a que hay mejores candidatos en lugar de que RR.HH.

Luego se trata de hablar de dinero. Primero, reclutar personas necesitadas con el menor salario es definitivamente una de las evaluaciones de RR.HH., por lo que es normal mantener bajos los precios. Y el salario de la empresa anterior también es una referencia muy importante, en general, un aumento de salario de más del 30% es muy impresionante, generalmente alrededor del 20%.

El precio de la oferta es generalmente el límite superior de la oferta. Teniendo en cuenta la situación del precio bajo, puede subir a aproximadamente 1K del salario original esperado, y luego puede hacer una oferta selectiva basada en la situación de la entrevista.

  • Los fideos son buenos, originalmente quería 16K, así que tuve que pedir 1-2K extra, no hay problema.
  • Si los fideos son promedio, informe 16 K
  • Los fideos son normales o no muy buenos, pero realmente quiero unirme a esta empresa. Puedes dejar entre 1 y 2 K según corresponda. Esto depende principalmente de ti
  • Realmente no quiero ir a esta empresa y hacer un precio gratis

Conclusión

Si quieres ir a una buena empresa, pero el poder duro actual no es suficiente, creo que es necesario trabajar duro. El nivel de habilidad técnica puede determinar hasta dónde vas y el nivel de la plataforma puede determinar tu altura. .

Si logra ingresar a la empresa de su elección a través del trabajo duro, no debe aflojarse: el crecimiento en el lugar de trabajo es lo mismo que el aprendizaje de nuevas tecnologías.

Si el artículo es útil para usted, por favor comuníquese para hacer una fortuna y darme un Me gusta. Gracias por su apoyo. Sus Me gusta son mi motivación para la actualización continua.


Finalmente: beneficios

En la industria de la tecnología, debe mejorar sus habilidades técnicas y enriquecer su experiencia práctica en proyectos de automatización, lo que será muy útil para la planificación de su carrera en los próximos años y la profundidad de su tecnología de pruebas.

En la temporada de entrevistas de Golden 9th y Silver 10th, temporada de cambio de trabajo, organizar preguntas de entrevistas se ha convertido en mi hábito durante muchos años. La siguiente es mi recopilación y clasificación en los últimos años, todo está organizado en torno a [pruebas de software], el contenido principal incluye: video exclusivo de prueba de automatización de Python, detalles de automatización de Python, un conjunto completo de preguntas de la entrevista y otro contenido de conocimiento.

Para los amigos que prueban software, debería ser el almacén de preparación de entrevistas más completo y completo. Para organizar mejor cada módulo, también me refiero a muchas publicaciones de blogs y proyectos de alta calidad en Internet, y me esfuerzo por no perder todos los puntos de conocimiento. Los amigos confiaron en estos contenidos para revisarlos y obtuvieron ofertas de grandes fábricas como BATJ. Este almacén también ha ayudado a muchos estudiantes de pruebas de software, ¡y espero que pueda ayudarlo a usted también!

¡Que tú y yo nos encontremos y encuentres algo! Bienvenido a seguir la cuenta pública de WeChat: [Artículo picante triste] Reciba gratis un libro de entrevistas para ingenieros de pruebas de software de 216 páginas. ¡Y los tutoriales de aprendizaje en video correspondientes son gratuitos para compartir!

Buena recomendación de artículo:

Ali está en el segundo lado, resulta que mi comprensión de las pruebas automatizadas es demasiado superficial

Construcción del entorno de automatización de Appium

Después de leer el artículo de Daniel, no tendré miedo de la respuesta lenta del servidor.

Supongo que te gusta

Origin blog.csdn.net/weixin_50829653/article/details/112947317
Recomendado
Clasificación