Entrevista de ingeniero de software de Facebook: la única publicación que necesitarás leer

Práctica 1 a 1 con ex entrevistadores de Facebook. Más información.

Programar entrevistas en Facebook es realmente un reto. Las preguntas son difíciles, específicas de Facebook y cubren una amplia gama de temas.

La buena noticia es que la preparación adecuada puede marcar una gran diferencia y puede ayudarlo a obtener un trabajo de Ingeniero de software en Facebook. Hemos elaborado la guía definitiva para ayudarle a maximizar sus posibilidades de éxito.

Este es un resumen de lo que cubriremos:

  • Proceso y línea de tiempo
  • Preguntas de ejemplo
    • Entrevista de codificación
    • Entrevista de diseño de sistemas
    • Entrevista de comportamiento
  • Consejos de preparación

1. Proceso de entrevistas y cronología

1.1 Qué entrevistas esperar

¿Cuál es el proceso y la cronología de entrevistas de ingeniería de software de Facebook? Tarda de cuatro a ocho semanas en promedio y sigue estos pasos:

  1. Currículum, carta de presentación y referencias
  2. Pantalla del teléfono del reclutador: una entrevista
  3. Pantalla técnica del teléfono: una o dos entrevistas
  4. En el sitio: de cuatro a seis entrevistas

Veamos cada uno de estos pasos con más detalle a continuación:

1.1.1 Pantalla del teléfono del Reclutador

En la mayoría de los casos, comenzarás el proceso de entrevista con Facebook hablando por teléfono con un reclutador de recursos humanos. Están buscando confirmar que tienes una oportunidad de conseguir el trabajo, así que prepárate para explicar tu experiencia y por qué encajas bien en Facebook. Deberías esperar preguntas típicas de comportamiento y de currículum como, «Cuéntame sobre ti»,» ¿Por qué Facebook?», o » Cuéntame sobre tu día a día actual como desarrollador.»

Si superas esta primera pantalla de recursos humanos, el reclutador te ayudará a programar tus primeras pantallas técnicas con un ingeniero de Facebook. Una gran cosa de Facebook es que son muy transparentes sobre su proceso de reclutamiento. Por lo tanto, su contacto de recursos humanos lo guiará a través de los pasos restantes en el proceso de contratación y también compartirá con usted una lista de recursos de correo electrónico útiles que puede usar para prepararse.

1.1.2 Pantalla técnica del teléfono

Pasará por una o dos pantallas técnicas iniciales de 45 minutos que generalmente ocurren por teléfono. Sus entrevistadores comenzarán con algunas preguntas de comportamiento, pero la mayor parte del tiempo se dedicará a preguntas típicas de codificación (por ejemplo, estructuras de datos, algoritmos, etc.).)

Usarás un editor de código en línea simple sin resaltado de sintaxis ni autocompletado para estas entrevistas telefónicas (por ejemplo, CoderPad) y es una buena idea acostumbrarte a usar uno de ellos de antemano.

Finalmente, si vives cerca de una oficina de Facebook y estás realmente motivado para unirte a la empresa, puedes pedir que vengas a las pantallas iniciales. Su reclutador generalmente estará encantado de organizar esto para usted, ya que es una mejor experiencia tanto para usted como para sus entrevistadores.

1.1.3 Entrevistas en el sitio

Las entrevistas en el sitio son la prueba real. Normalmente, pasará un día completo en una oficina de Facebook y realizará de cuatro a seis entrevistas en total. Cada entrevista durará unos 45 minutos y cubrirá uno de los siguientes temas:

  1. Entrevista de codificación, donde resolverás preguntas generales de codificación que normalmente serán más difíciles que en la pantalla técnica inicial.
  2. Entrevista de diseño, donde se te hará una pregunta de diseño de sistema o producto en función de tus antecedentes.
  3. Entrevista de comportamiento, donde puedes esperar preguntas sobre tus antecedentes, logros y motivación para trabajar en Facebook.

Normalmente obtendrá tres entrevistas de codificación, una entrevista de diseño y una entrevista de comportamiento. Pero, como explicaremos en la siguiente sección, el desglose exacto variará en función del puesto, el equipo y el nivel al que te estés postulando.

Además de estas entrevistas, también almorzará con un compañero ingeniero mientras está en el lugar. La entrevista de almuerzo está destinada a ser tu tiempo para hacer preguntas sobre cómo es trabajar en Facebook. La compañía no lo evaluará durante este tiempo, pero le recomendamos que se comporte como si lo fuera.

1.2 Diferencias entre niveles y roles

El proceso que hemos descrito anteriormente variará ligeramente dependiendo del nivel y el rol para el que se esté entrevistando. Estas son algunas de las diferencias más comunes que debe esperar.

1.2.1 Ingenieros de software junior vs Senior

Las expectativas para ingenieros junior y senior son diferentes.

Si eres un ingeniero principiante / junior, se espera que lo hagas muy bien en tus entrevistas de codificación. Pero por lo general, solo tendrá una entrevista de diseño de sistema única donde la barra de rendimiento será más baja que para los candidatos más senior.

Si usted es un ingeniero senior, ambos tendrán que hacer muy bien las entrevistas de codificación y diseño de sistemas. También podría tener dos entrevistas de diseño de sistemas en lugar de una en ciertas situaciones (por ejemplo, si solicita un puesto en el equipo de infraestructura).

1.2.2 Colaboradores individuales vs gerentes

Facebook tiene dos pistas de carrera. Puede convertirse en un gerente donde termina liderando equipos de ingenieros (seguimiento de gestión). O puede mantenerse muy práctico técnicamente y especializarse a medida que se hace mayor (pista de colaborador individual).

Si se está entrevistando como colaborador individual, debe esperar principalmente entrevistas técnicas y, por lo general, solo tendrá una sola entrevista de comportamiento.

Si se está entrevistando como gerente, director o superior, debe esperar al menos dos entrevistas de comportamiento. Esté preparado para responder preguntas sobre cómo desarrollar a las personas, trabajar con equipos multifuncionales, ejecutar proyectos, hacer crecer una organización, etc.

1.3 Qué sucede entre bastidores

Tu reclutador lidera el proceso y te lleva de una etapa a la siguiente. Esto es lo que sucede detrás de escena en cada una de las etapas descritas anteriormente:

  • Después de la pantalla técnica del teléfono, los entrevistadores con los que ha hablado tienen 24 horas para enviar sus calificaciones y notas al sistema interno. Luego, tu reclutador revisa los comentarios y decide trasladarte a la entrevista en el sitio o no, dependiendo de lo bien que lo hayas hecho.
  • Después del Sitio, los cuatro a seis entrevistadores harán una recomendación sobre contratarte o no y el reclutador compilará tu «paquete» (comentarios de la entrevista, currículum, referencias, etc.).) Si creen que puedes conseguir el trabajo, presentarán tu caso en la próxima reunión de revisión de candidatos.
  • Las reuniones de revisión de candidatos se utilizan para evaluar a todos los candidatos que han terminado recientemente sus ciclos de entrevistas y están a punto de recibir una oferta. Su paquete será analizado y se discutirán posibles preocupaciones. Se invita a sus entrevistadores a unirse a la reunión de revisión de candidatos, pero por lo general solo asistirán si hay un fuerte desacuerdo en las calificaciones que recibió (por ejemplo, 2 sin contrataciones, 2 contrataciones). Si después de las discusiones, el equipo aún no puede ponerse de acuerdo sobre si debe obtener una oferta o no, es posible que se le pida que realice una entrevista de seguimiento para resolver el debate. Al final de la reunión de revisión de candidatos, se hace una recomendación de contratación / no contratación para que la considere el comité de contratación.
  • El comité de contratación incluye a los líderes sénior de Facebook. Este paso suele ser una formalidad y el comité sigue la recomendación de la reunión de revisión de candidatos. El enfoque principal es ajustar el nivel exacto y, por lo tanto, se le ofrecerá una compensación.

También es importante tener en cuenta que los gerentes de recursos humanos y las personas que te refieren tienen poca influencia en el proceso general. Pueden ayudarte a conseguir una entrevista al principio, pero eso es todo.

2. Preguntas de ejemplo

Aquí en Igotanofer, creemos en la preparación de entrevistas basada en datos y hemos utilizado datos de puerta de vidrio para identificar los tipos de preguntas que se hacen con más frecuencia en Facebook.

Para codificar entrevistas, hemos desglosado las preguntas que se le harán en subcategorías (por ejemplo, Arreglos / cadenas, Gráficos / Árboles, etc.).), para que pueda priorizar los más frecuentes en su preparación. Para el diseño del sistema y las preguntas de comportamiento, hemos enumerado 10 preguntas de ejemplo que se notificaron con frecuencia en Glassdoor.

2.Facebook software engineer: 1 Entrevista de codificación

Preguntas de entrevista de ingeniero de software de Facebook

Los ingenieros de software de Facebook resuelven algunos de los problemas más difíciles que enfrenta la empresa con el código. Por lo tanto, es esencial que tengan fuertes habilidades para resolver problemas. Esta es la parte de la entrevista en la que quieres mostrar que piensas de una manera estructurada y escribes código preciso, rápido y sin errores.

Aquí están los tipos de preguntas más comunes que se hacen en las entrevistas de codificación de Facebook y su frecuencia. Tenga en cuenta que la lista a continuación excluye el diseño del sistema y las preguntas de comportamiento que cubrimos en las siguientes secciones.

  1. Arrays / Cadenas (38% de las preguntas, más frecuentes)
  2. Gráficos / árboles (29%)
  3. Programación Dinámica(18%)
  4. Buscar / Ordenar (9%)
  5. Listas vinculadas(4%)
  6. Pilas / colas (2%, menos frecuentes)

A continuación, también hemos enumerado ejemplos comunes que se usan en Facebook para estos diferentes tipos de preguntas. Para que estas preguntas sean más fáciles de estudiar, hemos modificado la redacción para que coincida con el problema más cercano en Leetcode u otro recurso, y hemos vinculado a una solución gratuita.

Por último, recomendamos leer el siguiente artículo escrito por un ex entrevistador de Facebook para comprender más sobre el enfoque paso a paso que debe usar para resolver preguntas de codificación.

Ejemplo de preguntas de codificación hechas por Facebook

1. Matrices / cadenas (38% de las preguntas, más frecuentes)

  • «Dado un array nums de n enteros donde n > 1, devuelve un array output tal que output es igual al producto de todos los elementos de nums excepto nums.»(Solution)
  • «Dada una cadena no vacía s, puede eliminar como máximo un carácter. Juzga si puedes convertirlo en un palíndromo.»(Solución)
  • » Implementar next permutation, que reorganiza los números en la siguiente permutación mayor de números lexicográficamente.»(Solution)
  • » Dada una cadena S y una cadena T, encuentre la ventana mínima en S que contendrá todos los caracteres en T en complejidad O (n).»(Solution)
  • » Dado un arreglo de strs de cadenas, agrupe los anagramas juntos.»(Solution)
  • » Dada una cadena s que contiene solo los caracteres ‘(‘, ‘)’, ‘{‘, ‘}’, «, determine si la cadena de entrada es válida.»(Solución)
  • » Dado un array nums de n enteros, ¿hay elementos a, b, c en nums tales que a + b + c = 0? Encuentra todos los trillizos únicos en la matriz que da la suma de cero.»(Solución)

2. Gráficos / Árboles (29%)

  • «Dado el nodo root de un árbol de búsqueda binario, devuelve la suma de los valores de todos los nodos con valores entre L y R (inclusive).»(Solution)
  • » Dado un Árbol Binario, conviértalo en una Lista Circular Doblemente Vinculada (En el Lugar).»(Solution)
  • » Implementa un iterador sobre un árbol de búsqueda binario (BST). El iterador se inicializará con el nodo raíz de un BST.»(Solution)
  • » Dado un árbol binario, debe calcular la longitud del diámetro del árbol.»(Solution)
  • «Serializar y deserializar un árbol binario» (Solution)
  • «Dado un árbol binario, encuentre la suma de ruta máxima.»(Solución)
  • » Dado un diccionario ordenado (conjunto de palabras) de un idioma extranjero, encuentre el orden de los caracteres en el idioma.»(Solución)
  • «Comprobar si un grafo es Bipartito o no» (Solución)

3. Programación Dinámica(18%)

  • «Dada una lista de números no negativos y un entero de destino k, escriba una función para verificar si el array tiene un subarreglo continuo de tamaño al menos 2 que suma hasta el múltiplo de k, es decir, suma hasta n*k donde n también es un entero.»(Solución)
  • «Supongamos que tiene una matriz para la que el elemento i es el precio de una acción determinada en el día i. Si solo se le permitió completar como máximo una transacción (es decir, comprar una y vender una acción de la acción), diseñe un algoritmo para encontrar el beneficio máximo. «(Solución)

  • «Dada una cadena de entrada (s) y un patrón (p), implemente la coincidencia de expresiones regulares con soporte para '.' y '*'.»(Solución)
  • » Se le da una lista de enteros no negativos, a1, a2, … una, y un objetivo, S. Ahora tienes 2 símbolos + y -. Para cada entero, debe elegir uno de + y - como su nuevo símbolo. Averigüe cuántas formas de asignar símbolos para hacer que la suma de enteros sea igual a la S de destino » (Solución)

4. Buscar / Ordenar (9%)

  • «Tenemos una lista de points en el avión. Encuentra los puntos K más cercanos al origen (0, 0).»(Solution)
  • » Dados dos matrices, escriba una función para calcular su intersección.»(Solución)
  • » Dado un conjunto de intervalos de tiempo de reunión que consisten en horas de inicio y finalización ,,…] encuentre el número mínimo de salas de conferencias requeridas.»(Solución)

5. Listas vinculadas(4%)

  • «Se da una lista enlazada de tal manera que cada nodo contiene un puntero aleatorio adicional que podría apuntar a cualquier nodo de la lista o null. Devuelve una copia detallada de la lista.»(Solution)
  • «Dada una lista enlazada única L: L0?L1?…?¿Ln-1?Ln, reordenar a: L0?¿En?L1?¿Ln-1?¿L2?¿Ln-2?Solution » (Solución)

6. Pilas / Colas (2%)

  • «Implemente las siguientes operaciones de una cola utilizando pilas.»Nota: ver más detalles en el siguiente enlace. (Solución)

2.2 Facebook Instagram y Whatsapp tienen más de 1 mil millones de usuarios activos mensuales . Por lo tanto, los ingenieros de Facebook deben ser capaces de diseñar sistemas que sean altamente escalables. Las preguntas de codificación que hemos cubierto anteriormente generalmente tienen una única solución óptima. Pero las preguntas sobre el diseño del sistema que se le harán suelen ser más abiertas y se sienten más como una discusión.

Esta es la parte de la entrevista en la que quieres demostrar que puedes ser creativo y estructurado al mismo tiempo. En la mayoría de los casos, su entrevistador adaptará la pregunta a su experiencia. Por ejemplo, si has trabajado en un producto de API, te pedirán que diseñes una API. Pero ese no siempre será el caso, por lo que debe estar listo para diseñar cualquier tipo de producto o sistema a un alto nivel.

Como se mencionó anteriormente, si eres un desarrollador junior, las expectativas serán más bajas para ti que si eres de nivel medio o senior. Además, para ciertos roles(por ejemplo, infraestructura, seguridad, etc.) es probable que tenga varias entrevistas de diseño de sistemas en lugar de solo una.

Aquí están las preguntas más comunes sobre el diseño del sistema que se hacen en los informes de entrevistas de Facebook que se pueden encontrar en Glassdoor. Para obtener más información, recomendamos leer la siguiente guía sobre cómo responder preguntas de diseño de sistemas y practicar preguntas de diseño de sistemas en este curso.

Top 10 diseño del sistema de preguntas en Facebook

  • ¿Cómo diseñar Instagram / Instagram Historias
  • ¿Cómo le diseño de Facebook
  • ¿Cómo le diseño de Facebook Messenger
  • ¿Cómo le diseño de Facebook de la actualización en vivo de los comentarios en los posts
  • ¿Cómo sería el diseño de una línea de colaboración editor (por ejemplo, Google Docs)
  • ¿Cómo diseñar un typehead característica (por ejemplo, Autocompletar búsquedas de Google)
  • Cómo diseñarías los temas de tendencias de Twitter
  • Cómo diseñarías una Botnet distribuida
  • Cómo diseñarías un sistema que pueda manejar millones de transacciones de tarjetas por hora
  • Cómo diseñarías la seguridad para la red corporativa de Facebook desde cero (Entrevista al equipo de seguridad)

2.3 Entrevista de comportamiento

Los ingenieros de Facebook generalmente trabajan en equipos multifuncionales con otros ingenieros, gerentes de producto, diseñadores, analistas de datos, etc. Necesitan ser capaces de comunicarse claramente, trabajar con otros de manera eficiente, construir confianza y relaciones, etc.

Esta es la parte de la entrevista en la que realmente quieres demostrar que eres bueno trabajando con otros. Como mencionamos anteriormente, si estás solicitando un puesto de gerente o superior, tendrás múltiples entrevistas de comportamiento y también cubrirás temas como liderar equipos, desarrollar talento, administrar el día a día, etc.

A continuación, hemos enumerado diez preguntas frecuentes de comportamiento que Facebook tiende a hacer, según datos de Glassdoor. Para obtener más información, consulte nuestros artículos sobre cómo responder a preguntas de entrevistas de comportamiento y el «¿ Por qué Facebook?» pregunta.Facebook:

Las 10 preguntas de comportamiento más frecuentes en Facebook

  • Cuéntame sobre ti
  • ¿Por qué Facebook?
  • me Dicen acerca de un reciente / proyecto favorito y algunas de las dificultades que había
  • cuéntame sobre el mayor logro de su carrera
  • dígame alrededor de una época que luchó para trabajar con uno de sus colegas
  • dígame alrededor de una época que tuvo que resolver un conflicto en un equipo de
  • dígame alrededor de una época que recibieron retroalimentación constructiva
  • Dígame alrededor de una época que tuvo que asumir la responsabilidad por los demás
  • dígame alrededor de una época que lucharon en uno de sus proyectos de software
  • háblame de tu peor jefe y por qué eran malos

3. Cómo prepararse

Ahora que sabe qué preguntas esperar, centrémonos en cómo prepararse. No es ningún secreto que el nivel de rendimiento en Facebook es alto. Algunas personas incluso llegan a dejar su trabajo para prepararse para las entrevistas a tiempo completo.

Esto es obviamente extremo y no es lo que recomendamos hacer, pero muestra cuánto esfuerzo están dispuestos a hacer algunos candidatos. A continuación, enumeramos los cuatro pasos que recomendamos seguir para prepararnos de la manera más eficiente posible.

3.1 Aprende sobre la cultura de Facebook

La mayoría de los candidatos no lo hacen. Pero antes de invertir decenas de horas en preparar una entrevista en Facebook, deberías tomarte un tiempo para asegurarte de que sea la empresa adecuada para ti.

Facebook es prestigioso y, por lo tanto, es tentador ignorar ese paso por completo. Pero en nuestra experiencia, el prestigio en sí mismo no te hará feliz día a día. Es el tipo de trabajo y la gente con la que trabajas esa voluntad.

Si conoces a ingenieros que trabajan en Facebook o solían trabajar allí, es una buena idea hablar con ellos para entender cómo es la cultura. Además, recomendamos leer sobre los 5 valores fundamentales de Facebook y la cultura hacker.

3.2 Practica por ti mismo

Como se mencionó anteriormente, tendrás tres tipos de entrevistas en Facebook: codificación, diseño de sistemas y comportamiento. El primer paso de su preparación debe ser repasar estos diferentes tipos de preguntas y practicar para responderlas usted mismo.

Para programar entrevistas, recomendamos leer el siguiente artículo escrito por un ex entrevistador de Facebook para comprender más sobre el enfoque paso a paso que debe usar para resolver preguntas de codificación en una entrevista.

Y para practicar, te recomendamos usar Leetcode, donde puedes hacer mucho con el nivel Gratuito, y también acceder a preguntas específicas de Facebook usando el nivel Premium.

Para entrevistas de diseño de sistemas, recomendamos estudiar nuestra guía de entrevistas de diseño de sistemas. La guía cubre un método paso a paso para responder preguntas de diseño de sistemas y proporciona varias preguntas de ejemplo con soluciones.

Para las entrevistas de comportamiento, recomendamos aprender nuestro método paso a paso para responder este tipo de preguntas. Además, querrá escribir sus respuestas a las preguntas de comportamiento comunes que hemos enumerado en la sección anterior.

Finalmente, una excelente manera de practicar la codificación, el diseño de sistemas y las preguntas de comportamiento es entrevistarse a sí mismo en voz alta.

Esto puede sonar extraño, pero mejorará significativamente la forma en que comunica sus respuestas durante una entrevista y realmente marca la diferencia en nuestra experiencia. Desempeña el papel tanto del candidato como del entrevistador, haciendo preguntas y contestándolas, al igual que dos personas lo harían en una entrevista.

3.3 Practicar con compañeros

Practicar solo te llevará hasta cierto punto. Uno de los principales desafíos de programar entrevistas es tener que comunicar lo que estás haciendo mientras lo haces. Como resultado, recomendamos encarecidamente practicar entrevistas de programación en vivo con un compañero que te entrevista.

Un gran lugar para comenzar es practicar con amigos si puedes. Si no tienes a nadie en tu red que pueda entrevistarte, también puedes encontrar compañeros con los que practicar en plataformas como Pramp.

3.4 Practica con ex entrevistadores

El principal beneficio de practicar con compañeros es que es gratis. Pero en algún momento empezarás a notar que los comentarios que recibes de tus compañeros ya no te ayudan mucho. Una vez que llegue a esa etapa, le recomendamos que practique con ex entrevistadores de las principales empresas de tecnología.

Si conoces a un ingeniero de software que tenga experiencia en la realización de entrevistas en Facebook u otra gran empresa de tecnología, eso es fantástico. Pero para la mayoría de nosotros, es difícil encontrar las conexiones adecuadas para que esto suceda. Y también puede ser difícil practicar varias horas con esa persona a menos que la conozcas muy bien.

Aquí están las buenas noticias. Ya hemos hecho las conexiones para ti. Hemos creado un servicio de coaching donde puedes practicar 1 a 1 con ex entrevistadores de empresas tecnológicas líderes como Facebook. Obtenga más información y comience a programar sesiones hoy mismo.

Coaching de entrevistas SWE

¿Tiene alguna pregunta sobre las entrevistas de Ingenieros de Software de Facebook?

Deja una respuesta

Tu dirección de correo electrónico no será publicada.