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?
- ¿Es mejor recibir llamadas de entrevista y luego ir a una ciudad como Bangalore o simplemente mudarse allí e ir a pasear?
- ¿Son 10 días suficientes para prepararme para la entrevista de Amazon?
- No tengo ropa bonita / profesional para una entrevista de trabajo. ¿Tengo 0 posibilidades de trabajo de inmediato?
- ¿Cómo debería responder si un entrevistador me pregunta "cuál prefiere, investigación o desarrollo de software"?
- ¿Se recomienda decir en una entrevista de trabajo que puedo trabajar 12 horas al día y que no he tenido vacaciones en 25 años? ¿Va a ser algo que me ayude a conseguir un trabajo o hará lo contrario?
¿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!