¿Cómo me preparo para la entrevista de trabajo de ingeniero de software de Square?

Las entrevistas de ingeniería de software de Square no son intrínsecamente muy diferentes de otros procesos de entrevistas que puede haber tenido en otras compañías. Estamos interesados ​​en lo que has hecho y lo que nos muestras que puedes hacer, por lo que desde ese contexto damos más importancia a las entrevistas de emparejamiento.

Esa sería la parte más desconocida de nuestras entrevistas. Escribí esto hace unos meses:

http://corner.squareup.com/2011/…

Más allá de eso, nos gustan las personas que pueden aprender rápido, que tienen curiosidad natural sobre las tecnologías y que están interesadas en Square debido a los problemas que estamos tratando de resolver (suena un cliché, pero me desconcierto cuando hago preguntas a un candidato y no pueden llegar a nada relacionado con nuestro negocio o los obstáculos técnicos que atravesamos). Mostrar entusiasmo genuino causa una gran impresión.

Tu día será de 6 a 7 entrevistas con el almuerzo. No sé si sus entrevistadores de almuerzo dan su opinión, pero uno de ellos fue un entrevistador de la tarde en mi caso.

Una parte de estas entrevistas será la programación de pares , que puede estudiar revisando la biblioteca estándar de sus idiomas. Hay una diferencia entre una entrevista de programación en pareja y una entrevista telefónica con el teclado. Las dos preguntas son más prácticas y debes hackear una respuesta. Tendrás recursos que incluyen Google e IDEs. Incluso saqué twitch.tv para mi pregunta.

Además, el entrevistador es su pareja , y puede intercambiar ideas de ellos. Quieren ver su conocimiento de bibliotecas, marcos de prueba y qué tan bien puede resolver un problema feo. A juzgar por Glassdoor, muchas personas parecen tener problemas para obtener una solución de trabajo mínima. Debería hacer funcionar su código , no importa lo horrible que crea que es. Estructura tu tiempo de esta manera: 5-10 minutos hablando sobre el problema, haciendo preguntas aclaratorias y tomando notas. 20 minutos de implementación. Prueba de unidad de 10 minutos y refactorización. 10 minutos haciendo preguntas a su entrevistador.

Las otras entrevistas serán Q & A y pizarra. Estudie el diseño del sistema, la creación de redes y la resolución general de problemas. Estudie sus preguntas de comportamiento y reanude también.

Encontré que las entrevistas en pareja son las más fáciles, pero la presión del tiempo llega a las personas. Las preguntas de diseño del sistema y el tipo fueron más difíciles, pero pueden tomar la forma más fácil de un diálogo entre usted y el entrevistador.


Recuerde: la entrevista técnica depende de varios parámetros, desde el lado del empleador, por ejemplo, puesto de trabajo, responsabilidad, departamento, tipo de proyecto, tipo de tecnología, tipo de habilidades, años de experiencia, mentalidad de entrevistador / entrevistadores, requisitos inmediatos, decisión firme de contratar-nohire y muchos más. Del lado del candidato, por ejemplo, la forma en que se presentó el CV (currículum), la forma en que el candidato llevó la discusión técnica / no técnica y muchos más)


ENFOQUE DE EJEMPLO:

Puede diseñar un enfoque que se adapte mejor a sus parámetros relacionados con sus habilidades / (y muchos otros), de modo que pueda ofrecer lo mejor que pueda ofrecer (por ejemplo, seguramente necesita revisar el perfil de trabajo, el equipo, comprender sus antecedentes, el diseño propio, etc. )


Ejemplo: alguien puede usar el siguiente enfoque, para un plan de dos meses: alrededor de 250 horas para preparar al ingeniero de software / ingeniero de software en entrevistas de prueba para MS / Google / …

En realidad, todas estas empresas, por ejemplo, MS, Google, Amazon, Facebook, Apple, siguen un enfoque en el que miden el proceso de pensamiento de un candidato.

Y usan diferentes medios para evaluar eso, pero sí, la mayoría de ellos usa Algoritmos / Estructuras de datos / Preguntas abiertas (si ha solicitado un trabajo de ingeniería de software) como uno de los enfoques para evaluar el talento. base para desarrollar las tecnologías).


Para estar acostumbrado a algos / estructura de datos / codificación, debe haber entendido / practicado el mínimo, por ejemplo:

(Paso 1): debe tener una comprensión práctica de los algoritmos (por ejemplo, cuándo usar BackTracking, cuándo usar Divide and Conquer, ¿por qué se requiere doble hashing ?, ¿dónde se puede aplicar el concepto de fuerza bruta?) ( 50 horas).

(Paso 2): debe tener una comprensión práctica de las estructuras de datos, por ejemplo (casos de uso prácticos relacionados con: cuándo usar el búfer circular, o cuándo usar una lista adyacente o la combinación de ambos o algo más para resolver el problema).
(50 horas)

(Paso 3): debe practicar varios problemas de codificación para implementar las cosas que aprenden del Paso 1 y del Paso 2 (puede hacer lo siguiente para elegir cualquier lenguaje de codificación para elegir el suyo (C, C ++ o Java o Python o PHP o cualquier otro).
(50 horas)

(Paso 4): Resolver el problema no significa solo resolverlo, sino comprender la mejor manera de resolverlo, por ejemplo, el problema técnico dado puede usar varias formas para llegar a una solución, y es posible que desee utilizar la solución óptima. . (Cómo se conecta la solución dada con los recursos informáticos / de memoria, por ejemplo, Memoria / Potencia de procesamiento)
(50 horas)


Sin embargo, el más importante.

Sin embargo, aparte de la programación, es posible que deba comprender que el concepto principal para la entrevista es mantener la entrevista activa y esto requiere algunas acciones de su parte, como las siguientes:

Necesitas hablar.

Necesitas explicarlo.

Necesitas discutirlo.

Necesitas expresar tus puntos de vista.

Debe comprender claramente las preguntas que se le hacen.

Debe comprender la expresión y la mentalidad del entrevistador para comprender esas preguntas.

Es posible que deba hacer las preguntas adecuadas para comprender la pregunta o cualquier otro elemento de discusión. (50 horas)


Y también :

Prepárese: “Cuénteme acerca de usted mismo”, “Sus habilidades relacionadas con un mayor interés positivo / negativo”, Conceptos básicos para los conceptos informáticos más necesarios o cualquier cosa que haya presentado en su “CV / Currículum”.
(10 horas)

Lo anterior es solo un plan de muestra, puede personalizar la forma que desee (por ejemplo, 50 horas a 10 horas o algo más). Haga clic en Amazon para encontrar los mejores libros que pueda necesitar (por ejemplo, algoritmos de Cormen)

(Aquí Google no significa Google, significa cualquier compañía que sea muy creativa para presentar los productos relacionados con la informática).

(Suponiendo que pasas 4 horas todos los días)


More Interesting

¿Cómo aprovechar al máximo el rechazo de una empresa de software?

¿Qué debo preparar para la entrevista para el desarrollador de material de estudio para física?

¿Es aceptable terminar una entrevista temprano?

¿Qué es una biblioteca de entrada / salida?

¿Hay algún blog sobre preguntas de entrevistas de programación?

¿Cómo diseñaría un algoritmo codicioso que conecta cada punto negro con un punto blanco para que la longitud total de los cables utilizados para formar tales pares conectados sea mínima?

¿Qué haría si no sabe cómo resolver las preguntas del algoritmo en una entrevista técnica?

¿Cuándo es el momento adecuado para que un graduado universitario (CSE) comience a leer el libro 'Cracking the Coding Interview'?

Recientemente fallé la pantalla de mi teléfono Google y me siento devastado. Fallar significa que nunca tuve una oportunidad en primer lugar. ¿Debería molestarme en intentarlo nuevamente en un año?

¿Cuáles son las mejores fuentes para practicar problemas de programación dinámica?

¿Qué proyectos de codificación debe hacer uno si él / ella está solicitando Google, FB, Microsoft, Twitter, Amazon, etc.?

Cómo actuar en una entrevista cuando no sé nada técnico

¿Resolver 3000 preguntas de algoritmos en 3 años es suficiente para prepararse para las entrevistas de Google y Facebook?

¿Vale la pena el tiempo para obtener una maestría en CS o para aprender a codificar y asistir a un campamento de entrenamiento de codificación?

¿Cuáles son algunas preguntas difíciles de la entrevista en el núcleo de Java?