¿Cómo descifrar las entrevistas de Amazon SDE-1 o SDE 2? ¿Qué conjuntos de habilidades necesito construir para eso?

Bueno, primero debe comprender la diferencia entre muy buenas compañías tecnológicas como Google, Microsoft, Amazon, Facebook, etc. y otras compañías de software.

¿Cómo son diferentes sus ingenieros?

¿Qué cosa adicional se necesita para acceder a estos para puestos de ingeniería?

¿Por qué los ingenieros de estas empresas cobran más (y mucho más en algunos países) en comparación con otras compañías?

Sí, los ingenieros de estas compañías y otras compañías también escriben código. La principal diferencia viene en términos de responsabilidades y propiedad del día a día.

En estas empresas, usted posee su módulo por completo y tiene que idear el diseño del software que escribirá para resolver un problema. La parte de codificación es solo la implementación y toma aproximadamente el 20-30% del tiempo asignado a un proyecto. La mayor parte del tiempo se dedica a diseñar cosas con los mejores y mejores algoritmos para ahorrar en los recursos de la empresa (servidores, potencia de cálculo, etc.). Esta es la razón principal por la cual las entrevistas en estas compañías se centran en algoritmos, ya que quieren personas que puedan pensar de manera innovadora para diseñar algoritmos que puedan ahorrarle a la compañía miles de dólares.

Entonces, la conclusión es que tienes que ser bueno en estructuras de datos y algoritmos para entrar en estos. No hay otra alternativa para ello.

Sobre la parte de codificación durante las entrevistas, después de que el algoritmo se discute para un problema, se espera que el candidato escriba un código claro que sea sintácticamente y semánticamente correcto. Entonces eso tiene que ser practicado ampliamente.

Use el tiempo para prepararse bien para los algoritmos de árbol y gráfico, programación dinámica, retroceso, algoritmos codiciosos, etc. Estos son siempre los temas candentes para las entrevistas en estas empresas.

Algunos problemas comunes de algoritmos solicitados en las entrevistas técnicas en Amazon:

  • Guarde todos los nodos hoja de un árbol binario en una lista doblemente enlazada utilizando el nodo derecho como nodo siguiente y el nodo izquierdo como nodo anterior.
  • Dada una matriz, encuentre el máximo j – i tal que arr [j]> arr [i]
  • Elimine los caracteres duplicados alternativos de una matriz de caracteres que tiene que hacerlo en el lugar. Como mantener solo las ocurrencias extrañas de cada personaje.

Ejemplo: Entrada: “tienes ojos hermosos”
Salida: “you gtbeaiful es”
La complejidad temporal permitida fue O (n) y la complejidad espacial fue O (1)

  • En un archivo hay 1 millón de palabras. Encuentra las 10 palabras más frecuentes en ese archivo.
  • Encuentra todos los nodos a k distancia de un nodo dado en un árbol binario
  • Clonar una lista vinculada con puntero siguiente y aleatorio
  • Serializar y deserializar una lista vinculada con puntero siguiente y aleatorio.
  • Construya un árbol binario a partir de recorridos de orden y preorden dados.
  • Devuelve un árbol de modo que cada nodo interno almacene la suma de todos sus nodos secundarios. Cada nodo de hoja almacena cero.
  • ¿Cómo implementará la lista vinculada con 1 millón de nodos? ¿Cómo accederá al nodo 999999? Ofrezca una estrategia de diseño e implementación óptimas.
  • Reversión de la lista vinculada en grupos de K.
  • Dado un número entero positivo N, cuente todas las cadenas binarias distintas posibles de longitud N de modo que no haya 1 consecutivos.
  • Compruebe si el árbol binario dado está equilibrado o no. La definición fue que no hay dos hojas que tengan una diferencia de altura mayor que una.
  • Elimine los duplicados de la cadena en su lugar en O (n).
  • Conecte nodos en el mismo nivel en un árbol binario.
  • Encuentre la suma de datos de todas las hojas de un árbol binario en el mismo nivel y luego multiplique las sumas obtenidas de todos los niveles.
  • Dada una matriz de caracteres y una palabra.
    tienes que contar el número de apariciones de esa palabra en esa matriz. puede moverse a cualquiera de las ocho direcciones válidas desde la posición actual.
  • Se le da una cadena como entrada que representa una ruta. Tienes que normalizar ese camino en el lugar (SIN ESPACIO ADICIONAL).

eginput: “\ a \ b \ c \ .. \ .. \ file.txt”
salida: “\ a \ file.txt”

  • Antepasado menos común de dos nodos en un árbol binario
  • Dados dos arreglos ordenados (con elementos repetitivos), encuentre el késimo número mínimo de ambos arreglos.
  • Dada la raíz de un árbol binario, un valor ny k. Encuentre la suma de nodos a la distancia k del nodo con valor n
  • Encuentra un elemento en una matriz girada
  • El costo de una acción en cada día se da en una matriz, encuentre el beneficio máximo que puede obtener comprando y vendiendo en esos días.

Por ejemplo, si la matriz dada es {100, 180, 260, 310, 40, 535, 695},
la ganancia máxima puede obtenerse comprando el día 0, vendiendo en
día 3. Nuevamente compre el día 4 y venda el día 6.
Si la matriz de precios dada se ordena en orden decreciente,
entonces el beneficio no se puede obtener en absoluto.

  • Dadas dos listas enlazadas, ambas representan un número. Cree una lista vinculada que contenga su suma.
  • Dado un árbol de búsqueda binario, imprima la ruta que tiene la suma igual a k y tiene saltos mínimos. es decir, si hay varias rutas con la suma igual a k, imprima la ruta con un número mínimo de nodos.
  • Una matriz MxN que contiene enteros (positivo, negativo y cero). Para cada posición que contenga 0, marque la fila y columna correspondiente como 0.
  • Gire la matriz MxN por 90 grados.
  • Encuentre el enésimo número que contiene el dígito k o es divisible por k. (2 <= k <= 9)
  • Escriba un programa para conectar el siguiente nodo izquierdo en un árbol binario. ¿También el primer nodo de cada nivel debe apuntar al último nodo del siguiente nivel? (Sin usar Cola)
  • Convierta un árbol binario en su árbol de suma (cada nodo es la suma de sus hijos)
  • Dado un gráfico dirigido. Construya otro gráfico a partir del gráfico dado, de modo que si la ruta existe desde los vértices A a los vértices B y de B a C, entonces la ruta de A a C y de C a A también debería existir.
  • Implemente hashmap por su cuenta. Escriba una buena función hash para la cadena.
  • Dada una matriz, organice los elementos de modo que el número formado al concatenar los elementos sea el más alto.

Por ejemplo: input = [9, 93, 24, 6],
la salida debería ser: [9,93,6,24].
Esto se debe a que si concatena todos los números,
993624 es el número más alto que se puede formar.

  • Dada una cadena, encuentre la subcadena más larga que es palíndromo.
  • Dado que los enteros se leen de una secuencia de datos. Encuentre la mediana de los elementos leídos de manera eficiente. Por simplicidad, suponga que no hay duplicados.
  • Escriba un programa eficiente para imprimir k elementos más grandes en una matriz. Los elementos en la matriz pueden estar en cualquier orden.
  • Dada una matriz sin clasificar y un número K. Encuentre 2 números tales que la suma sea K.
  • Dado el árbol n-ary. Recorrido de orden de nivel en zigzag.
  • Dadas las cadenas sy la cadena t encuentran si toda la permutación de t está presente como subcadena en s.
  • Diseñe una pila que contenga un valor entero tal que la función getMinimum () devuelva el elemento mínimo en la pila. Implemente la función popMin () que extraería el elemento mínimo de la pila original.
  • Dado un conjunto de intervalos como 5-10, 15-20, 25-40, 30-45, 50-100. Encuentra el i-ésimo número más pequeño en estos intervalos. Suponga que no hay números duplicados.

ej .: primer número más pequeño = 5 sexto número más pequeño = 10
Séptimo número más pequeño = 15 y así sucesivamente.

  • Dada una matriz que primero aumenta estrictamente y luego disminuye estrictamente. Encuentra un elemento en esta matriz.
  • Dado un ejemplo de cadena: shoppingwithflipkartiseasy, ahora se nos da esta cadena y un diccionario que contiene palabras válidas, ahora necesitamos dividir la oración en palabras separadas por espacio. Salida: comprar con flipkart es fácil
  • Dada una serie 2, 3, 4, 5, 6, 8, 9, 10, ……, aquí en esta serie están presentes todos los números que tienen factores solamente y solo 2,3 o 5. Necesitan escribir un nodo para generar enésimo número para la serie. Con el mejor enfoque y complejidad.
  • Dado un árbol con pesos de arista, encuentre cualquier camino en el árbol con la suma máxima de aristas.
  • Fusionar k matrices ordenadas.
  • Dado un laberinto, un punto inicial y un punto final encuentran el camino más corto para llegar al punto final desde el punto inicial.
  • Dada una oración y un conjunto de caracteres. Encuentre la ventana mínima dentro de la cual se puede encontrar el conjunto de caracteres en la oración en cualquier orden.
  • Se le da una cadena de 0 y 1, tiene que encontrar el número de subcadenas en la cadena que comienza y termina con un 1.

ej .: entrada: 0010110010 salida: 6

  • Se le asigna un mapeo como a -> 1, b-> 2 … z-> 26. Debe imprimir todas las combinaciones posibles de un número determinado utilizando la información anterior.

Por ejemplo: entrada: 121
salida: aba, la, au

  • Se le asigna un mapeo como a -> 1, b-> 2 … z-> 26. Debe imprimir todas las combinaciones posibles de un número determinado utilizando la información anterior.

por ejemplo: entrada: 121 salida: aba, la, au

  • Dado un diccionario de 50,000 palabras. Dada una frase sin espacios, agregue espacios para que sea una oración adecuada.

Por ejemplo: input: thequickbrownfoxjumpoverlazydog
salida: el rápido zorro marrón salta sobre perro perezoso

  • Dado un conjunto no ordenado de n enteros que pueden contener enteros de 1 a n. Algunos elementos pueden repetirse varias veces y otros elementos pueden estar ausentes de la matriz. Cuente la frecuencia de todos los elementos que están presentes e imprima los elementos que faltan.

Ejemplos: Entrada: arr [] = {2, 3, 3, 2, 5}
Salida: a continuación se encuentran las frecuencias de todos los elementos
1 -> 0 2 -> 2 3 -> 2 4 -> 0 5 -> 1

  • Obtenga el siguiente número más grande con los mismos dígitos de un número.
    Eg, For 123456, next number would be 123465
  • Dada una matriz 2D booleana, encuentre el número de islas. Un grupo de 1s conectados forma una isla. Por ejemplo, la siguiente matriz contiene 5 islas

Entrada: mat [] [] =
{{1, 1, 0, 0, 0},
{0, 1, 0, 0, 1},
{1, 0, 0, 1, 1},
{0, 0, 0, 0, 0},
{1, 0, 1, 0, 1}}
Salida: 5

  • Dadas dos cadenas en minúsculas, la tarea es hacerlas anagrama. La única operación permitida es eliminar un carácter de cualquier cadena. ¿Encuentra el número mínimo de caracteres que se eliminarán para hacer que ambas cadenas sean anagrama?

Si dos cadenas contienen el mismo conjunto de datos en cualquier orden, las cadenas se denominan anagramas.

Ejemplos:

Entrada: str1 = “bcadeh” str2 = “hea”
Salida: 3
Necesitamos eliminar b, cyd de str1.

Entrada: str1 = “cddgk” str2 = “gcd”
Salida: 2

Entrada: str1 = “bca” str2 = “acb”
Salida: 0

  • Dado n enteros no negativos que representan un mapa de elevación donde el ancho de cada barra es 1, calcule cuánta agua puede atrapar después de llover.

Ejemplos:

Entrada: arr [] = {2, 0, 2}
Salida: 2
La estructura es como abajo
El | El |
| _ |
Podemos atrapar 2 unidades de agua en el espacio intermedio.

Entrada: arr [] = {3, 0, 0, 2, 0, 4}
Salida: 10
La estructura es como abajo
El |
El | El |
El | El | El |
| __ | _ |
Podemos atrapar “3 * 2 unidades” de agua entre 3 y 2,
“1 unidad” en la parte superior de la barra 2 y “3 unidades” entre 2
y 4. Ver también el siguiente diagrama.

Entrada: arr [] = [0, 1, 0, 2, 1, 0, 1, 3, 2, 1, 2, 1]
Salida: 6
El |
El | || El |
_ | _ || _ ||||||
Trampa “1 unidad” entre las primeras 1 y 2, “4 unidades” entre
primeros 2 y 3 y “1 unidad” entre el segundo último 1 y los últimos 2

  • Dadas dos cadenas str1 y str2 y operaciones inferiores que se pueden realizar en str1. Encuentre el número mínimo de ediciones (operaciones) necesarias para convertir ‘str1’ en ‘str2’.

Insertar

Eliminar

Reemplazar

Todas las operaciones anteriores son de igual costo.

Ejemplos:

Entrada: str1 = “geek”, str2 = “gesek”
Salida: 1
Podemos convertir str1 en str2 insertando una ‘s’.

Entrada: str1 = “cat”, str2 = “cut”
Salida: 1
Podemos convertir str1 en str2 reemplazando ‘a’ con ‘u’.

Entrada: str1 = “domingo”, str2 = “sábado”
Salida: 3
Los últimos tres y primeros personajes son iguales. Nosotros básicamente
necesita convertir “un” a “atur”. Esto se puede hacer usando
debajo de tres operaciones.
Reemplace ‘n’ con ‘r’, inserte t, inserte un

  • Dada una cadena con caracteres repetidos, la tarea consiste en reorganizar los caracteres en una cadena para que no haya dos caracteres adyacentes iguales.

Nota: Se puede suponer que la cadena solo tiene alfabetos en minúscula en inglés.

Ejemplos:

Entrada: aaabc
Salida: abacá

Entrada: aaabb
Salida: ababa

Entrada: aa
Salida: no es posible

Entrada: aaaabc
Salida: no es posible

  • Este problema se conoce como problema del ángulo del reloj donde necesitamos encontrar el ángulo entre las manecillas de un reloj analógico en un momento dado.

Ejemplos: Entrada: h = 12:00, m = 30.00
Salida: 165 grados Entrada: h = 3.00, m = 30.00 Salida: 75 grados

————————————————————————————————

Para obtener más experiencias y problemas de las entrevistas en las entrevistas técnicas en Amazon, visite GeekyPrep.com. Únase a nosotros, prepárese para las entrevistas, ¡sea contratado!

¡Buena suerte!

Trampa “1 unidad” entre las primeras 1 y 2, “4 unidades” entre
primeros 2 y 3 y “1 unidad” entre el segundo último 1 y los últimos 2

  • Dadas dos cadenas str1 y str2 y operaciones inferiores que se pueden realizar en str1. Encuentre el número mínimo de ediciones (operaciones) necesarias para convertir ‘str1’ en ‘str2’.

Insertar

Eliminar

Reemplazar

Todas las operaciones anteriores son de igual costo.

Ejemplos:

Entrada: str1 = “geek”, str2 = “gesek”
Salida: 1
Podemos convertir str1 en str2 insertando una ‘s’.

Entrada: str1 = “cat”, str2 = “cut”
Salida: 1
Podemos convertir str1 en str2 reemplazando ‘a’ con ‘u’.

Entrada: str1 = “domingo”, str2 = “sábado”
Salida: 3
Los últimos tres y primeros personajes son iguales. Nosotros básicamente
necesita convertir “un” a “atur”. Esto se puede hacer usando
debajo de tres operaciones.
Reemplace ‘n’ con ‘r’, inserte t, inserte un

  • Dada una cadena con caracteres repetidos, la tarea consiste en reorganizar los caracteres en una cadena para que no haya dos caracteres adyacentes iguales.

Nota: Se puede suponer que la cadena solo tiene alfabetos en minúscula en inglés.

Ejemplos:

Entrada: aaabc
Salida: abacá

Entrada: aaabb
Salida: ababa

Entrada: aa
Salida: no es posible

Entrada: aaaabc
Salida: no es posible

  • Este problema se conoce como problema del ángulo del reloj donde necesitamos encontrar el ángulo entre las manecillas de un reloj analógico en un momento dado.

Ejemplos: Entrada: h = 12:00, m = 30.00
Salida: 165 grados Entrada: h = 3.00, m = 30.00 Salida: 75 grados

————————————————————————————————

Para obtener más experiencias y problemas de las entrevistas en las entrevistas técnicas en Amazon, visite GeekyPrep.com. Únase a nosotros, prepárese para las entrevistas, ¡sea contratado!

¡Buena suerte!

De acuerdo, este no será un proceso inmediato, estas son las cosas que debe hacer para descifrar cualquier entrevista de Dev de software (grandes empresas como LinkedIn, Amazon, Google, etc.)

  1. La preparación seguramente durará un mes o 2. (O incluso más si no tiene experiencia en Codificación / Solución de problemas de CS). Por lo tanto, planifique cómo desea espaciar el tiempo todos los días según su comodidad. Yo diría que al menos 3 horas por día entre semana y un poco más los fines de semana.
  2. Siempre participe en programas competitivos como Codechef, Hackerearth, etc., se sorprenderá de cómo estos podrían aumentar su nivel de conocimiento y confianza en un lapso de meses.
  3. Recoja los problemas de Algo y codifíquelos en su Mac con su lenguaje de programación favorito. Todo lleva un registro del tiempo que toma, enumere los errores, los casos que perdió y trate de probar cada vez.
  4. Sitios como leetcode, geeksforgeeks, carrera profesional, etc. son una bendición, ya tienen problemas y soluciones para que pueda resolverlos individualmente y compararlos con los mejores.
  5. Junto con DS n Algo, tendrá que ser muy fuerte en OOD, patrones de diseño, diseño de soluciones escalables. Para esto, revise los libros de la Biblia como Gang of four y debería haber muchos recursos.
  6. Ayudará si tiene algunos proyectos / experiencia en Tecnologías utilizadas para construir sistemas escalables, ya que hoy en día todos los grandes gigantes tienen este problema y si lo ubican, trabajaría directa o indirectamente en él.
  7. Tener un. Buen portafolio en línea, currículum, github mostrando sus proyectos

Sigue practicando y ATB!

Esta respuesta se basa en mi experiencia personal. Trabajé para Amazon y tomé entrevistas. Estas son algunas de las cosas que debe tener en cuenta al prepararse para las entrevistas o al aparecer para ello:
1. Cíñete a lo básico de los fundamentos de CS
2. Centrarse en algoritmos y estructuras de datos. Y aquí tampoco dejes lo básico. No hay límite de preguntas, pero si su concepto de estructuras de datos básicas como árboles, hash, lista de enlaces, matriz, etc. es claro, puede resolver cualquier pregunta.
3. Prepárese de las preguntas de la entrevista de programación | CareerCup y GeeksforGeeks: un portal informático para que los geeks tomen pistas de preguntas y sus patrones.
4. No acumule las respuestas, de lo contrario se caerá si hay un pequeño ajuste en la pregunta.
5. No se quede atrás de los idiomas, las entrevistas no son específicas del idioma, pero debe ser bueno en al menos un lenguaje de programación.
7. También enfóquese en su actitud personal como: debe ser un buen jugador de equipo, ser claro y firme con lo que habla, tener fe en sí mismo, escuchar con atención, hacer preguntas si es necesario y ser cortés.
6. Mantén la calma, concentrado y no entres en pánico en la entrevista. Solo relájate un día antes de la entrevista.

Todo lo mejor !

Requiere que tengas una base sólida en las siguientes tres áreas:

  1. Codificación (matrices, cadenas, matriz. Y la mayoría de las veces le piden que escriba un código de calidad de producción).
  2. Estructuras de datos (especialmente listas enlazadas, pilas, colas, árboles, colas prioritarias, etc.)
  3. Algoritmos (Centrados en Backtracking, Programación dinámica, Divide-and-Conquer).

El mejor recurso disponible para la preparación es GeeksForGeeks, pero el mayor problema es que G4G no explica la intuición detrás de la resolución de problemas y no brinda problemas relacionados para la práctica.

Otros obstáculos importantes son:

  1. Prepararse solo es difícil, ya que nos distraemos fácilmente y no podemos seguir un horario (dedicado).
  2. Muchas veces, discutir varios enfoques en persona con un grupo de personas ayuda en lugar de sentarse y codificar solo.
  3. Lo más importante, sentimos la necesidad de alguien que pueda desbloquearnos (de alguna manera para que aprendamos algunos consejos y trucos).

En caso de que esté buscando un entrenamiento MANUAL dirigido por un instructor donde muchas personas de ideas afines trabajen juntas para dominar estas habilidades. Eche un vistazo a la formación de estructuras de datos y algoritmos: Ser cero

Para descifrar entrevistas técnicas en Amazon u otras compañías importantes, debe seguir un proceso organizado. Suponiendo que ya tiene experiencia en informática y se está preparando para las entrevistas, aquí hay una lista de cosas que hacer:

  1. Repase las estructuras de datos fundamentales y los algoritmos, es decir, matrices, listas, colas, pilas, árboles, gráficos, ordenación, búsqueda, algoritmos de recorrido de árboles y gráficos. Comprenda su implementación al revés y conozca soluciones iterativas y recursivas para los problemas correspondientes.
  2. Lea los patrones de diseño y los paradigmas de diseño de sistemas distribuidos a gran escala (reducción de mapas / sistema de archivos distribuido, etc. / modelos de consistencia, etc.). Pocos indicadores útiles son High Scalability, Gain.lo blog. Si está entrevistando para un puesto experimentado de más de 5 años (SDE-2 en Amazon), puede esperar una pregunta de diseño, así que prepárese.
  3. Practique preguntas de entrevistas reales de sitios como glassdoor / carrera taza, etc. Debería pasar la mayor parte de su tiempo practicando preguntas. Practique escribir código en un papel / pizarra. No omita la parte del código de escritura, incluso si cree que conoce la solución en su cabeza. Por experiencia en entrevistarme y entrevistar candidatos, no puedo enfatizar lo importante que es esto.
  4. Para preguntas de comportamiento, tenga al menos dos historias listas para cada principio de Liderazgo (aplicable a Amazon) pero puede ser útil para entrevistas de comportamiento en otras compañías.
  5. Practique las entrevistas haciendo entrevistas simuladas con un amigo o cualquier compañía que las lleve a cabo. Esto puede ser muy útil, ya que recibirá comentarios directos de las personas que trabajan en las principales empresas.

Buena suerte entrevistando! 🙂

More Interesting

Regreso a la escuela y busco un trabajo para obtener ingresos adicionales. No estoy buscando un puesto profesional o uno relacionado con mis estudios. ¿Cómo respondo cuando un entrevistador me dice que estoy sobrecalificado para un trabajo y me pregunta por qué lo quiero?

Cómo ingresar a Typesafe como ingeniero de software

¿Cuáles son las preguntas más comunes de la entrevista de trabajo y cómo debe responderlas?

¿Es común pasar al menos 1 año para preparar la entrevista técnica para una gran empresa como Google?

¿Cuál sería la duración aproximada de tiempo para obtener una carta de oferta para un nuevo después de completar todas las rondas de la entrevista y también después de recibir la confirmación de la empresa?

¿Es aceptable llamar por teléfono antes de una entrevista de trabajo para preguntar sobre el código de vestimenta?

¿Qué dirás si un entrevistador dice 'Tienes 10 minutos para impresionarme'?

¿Necesitamos una carta de llamada para la entrevista programada?

¿Cuáles son algunas preguntas difíciles de la entrevista y cómo las respondería?

¿Cómo es el proceso de entrevista en Facebook?

Terminé mi Ingeniería en 2016, me tomé un año libre. Cuando voy a una entrevista, ¿qué debo responder si el Departamento de Recursos Humanos pregunta "qué hiciste durante un año"?

¿Todavía tengo que entrevistarme con compañías después de una entrevista de Triplebyte? ¿Es menor el número de entrevistas si paso por Triplebyte?

Cómo prepararse para una entrevista de gerente afiliado

¿Cómo debo prepararme para mi entrevista de codificación?

Tengo que responder a una oferta de trabajo en 5 días. Sin embargo, tengo una entrevista el día antes de mi respuesta. ¿Cómo le digo a esa compañía que necesito saber lo antes posible?