Aclaración de la zona de responsabilidad: máquina de estados, Outbox Transaccional, bloqueos optimistas
Golang
¿Qué sistemas de contenedores y orquestación conoces?
¿Cuántos intentos de reintento se deben hacer antes de enviar un mensaje a DLQ?
¿Cuáles son las ventajas de usar hilos en lugar de crear procesos separados?
¿En qué se dedicaba el candidato y en qué se dedicaba el resto del equipo en Avito?
¿Por qué se añadió el servicio de verificaciones antifraude a la zona de responsabilidad del candidato?
¿Qué métodos de aislamiento proporciona Linux para los contenedores?
¿Qué técnicas se utilizan para aumentar la capacidad de transmisión y el volumen de datos en los sistemas de gestión de bases de datos?
¿Qué sucede si se inicia una goroutine y en ella se llama a panic? ¿La goroutine se detendrá o se detendrá toda la aplicación?
¿Cuál será el resultado de escribir en un canal cerrado? ¿Bloqueo, pánico o la operación de escritura devolverá un error?
¿Qué hay en la carpeta /proc?
Responda a las preguntas ¿Ha trabajado con sistemas distribuidos y sus limitaciones? ¿Cuáles? ¿Se ocupa de documentación, métricas, monitoreo? Sí No ¿Está familiarizado con la teoría CAP? Sí No ¿Cree que la cobertura del código con métricas o la actualización de la documentación requiere necesariamente una tarea adicional de deuda técnica?
¿Hacia dónde va el reintento en caso de conflicto de versión de bloqueo optimista: desde el mensaje de Kafka o desde el servicio?
¿Cuándo se calculan los argumentos de las funciones diferidas: en el momento de la definición o en el momento de la llamada a la función?
¿Cuál de los mecanismos existe en Go: herencia o composición?
¿Cuál es el orden de recorrido de los elementos en un contenedor map? ¿Fijo según algún algoritmo, determinado arbitrariamente en tiempo de compilación o determinado en tiempo de ejecución?
¿Cuándo se llamará a la función diferida defer? ¿Al salir del bloque local, al salir de la función o al finalizar la aplicación?
¿Cómo era exactamente el camino de bloqueo optimista desde la recepción del mensaje de Kafka hasta la actualización en la base de datos?
¿No surgirá una situación en la que un veredicto antiguo de rechazo vaya a DLQ y un anuncio con un precio incorrecto nunca sea rechazado?
¿Quién se encargaba de los servicios de verificación (antifraude, verificación de imágenes, texto, spam, límites)?