Cómo prepararse para obtener un puesto en una empresa basada en productos como Adobe o Amazon

Concéntrese en las siguientes áreas:

Estructuras de datos: matriz, lista enlazada, pila, cola, tabla hash, BST, mapa (hash vs árbol), conjunto, trie y gráfico. Comprenda el “costo” de varias operaciones como agregar, eliminar, modificar, buscar, ordenar, recorrer, etc. Conocer los pros y los contras de cada estructura de datos y qué tipo de datos son buenos para representar.

Algoritmos : lee tantos algoritmos como puedas. Preste mucha atención a cómo superan las desventajas de las estructuras de datos (si las hay) y explote las ventajas de las estructuras de datos y cualquier atributo especial de datos para encontrar soluciones eficientes.

Matemáticas: ¡ Repasa las matemáticas! Tiene un papel mucho más importante que el que aparece en la codificación de entrevistas. En este momento, serás bueno para resolver problemas. Sabrá cómo dividir un problema desconocido en problemas conocidos similares y / o más pequeños. Elija algunos libros populares sobre codificación de entrevistas para saber qué temas matemáticos son relevantes.

Codificación: practique escribir código elegante, correcto y eficiente que sea fácil de leer y explicar en 25-45 minutos.

Consejos para codificar entrevistas:

  1. hacer preguntas relevantes antes de intentar resolver
  2. dividir el problema en problemas conocidos similares / más pequeños
  3. Discuta brevemente el enfoque de la fuerza bruta, si es necesario
  4. donde corresponda, use
    1. matemáticas
    2. clasificación
    3. buscando
    4. el recorrido
    5. recursividad
    6. manipulación de bits
    7. programación dinámica
  5. antes de implementar su algoritmo
    1. discutirlo con el entrevistador
    2. discutir su complejidad de tiempo y espacio
    3. ver si se puede mejorar en base a la discusión anterior
  6. escribir casos de prueba (antes del código!)
  7. comience con poco, pruebe inmediatamente
  8. escribir funciones que son
    1. reutilizable
    2. débilmente acoplado
    3. pequeño y haz solo una cosa!
  9. evitar
    1. ve a S
    2. variables innecesarias
    3. innecesarios / muchos / anidados if-elses
  10. siempre
    1. validar entrada
    2. verificar códigos de retorno
    3. manejar cajas de esquina
    4. rastree su código con casos de prueba antes de decirle al entrevistador: ¡listo!

Una vez que se haya unido a una compañía, puede cambiar a cualquier compañía de productos, sin embargo, depende de su rol actual, la tecnología / lenguaje en el que esté trabajando y, lo que es más importante, la estructura de datos y el concepto de algoritmo. Uno de mis compañeros de lote pasó de una empresa de servicios conocida como TCS a una empresa de base de productos, tenía 3 años de experiencia. Luchó mucho para aprender Java, aprendió DS básico (no más profundo) y fácilmente descifró la entrevista, además era de la universidad de ingeniería normal, ya que muchas personas mencionan que deberías ser de la universidad de nivel -1; diría que no es necesario para que pertenezcas a la universidad de nivel 1. Lo único que necesita es una fuerte voluntad de aprender, hacer un trabajo duro durante un mes o dos y un objetivo en mente y una fuerte determinación de ingresar a una empresa basada en productos.

Hoy en día, el procedimiento estándar para la selección es: Prueba de codificación en línea (generalmente realizada en hackerrank y otros sitios web similares, una o dos rondas de entrevistas en línea de Skype, seguidas de 2 a 3 rondas de entrevistas cara a cara. En todas las rondas de entrevistas usted se le pedirá que escriba un código para cualquier pregunta algorítmica y conceptos básicos de ciencias de la computación. La mayoría de las veces se evalúa su enfoque para abordar un problema, si está en el enfoque correcto, entonces el entrevistador le dará una pista y, en última instancia, podrá resolver el problema .

Para comenzar su preparación solo necesita practicar, practicar y practicar lo siguiente:

  • Fuerte conocimiento de cualquier lenguaje C / C ++, Java, Python, C # junto con conceptos de OOPS nítidos. Siempre puede preparar o aprender cualquiera de los lenguajes anteriores recientemente: la referencia completa de C ++ / Java es lo que mencioné muchas veces. Un montón de recursos en línea disponibles para sobresalir. Debe sentirse cómodo escribiendo código en cualquier idioma.
  • Estructura de datos y algoritmo : esta es la parte más importante de la entrevista. Debería tener una comprensión muy clara de ds donde debería poder escribir código para cualquier problema dado. La mayoría de las veces se solicitan las siguientes estructuras de datos:
  • Lista enlazada
  • Pilas
  • Colas
  • Árboles binarios / Árboles de búsqueda binaria: lo más importante.
  • Algoritmos de clasificación
  • Gráficos: solo DFS., BFS
  • recursividad
  • manipulación de bits
  • programación dinámica
  • Para todas las preguntas sobre DS, puede consultar GeeksforGeeks | Un portal informático para geeks. Esto tiene todos los recursos necesarios.
  • Debe tener una comprensión clara de las complejidades del tiempo y las complejidades del espacio. Esto es muy importante ya que siempre se le pedirá que optimice su solución.
  • Un nivel básico variable de preguntas de diseño si tiene más de 3 a 4 años de experiencia o si no se hacen preguntas de diseño a nivel de entrada.
  • Conceptos básicos del sistema operativo Más específicos: métodos IPC, Mutex, semáforos, etc.
  • Preguntas básicas de rompecabezas – rompecabezas muy simples como – Top 25 rompecabezas de entrevistas tecnológicas con respuestas | Puzzle Fry
  • Ahora los materiales de recursos más importantes :
  • necesita una aptitud rápida para resolver problemas que se puede adquirir fácilmente con la práctica y resolviendo cientos de preguntas ds. Es solo una cuestión de 2–3 meses de preparación del núcleo duro y habrá terminado. [1]

    Notas al pie

    [1] e-Khaliyan

    Hacer entrevistas a empresas como Adobe, Amazon, Microsoft, etc. no es tan fácil. La regla es simple, quieren lo mejor y te pagan mucho por ser el mejor.

    Por lo tanto, compartiré mi experiencia personal de cómo cambié de un ingeniero de desarrollo de software en el rol de prueba en una empresa basada en productos a un rol de desarrollo de pila completa en una startup. Ahora debe estar preguntándose si preguntó sobre pasar de empresas basadas en servicios a empresas basadas en productos, entonces, ¿por qué le estoy dando este ejemplo? Esto es principalmente para mí, los idiomas en los que estaba trabajando era Perl, C, que implicaba un poco de protocolos y quería para avanzar hacia el desarrollo web que no estaba cerca de esto. Supongo que la misma brecha en las pilas y la tecnología también estará allí para usted, pero confíe en mí si realmente quiere hacerlo y planificarlo bien. 6 meses deberían ser suficientes (pero realmente necesita planificarlo bien).

    Lo primero que debe hacer es ver qué tipo de preguntas hacen. Por supuesto, no le harán las mismas preguntas, pero obtendrá una idea clara del nivel que desean y los temas en los que se centran (Amazon realmente se centra en los árboles, de hecho, la mayor parte de la entrevista se basa en eso). Así que dirígete a CareerCup y busca las preguntas que hacen las empresas que deseas. Simplemente observe los temas e intente no resolverlos inicialmente.

    Una vez que haya terminado con eso, siéntese y vea si realmente comprende esos temas o no. Ahora comienza la verdadera diversión, siguiendo mi horario:

    Lo que necesitas saber:-

    • Estructuras de datos: -Arrays, LinkedList, Trees (Amazon se enfoca mucho en eso), montones, cadenas, programación dinámica (Microsoft se enfoca mucho en esto), bits de gráficos (esto dependería de la posición que esté aplicando, google se enfoca mucho) en esto: D)
    • Algoritmos: todos los algoritmos básicos como ordenar, buscar, atravesar, eliminar, agregar, etc.
    • Sistemas operativos: – Poco sistema operativo, no realmente en detalle, como el uso de Linux por razones obvias. Luego, los conceptos del sistema operativo, como la paginación, la programación de procesos, la administración de memoria (sí, los errores de administración de memoria son realmente malos, por lo que pocas empresas preguntan).
    • Protocolos de red: Sí, tener un poco de conocimiento de redes es realmente agradable y se agrega a su cartera. Entonces, piense cómo procesa su navegador cuando ingresa a Google, desde la resolución dns, hasta las solicitudes del servidor para equilibrar la carga hasta el procesamiento. Esto aclarará mucho tus conceptos básicos.
    • Matemáticas: esto realmente pone a prueba tu aptitud y muchos acertijos se basan en esto, por lo que las matemáticas son realmente cruciales.

    Cómo hacerlo:-

    • Revise los conceptos básicos de las estructuras de datos y los algoritmos en una semana (ya practicaba SPOJ desde la universidad, así que solo necesitaba un poco de actualización). Dedique algo de tiempo a esto y trate de entender cómo funcionan, realmente son maravillosos. Puedes usar geeksforgeeks o algunos libros.
    • Dirígete a Codificación La preparación de la entrevista es fácil e inscríbete. Realmente han organizado estructurado donde se puede practicar muy bien. Empiezan con matemáticas, matrices y se mueven en listas enlazadas, árboles, gráficos, etc. Apuesto a que si terminas todas las preguntas aquí y las entiendes por completo, podrás descifrar la mayoría de las entrevistas (Sí, por supuesto, las preguntas no son fáciles )
    • Una vez que haya comenzado anteriormente, revise algunos acertijos interesantes y problemas matemáticos en http://www.geeksforgeeks.com .
    • Participe en desafíos mensuales de código largo en codechef e intente resolver algunos problemas todos los días en SPOJ (sí, le enseñan a ver casos de esquina).

    Lo que necesita tener durante la entrevista: –

    • Primero y principal confianza
    • Capacidad para mantener la calma siempre.
    • Encontrar casos de esquina de borde en sus preguntas.
    • Conversación con el entrevistador sobre el problema y lo que está pensando. Intente definir el alcance del problema y comprenda el problema de la pregunta.
    • La codificación / secuencia de comandos en un idioma en particular debe ser fuerte.
    • Comience con algo peor si es posible y luego mejore.
    • No digo que no pueda hacerlo, por favor, ayúdenme (nunca deberían hacerlo), quieren ver cómo piensan, así que sí, PIENSEN.

    Espero que haya ayudado 🙂

    Estaba con TCS y me mudé a una empresa basada en productos. Muchas personas se han mudado a Amazon desde una empresa de servicios.

    Especialmente, las empresas como Amazon necesitan personas que puedan escribir código, implementar y dar soporte.

    Por ejemplo: si usted es administrador del sistema, necesita saber cosas en profundidad como DNS, DHCP, redes, SO y un mínimo de un lenguaje de programación.

    Las compañías basadas en productos observan cómo la persona puede manejar un mal momento. En una entrevista me preguntaron mis errores en la vida / trabajo y qué aprendí de ellos.

    Decida en qué rol desea ingresar y explore en profundidad todas las tecnologías relacionadas. Tomará tiempo. Pero al final pagará.

    Le respondí en general, pero agregue más detalles como la posición que está buscando. Eso ayudaría a responder más específico.

    ¡¡Todo lo mejor!!

    Primero debes establecer una meta para ti mismo, donde quieres estar en los próximos 2 o 3 años. Para ingresar a una empresa basada en productos, no es suficiente tener conocimientos básicos sobre una tecnología. Necesitas estar muy avanzado. La codificación es realmente imprescindible para un desarrollador. De nuevo depende de la posición a la que aspira.

    Para facilitar las cosas durante las entrevistas, le recomiendo que prepare diferentes algoritmos y modelos de desarrollo. Estos son como debe. Si es competente con al menos un par de idiomas y está listo para asumir desafíos, entonces tiene una buena oportunidad en las empresas basadas en productos.

    Todos aquellos que han estado en compañías de productos de compañías de servicios no son solo cualquiera regular / aleatorio, solo aquellos que son conocedores y apasionados pueden hacerlo.

    More Interesting

    ¿Qué empresas estadounidenses tienen reputación de contratar ciudadanos no estadounidenses?

    ¿Qué compañía hizo correas de seguridad de velcro médicas?

    ¿Por qué Reliance es la peor compañía de comunicación para los consumidores?

    ¿Cuál es el procedimiento para registrar una empresa manufacturera en India (precisamente Dehradun)?

    ¿Es posible que las empresas privadas creen una planta de energía nuclear?

    ¿Cuál es la mejor compañía proveedora de aluminio en Dubai?

    Como estudiante, ¿cómo debo llamar a una empresa para realizar ubicaciones?

    Mi compañía no me deja ir incluso después de que les di la carta de renuncia indicando una emergencia personal en casa. ¿Pueden realmente ponerme en la lista negra?

    Cómo examinar una compañía de entrenamiento táctico

    ¿Cómo es la vida de un empleado en una empresa de TI en la India?

    ¿Cuáles son las principales empresas para obtener capacitación como ingeniero civil en la India?

    ¿Qué multinacionales con una oficina en India están dispuestas a patrocinar sus honorarios ejecutivos de MBA de una institución reconocida a nivel mundial?

    ¿Podemos usar la regresión para determinar los factores que afectan la rentabilidad de una sola compañía (datos de series temporales, datos trimestrales, 12 años de una sola compañía)?

    Somos una empresa de marketing de inicio, y los clientes siguen preguntando por nuestro perfil de empresa. ¿Cómo pueden las startups hacer un perfil?

    ¿Cuál es el procedimiento para incluir la palabra 'INDIA' en el nombre de la empresa?