En febrero de 2022, finalmente me mudé a los EE. UU. con una visa de trabajo O1. Esto fue precedido por 2,5 años de trabajo para fortalecer el caso, esperando su aprobación.
1,5 años antes de esta fecha, comencé a prepararme para una entrevista para un puesto de Front End. Actualmente trabajando como ingeniero front-end sénior en Roku.
Esta publicación y la creación del canal de Telegram fueron motivadas por la falta de información detallada sobre entrevistas para ingenieros de Front-End en los EE. UU.
Antes de la reubicación, trabajé durante 7 años en empresas de subcontratación en Bielorrusia. Esto me permitió utilizar diferentes tecnologías, enfoques y trabajar en varios proyectos. Antes de mudarme, ya ocupaba un puesto como Gerente de Ingeniería con 26 ingenieros de JavaScript (esto fortaleció mi CV, especialmente para un puesto de Staff). Durante el año pasado, realicé alrededor de 50 entrevistas técnicas en el departamento.
Pero en los EE. UU., me di cuenta de que mi experiencia no es del todo relevante, y necesito comenzar desde una posición senior para descubrir cómo se construyen los procesos aquí, la cultura y cómo realizar entrevistas, que son completamente diferentes aquí. .
Comencé a prepararme para la entrevista técnica con 1,5 años de anticipación mientras esperaba mi visa. Cada mañana de mi semana laboral se dedicaba a la preparación. Se convirtió en un hábito con el tiempo y no causó ninguna molestia. Después de un tiempo, me ascendieron a la posición de Gerente de Ingeniería ya que estaba creciendo a un ritmo rápido.
1. Leetcode
Resolví 245 problemas en leetcode. Me concentré principalmente en arreglos, matrices, árboles, listas enlazadas, cadenas, tablas hash, ordenaciones y dos punteros. En mi perfil , puedes ver los temas que resolví.
2. Interfaz grande ( https://bigfrontend.dev/ )
Resolví el 50% de los problemas BFE (fáciles y medios). Publiqué todas estas soluciones en mi canal de t elegram . Este recurso es más útil para entrevistas en Meta, pero es más o menos probable que otras empresas hagan preguntas similares.
3. Diseño del sistema
4. Entrevista conductual
En Glassdoor puedes encontrar algunos ejemplos de preguntas y tareas que hacen las empresas.
Al llegar tuve un jet lag de 2 semanas, no había forma de pasar la entrevista, no podía dormir normalmente.
Pero después de adaptarme, comencé a programar activamente llamadas con reclutadores, escribiendo en LinkedIn. Hubo entre 20 y 30 mensajes con oportunidades por día, pero la mayoría de ellos son empresas sin nombre o nuevas empresas.
Antes de responder al mensaje, analicé la empresa, las inversiones, si es una empresa pública o privada, a qué se dedican y con qué tecnologías trabajan (básicamente me enfoqué en React.js, el stack JS/TS, también, el Front End posición).
Este era el filtro original.
Durante el día tuve 3 o 4 llamadas telefónicas con reclutadores, luego 2 entrevistas técnicas.
En total, participé en unos 20 simulacros para entender cómo comportarme en una entrevista y cuáles son mis debilidades, pero esto no se compara con las entrevistas reales. En entrevistas reales, ya tuve un crecimiento notable, ya después de 1 a 1,5 meses, comencé a resolver problemas de manera más eficiente, descubrí requisitos, me vendí y respondí preguntas de comportamiento, porque después de cada entrevista trabajé en errores y corregí historias .
Empecé con pequeñas empresas y empresas y estaba listo para el rechazo (¡esto es importante!).
Todos los días durante 2 meses tuve llamadas telefónicas con reclutadores, evaluaciones técnicas, entrevistas en el sitio. Es muy conveniente que ahora todo sea en línea. Después de casi un mes de proyecciones técnicas, incluso dije que me gustaba el proceso de la entrevista, hay tantos problemas y personas interesantes, pero luego llegó el tiempo en el sitio... después de la primera entrevista de 5 horas, mi opinión cambió en una dirección completamente diferente. , es tan difícil!
Al principio, tuve rechazos y fue frustrante, por supuesto. Pero tan pronto como recibí la primera oferta, mi motivación crece de inmediato ... hasta el próximo rechazo.
Estaba listo para el rechazo, pero todavía es desagradable escucharlo, especialmente cuando pasaste de 5 a 6 horas y te envían una respuesta estándar de que decidimos mudarnos con otro candidato sin ningún comentario. Esto me motivó a reflexionar y analizar lo que salió mal. Tomé notas e intenté encontrar respuestas sobre cómo resolver el problema o lo que necesitaba aclararse y cómo diseñar algo. Esto ayudó en futuras entrevistas a combinar diferentes soluciones en una sola y producir una solución de alta calidad.
Además, la comunicación con los reclutadores me ayudó a mejorar mi inglés, al principio quizás no entendía ni la mitad de lo que me decían, pero luego me acostumbré y fue mucho más fácil.
Al final, tuve muy buenas entrevistas, pero seguía siendo rechazado por algunas de ellas. Y lo peor es que no entiendes qué salió mal.
Estadísticas de mi entrevista:
Pantallas tecnológicas (26) : Meta, Amazon, Apple, Google, Microsoft, Lyft, Uber, LinkedIn, Roku, Salesforce, PayPal, DoorDash, Robinhood, Roblox, Intuit, Zoom, Grammarly, Imply, Disco, Square, SigmaComputing, LiveRamp, Zoox, Palo Alto Networks, Copo de nieve, Aurora
Entrevistas en el sitio (15) : Meta, Amazon, Google, Microsoft, LinkedIn, Roku, Salesforce, PayPal, DoorDash, Zoom, Grammarly, SigmaComputing, LiveRamp, Zoox, Aurora
Ofertas : Google, Roku, Microsoft, PayPal, SigmaComputing, LiveRamp
Al solicitar un puesto de Front End, es probable que solo se le hagan preguntas sobre el frontend, pero se le preguntará al menos 1 problema de algoritmo de nivel medio-fácil, principalmente sobre la estructura de datos y su procesamiento (no hay muchos). en JS :)). Pero a algunos les gusta preguntar a los algoritmos a la antigua.
Todos los materiales de preparación que mencioné anteriormente cubrieron las preguntas de la entrevista.
El proceso es bastante estándar:
4. Negociación
1. Llamar con el reclutador
En una llamada con un reclutador, discute preguntas generales, aprende más sobre la empresa y el equipo que está entrevistando. Te preguntan por tu permiso de trabajo. En la conversación, preguntan sobre tu experiencia y revisan tu inglés. Averiguan en qué etapa de su búsqueda de empleo se encuentra y pueden basarse en esto, por ejemplo, para acelerar su proceso de entrevista (En Aurora, dije que completé todas mis entrevistas y si podemos pasar rápidamente por todas las etapas, Estoy de acuerdo Como resultado, todas las etapas se me hicieron en 4 días y en el sitio en solo 3 rondas).
Las llamadas a menudo ocurren antes de que haya enviado su CV. Solo si todo salió bien y hay coincidencia, se le pedirá que envíe su CV. Puede que te pregunten sobre tus expectativas salariales, pero respondí con la verdad que no tengo idea de cuánto valgo en el mercado desde que acabo de llegar. Esto fue suficiente para que pasaran por alto la pregunta. Puedes pedir toda la información que necesites en la misma llamada, incluido el stack técnico del equipo. Si tienes preguntas que son importantes para ti, este es el momento de hacerlas. Para mí, fueron los términos de la tarjeta verde y la pila tecnológica.
Los reclutadores respetan tu tiempo, por lo que coordinas cada llamada de acuerdo con el calendario, eligiendo del del reclutador, o el reclutador puede elegir de tu calendario.
No especifiques tus expectativas salariales en ningún caso, si son muy exigentes (sólo ha pasado una vez), especifica un rango amplio. El reclutador de Turo me preguntó repetidamente qué esperaba, y cuando le di el rango, dijo que nuestra compensación era 2 veces menor y que no podríamos igualar.
2. Evaluación técnica
Así que ha pasado la primera etapa y se le ha asignado una evaluación técnica. Por lo general, son 45 minutos. En él, nuevamente, contará un poco sobre usted, se le harán preguntas sobre su experiencia y se le dará la oportunidad de resolver algún pequeño problema (en el 90% creará un pequeño widget en JS y un marco, o un fácil problema para algoritmos, o más bien estructuras de datos que está en JS). Ocasionalmente, hubo problemas en Hackerrank con HTML, CSS y JS, 2–3. Estos son bastante simples de resolver. A veces puedes usar cualquier editor de tu elección. Pero la mayoría de las veces envío un enlace a mi editor en línea (incluso con resaltado de código).
Lo más importante es no callar, pensar en voz alta para que el entrevistador siga tus pensamientos.
En relación con la ejecución del código, es 50/50, a veces necesitas ejecutar el código cuando quieras y tanto como quieras, a veces ni siquiera necesito ejecutar el código (ni siquiera existe esa posibilidad).
Hubo una vez en que me pidieron que diseñara un sistema de ascensor en una proyección técnica (sin código), no terminó bien :)
3. Entrevista en el sitio (virtual)
La etapa más difícil de la entrevista, ya que dura de 3 a 6 horas. Muchas empresas te permiten dividirlo en 2 días, eso depende de ti.
Consiste en la codificación, el diseño del sistema y la entrevista de comportamiento.
Puede preguntarle al reclutador sobre cada ronda en el sitio para comprender qué esperar de ellos.
Las rondas de codificación son similares a la evaluación técnica: descubra los requisitos, discuta la solución, codifique y pruébela.
Diseño de sistemas
Siempre centrado en cuestiones de front-end, no es necesario hablar de sistemas, bases de datos, etc. altamente cargados. Solo necesita describir alguna funcionalidad en el navegador, formas de optimizar, personalizar y expandir, describir cómo transferir datos al servidor, cómo almacenarlo, dónde almacenarlo y por qué. A veces es necesario diseñar varios puntos finales con estructuras de solicitud y respuesta. No olvides la accesibilidad, ¡es muy importante!
entrevista conductual
Aquí puede esperar preguntas sobre su experiencia, proyectos y trabajo en equipo. Básicamente, estas preguntas son "Cuéntame una situación en la que..."
En general, las preguntas se hicieron sobre el proyecto más desafiante, el conflicto en el equipo, qué hicimos cuando se acercaban los plazos y no teníamos tiempo, y cuál fue nuestro mayor fracaso.
Todas las historias deben contarse de acuerdo con la metodología STAR (situación - tarea - acción - resultado). La historia no debería ser muy larga. Se le harán preguntas aclaratorias si no explicó algo o si el entrevistador lo entendió mal.
En la mayoría de los casos, los gerentes de contratación realizan las entrevistas. Al final, esta es una gran oportunidad para que hagas todas tus preguntas sobre el equipo y el producto.
Negociación
No hay etapa menos estresante o importante. Me tomó casi un mes. Con algunas empresas, incluso hubo varias rondas, en promedio, planteé ofertas por 70-100k. Solicite comentarios sobre usted para comprender mejor qué tan bueno fue y utilícelo como una herramienta de negociación. Pero nada funciona mejor que una contraoferta. Pero es importante no ir demasiado lejos, mirar las compensaciones en el sitio web de levels.fyi de antemano para comprender el rango.
En todas las empresas, los reclutadores hacen un muy buen trabajo y lo apoyan en cada paso del camino, le dicen qué esperar en cada ronda, cómo prepararse y cómo es el proceso de entrevista en general.
Amazon : Tuve la peor entrevista de mi vida. En todas las rondas tuve problemas para entender lo que el entrevistador quería de mí, aclaraba los requisitos la mayoría de las veces y explicaba mi solución porque por alguna razón no podían entenderla. Y cuando comenzaron a hacer preguntas sobre JavaScript durante el proceso de codificación, resultó que no lo sabían y tuvieron que pasar más tiempo explicando por qué lo uso y cómo funciona. Como resultado, quedaban de 5 a 7 minutos para la codificación, pero esto fue suficiente para terminar. En la última ronda, obtuve el problema difícil con los árboles, que no resolví por completo.
Microsoft : Algunos de los entrevistadores nuevamente no sabían JavaScript, solo plantearon problemas algorítmicos y preguntas sobre cómo funciona JavaScript. Era más como una entrevista para un puesto full-stack.
Zoox : Solo se preguntaron problemas matemáticos y algoritmos.
Aurora : De nuevo, solo se pedían algoritmos, aunque el puesto es puro Front-End. Sin embargo, la entrevista de mi amigo se centró solo en las preguntas iniciales.
Meta : No esperaba tanta atención de esta empresa. Tuve muchas llamadas con un reclutador, la duración de algunas fue de una hora, donde contó todo en detalle sobre el proceso de la entrevista, entregó materiales de preparación, preguntó cómo iba la preparación y dio consejos, incluso cómo comportarse en una entrevista. , qué preguntar, qué mejor no preguntar. Las preguntas estaban en el enfoque frontal. Después del in situ, la congelación de contrataciones comenzó de inmediato...
LinkedIn : tienen un marco Ember.js, por lo que las preguntas son solo sobre JavaScript puro y la interfaz.
Apple : Perdí mis comentarios después de la evaluación técnica. Sigue buscando.
Google : El proceso de la entrevista se centró en el front-end. Después de obtener la aprobación del Comité de Peluquería de Google, su siguiente paso es la combinación de equipos. Tuve comentarios mixtos entre los niveles L5 y L4. Como resultado, el comité me dio L4 sin etapas de entrevista adicionales. Solo después de un partido de equipo exitoso, le enviarán una oferta con números, pero el tiempo que puede tomar este proceso depende de muchos factores.
Tenía 2 llamadas de equipo a la semana, aunque podía hacer todos los días. El proceso tomó 2 semanas.
Los criterios por los cuales comparé los equipos:
Tamaño del equipo. Ingenieros de infraestructura, frontend y backend.
Pila tecnológica (todo Angular).
Promoción a L5 (tiempo y oportunidad).
Producto.
Responsabilidades.
Posición frontal o de pila completa. Incluso había un backend solamente.
Proceso de desarrollo.
Quiénes son los usuarios del producto, cuántos. Quizás este sea un proyecto interno o uno grande para una gran cantidad de usuarios.
Evaluado cuán cómodo me comunico con el gerente o líder del equipo.
Como resultado, me puse en contacto con el equipo de Google Analytics, que es responsable del rendimiento de este producto. En este equipo, vi muchas oportunidades de crecimiento y métricas para la promoción.
Comparé ofertas y decidí cuál aceptar según los siguientes criterios.
Producto. Es muy importante que el producto sea de su interés. Tengo muchos años de experiencia en el desarrollo de plataformas de streaming y conozco las necesidades de los usuarios y desarrolladores. Puedo aprender mucho y ver muchos desafíos para mí en tales productos. Roku me da esta oportunidad.
Pila de tecnología y herramientas. No me gusta Angular, prefiero React.js. Esta fue una de las razones más importantes por las que elegí Roku.
Equilibrio trabajo-vida. Esto es algo muy importante. No quiero quemarme. Durante el proceso de la entrevista, puede hacer preguntas al respecto y escuchar atentamente las respuestas.
Oportunidades de crecimiento. Crecimiento en términos técnicos y dentro de la empresa a la posición de liderazgo (Staff)
Nivel de posición. Después del puesto de gerente de ingeniería, no estaba listo para puestos intermedios (sí, también los había).
Compensación total. Base y caldo. Roku paga el 85% en efectivo por los puestos senior, lo cual es más rentable para mí, como principiante en este país, ya que en esta etapa se necesita dinero aquí y ahora.
Proceso de Tarjeta Verde. Algunas empresas comienzan el proceso de tarjeta verde desde el primer día hábil, algunas después de 3, 6, 12 meses. Filtré empresas en base a 1 día y 3 meses. Pero resultó que estos términos también se pueden negociar, pude negociar de 3 meses a 1 día hábil. Un matiz importante, Meta no da tarjetas verdes, les pregunté en cada llamada, en cada etapa de la entrevista, pero nunca obtuve respuesta, nadie. Pero según información en Internet, todo anda mal con ellos.
Tamaño del equipo y responsabilidades. No me gusta trabajar en un equipo donde eres un ingeniero de Front End, o incluso 2. Quiero crecer y aprender. El nivel de los ingenieros en el equipo también fue importante para mí.
Trabajo remoto o trabajo de oficina. Prefiero el trabajo de oficina. Trabajar desde casa no es cómodo para mí. Algunas empresas ahora ofrecen trabajar 3 días en la oficina, 2 días de forma remota y algunas ofrecen trabajo remoto completo.
Localización de la oficina. Vivo en San José y algunas empresas tienen oficinas en San Francisco. Le llevará al menos 1,5 horas conducir hasta aquí. ¿Quieres pasar 3 horas al día en esto?
No programe más de 3 (pero preferiblemente 2) visitas a la semana. La semana pasada tuve 4 onsites en una semana y ¡fue un infierno! Pero tengo 2 ofertas :)
En una entrevista, tus habilidades crecen exponencialmente, así que no pases de inmediato la entrevista con la empresa de tus sueños.
Después de la entrevista puedes hablar con alguien, ayuda a relajarse.
Trabaje en los errores después de cada entrevista para comprender qué pudo haber salido mal, busque respuestas a las preguntas y tareas que hubo en la entrevista e intente resolverlo.
Prepare el texto para su autopresentación durante 1 a 1,5 minutos, lo contará en cada etapa de la entrevista.
Para una entrevista de comportamiento, prepare y practique tantas historias STAR como pueda, yo tenía unas 20 que cubrían casi todas las preguntas. Llevó cerca de un mes prepararlos.
Compre una suscripción paga a Calendly (o un servicio similar) para facilitar la gestión de sus entrevistas. Enviar las fechas en un correo electrónico significa que pueden responder dentro de una semana y exigir 5 fechas (respectivamente), por lo que estos 5 días están bloqueados para usted y no puede programar otras entrevistas en ellos.
Si tiene alguna pregunta o tema que no haya cubierto, ¡pregunte en los comentarios aquí o en mi canal de Telegram !