¿Cuál fue la pregunta más difícil que le hicieron en una entrevista de Google? Describa cómo abordó el problema y cómo fue su discusión con el entrevistador.

Antecedentes

Fue una entrevista telefónica para el ingeniero de software en el puesto de prueba aplicado en Google, Kirkland, Washington Office.

{Antecedentes del candidato: más de 8 años de experiencia en el área de desarrollo de software / herramientas de prueba}

Pregunta

Dada una cadena, encuentre la posición de inicio del bloque más grande de caracteres repetidos.

Proceso de pensamiento para diseñar la solución

Se puede implementar un algoritmo simple en O (N), porque solo necesitamos considerar bloques de caracteres consecutivos (subcadenas) en la cadena dada. El algoritmo que implementé tomó los siguientes pasos:

· Supongamos que nuestra cadena (llámela s) es “aacdefaaaabbccc”;
· Comenzamos desde la primera posición y nos movemos hacia la derecha siempre que el personaje permanezca igual, deteniéndose cuando nos encontramos con otro personaje; por ejemplo, el primer paso consideraría los dos primeros ‘aa’ y se detendría en ‘c’;
· Cada vez que dejamos de contar, si la longitud del bloque actual es mayor que cualquier bloque que hayamos encontrado hasta ahora. Por ejemplo, cuando nos detenemos en la ‘b’ después de ‘aaaa’, estableceríamos el máximo global en 4.
· Finalmente, simplemente devolvemos la posición correspondiente al inicio de la subcadena más larga que contiene los mismos caracteres.

Piezas resistentes

No pensé en varios otros casos, por ejemplo

– ¿Qué sucederá si los caracteres repetidos tendrán el mismo recuento, por ejemplo, aabb, aquí 2 a’s y 2 b’s?

– ¿Qué hay de los espacios entre la cadena, por ejemplo, Sumit tt? Entonces se detendrá aquí o contará tres t repetitivos

– ¿Qué hay de los caracteres de un solo byte y de varios bytes?

Mi amigo y yo estábamos en el stand de Google en la feria de trabajo de nuestra universidad.
Con mucho gusto le entregó su currículum a uno de los representantes en el stand, con la esperanza de tener una buena oportunidad al menos para la primera ronda de entrevistas, ya que tenía algunos antecedentes de codificación realmente impresionantes.

El representante de Google, mientras miraba el currículum, le dijo a mi amigo en un tono extraño e irritante y le preguntó … “¿Estás loco de que estés aplicando en Google con este tipo de currículum?”

Mi amigo … ahora un poco desconcertado … sin saber realmente qué decir, respondió … “No, señor … conozco mi trabajo … no estoy loco”.

El representante miró directamente a los ojos de mi amigo, respondió con calma mientras le devolvía el currículum … “Lo siento hombre … necesitamos gente loca …”

Rechazado en el acto!

Bueno, esta fue la pregunta más tonta que me hicieron …

“¿Cómo calcularía el costo de hacer cobertura wifi en todo San Francisco”?

Esta es una pregunta tonta porque soy un experto en software de juegos en línea con mucha experiencia y conocimiento. He escrito código para todo, desde consolas hasta teléfonos celulares, computadoras de escritorio y sistemas de servidor escalables. Inventé el servidor de juegos Darkstar lanzado por Sun Labs.

NO soy ingeniero de RF. Y sé lo suficiente como para saber que la propagación de señales en una ciudad no es un problema simple. Le dije que iba a ENCONTRAR e ingeniero de RF para obtener la información.

No estaba impresionado.

En cambio, me guió a través de un ejercicio inútil de conjeturas totalmente salvajes sobre conjeturas totalmente salvajes para llegar a un número y luego no hizo la pregunta más importante al final: ¿cuál crees que es la precisión de esta respuesta? (Hubiera dicho el orden de magnitud correcto pero no más).

Tampoco me impresionó.

Editar: La nota final sobre esto es tan irónica que tuve que compartirla. Recientemente mencioné esta pregunta a un ingeniero de RF. Resulta que la premisa más básica con la que este idiota me hizo construir una estimación era errónea para empezar. Me hizo una estimación basada en el equipo WiFi de la casa, que es NADA como lo que realmente usarías para una implementación como esta.

Entonces, tenía razón, debes comenzar con un experto. Puede llamarlo una “estimación” si lo desea, pero una opinión ignorante sigue siendo solo una opinión ignorante.

En mi segunda entrevista in situ para un ingeniero de software en la 2da a la última ronda (acababa de almorzar) me preguntaron:

“Diseña una IA para el juego Battleship”

Estaba un poco sorprendido por la complejidad, pero sentí que me había ido bien en las primeras rondas, así que pensé en saltar y ver hasta dónde podía llegar, así que comencé a esbozar las reglas del juego, el tamaño del tablero, las piezas, luego, mientras lo configuraba, sugerí que el mejor primer movimiento probablemente sería cualquier movimiento aleatorio, ya que no hay datos para moverse en una dirección específica y con esto me preguntaron:

“Solo a un alto nivel, cuántos juegos de Battleship se pueden jugar potencialmente”

Esto fue cuando el pánico realmente comenzó a asentarse en que podría no llegar muy lejos. Empecé a escribir lo que pensaba que era el problema de multiplicación (número de espacios multiplicado por el número de naves y el número de posiciones posibles en las que podrían organizarse) y esto me detuvo:

“No se preocupe exactamente, básicamente, en términos generales”

En este punto, lo único que podía imaginar hacer era exactamente lo que ya estaba haciendo (no estaba tomando en cuenta la superposición del barco o las orientaciones que se derramarían sobre el borde del tablero), así que seguí adelante (pero me estaba preocupando que parecía que no estaba prestando atención a la ayuda que el entrevistador estaba ofreciendo). Me detuvo de nuevo.

“No tienes que hacer los cálculos exactos, solo tienes que estacionarlo dentro de un poder razonable de 10”

No tenía idea de cómo proceder. Murmuré algo acerca de que cada pieza del tablero debía agotarse, y eso significaba que la duración del juego era igual a 2 veces el tamaño del tablero en rondas, pero ya estaba recapitulando mi marcador de borrado en seco. Tuve la sensación de que esa ronda terminó temprano (mientras me sentía como la ronda más larga del día) y la última ronda se sintió mucho más fácil (diseñar una versión simple de memcached).

No recibí una oferta. La experiencia fue muy reveladora (y desde entonces aprendí mucho sobre las IA de Battleship e incluso trabajé en algunas de JavaScript para comprender mejor las estrategias de implementación). Tengo un correo electrónico sin respuesta para volver a ponerme en contacto con un reclutador de Google sobre la posibilidad de volver a entrevistarme (han pasado aproximadamente 2 años desde esa entrevista), y tal vez tenga otra oportunidad. Las preguntas difíciles de la entrevista son una forma increíble de darse cuenta de cuánto tiene que aprender, y he tenido en cuenta la experiencia al entrevistar a personas en mi trabajo actual. No creo que la pregunta sea injusta o dura, Google obviamente tiene un alto estándar para todos sus equipos, y si a través del trabajo duro y el estudio pudiera pasar una entrevista de Google, me sentiría afortunado de trabajar con ellos y feliz de haberlo hecho. estaría rodeado de personas igualmente trabajadoras que probablemente sean mucho más inteligentes que yo

La respuesta se actualizó para 2017. Lea la sección de edición a continuación, pero la respuesta anterior aún podría ser válida. Gracias por todo el amor.

2015: no puedo revelar la ubicación, el entrevistador o la hora. Pero te daré una idea.

La entrevista fue para un puesto de Ingeniero de Software y el entrevistador parecía ser un ingeniero o gerente senior (ciertamente superior a 40). Fue la primera entrevista en el lugar del día.

La pregunta era / parecía estar en las siguientes líneas:

Diseñe un sistema tolerante a fallas donde tengamos una cola compartida de elementos de trabajo (por ejemplo, transacciones bancarias para procesar), múltiples recolectores de trabajo (entrada de transacciones), múltiples procesadores de elementos de trabajo (despachadores). Los recolectores de trabajo traen cada solicitud y la ponen en la cola compartida. Los procesadores de trabajo eligen de la cola compartida y la procesan. A veces no pueden procesar un artículo. Cada artículo debe ser procesado y enviado. Si fallan, vuelva a intentarlo más tarde (en realidad, esta fue mi sugerencia para volver a intentarlo, el entrevistador no lo solicitó). Además, no solo diseñe el sistema, codifíquelo. No estoy seguro, pero probablemente haya una condición adicional de que el envío también debe ocurrir en la secuencia de entrada.

Creo que pedía saber lector / escritor con memoria compartida, seguridad de hilo y diseño general del sistema.

Lo anterior es mi interpretación de la pregunta y en realidad podría estar mal (porque no creo que lo haya hecho bien y, por lo tanto, no recibí la oferta).

Quizás Gayle pueda comentar si ha visto una pregunta de entrevista como esta.

No hace falta decir que más tarde tuve un fuerte dolor de cabeza.

Editar: la respuesta recibió mucho amor. Hace unos meses volví a entrevistarme en Google. La pregunta más difícil fue una variación del problema de corte de la barra que requería programación dinámica, retroceso y tales técnicas. La pregunta de diseño del sistema también estuvo bastante involucrada en las líneas de diseño del marco de Google Analytics para iOS. Recibí una oferta esta vez. Decidí unirme a Facebook.

Ahora creo que mi primera entrevista con Google me pareció difícil y obtusa porque no estaba preparada. En segundo lugar, me pareció difícil porque estaba entrevistando a un ingeniero de software general en el Nivel 5 (superior) cuando mi experiencia principal en los últimos años fue iOS. Google actualizó recientemente su política para centrarse más en la experiencia en lugar de hacer preguntas académicas, por lo que como ingeniero de iOS, estaba muy bien preparado.

¿Puede mudar a su familia de su casa de 4 dormitorios en IL para vivir en un condominio de 2 dormitorios en CA?

Estoy agregando palabras aquí porque quora me dijo que mi respuesta era demasiado corta. Respondí la pregunta que me hicieron, pero me están pidiendo que proporcione más información sobre por qué mi respuesta es válida, estoy confundido, aburrido y bastante seguro de que nadie leerá esto de todos modos.

Me entrevisté hace algunos años para un puesto de jefe de marketing en Google. Google+ era entonces esta nueva cosa que se avecina.

Primero me pidieron que estimara el LTV de un usuario de Gmail. Esa es una pregunta bastante sencilla que tengo pocos medios para responder correctamente con datos disponibles públicamente, pero creo que pude desempaquetar la lógica de cómo se calcula y usé algunos supuestos (probablemente muy inexactos) para mi parte posterior del sobre. Así que creo que me caí sobre la barra.

La pregunta más difícil fue “¿Cómo comercializaría Google+”. Le dije al entrevistador que no lo haría, que no creía que la propuesta de producto fuera clara todavía, que no resuelva un problema aparente del consumidor. Que actualmente Google+ se siente como un martillo en busca de un clavo. Dije que seguiría desarrollando el producto con usuarios beta comprometidos, tratando de descubrir qué es lo que les gusta específicamente y luego convertirlo en un producto más enfocado en esos aspectos. Solo entonces llamaría a la UA con marketing.

Creo que no era lo que querían escuchar. Así que nunca volví a saber de ellos. Sin comentarios de la entrevista, sin rechazo, solo silencio.

Escriba una función que tome dos palabras de igual longitud del diccionario de inglés como argumentos. La función debe encontrar la mutación de la primera palabra a la segunda palabra. Puedes cambiar una letra por paso. Cada paso en la mutación debe ser una palabra válida.

Ejemplo:

gato perro

gato

cuna

diente

perro

No tenía experiencia en teoría de gráficos, así que esto me dejó perplejo en ese momento.

Nota: esta es una variación del problema de edición de distancia.

Si bien aprecio esta pregunta (es una que hice mientras estaba a punto de entrevistar en Google), también me alegra ver que nadie está violando su NDA y revelando preguntas de la entrevista.

Entrevistar a los candidatos de Google es algo que todos en Google hacen, y requiere una parte importante de nuestro tiempo (recibimos miles de currículums por día). Cuando una pregunta de entrevista favorita aparece en público, entonces tenemos que dedicar aún más tiempo a formular nuevas preguntas. Entonces, cuando alguien publica una pregunta de entrevista de Google en público, está causando que los ingenieros de Google se quejen porque ahora tienen que pasar medio día extra pensando en una nueva pregunta y analizando todas las posibles soluciones y dificultades.

Por favor no hagas eso.

La pregunta más difícil de la entrevista tuvo que ver con la implementación de Google Street View (no estoy seguro de poder compartir detalles). Resultó no ser tan difícil después de todo.

No sé si la historia de Saumitra a continuación es cierta o no, pero no es la primera de su tipo que he escuchado de fuentes confiables sobre el reclutamiento de Google. Y lo encuentro espantoso (¿por qué todos los votos positivos?). Las marcas ganan y pierden poder y popularidad con el tiempo. La humildad siempre es buena.

Hubiera sido mejor decir “Lo siento, sus habilidades no son lo que estamos buscando en este momento” o “Gracias por su currículum vitae y su interés en Google, nos pondremos en contacto con usted si es necesario alguien con tus habilidades “,

He trabajado con algunas personas absolutamente maravillosas de Google, para mí esa es la esencia de lo que Google representa. No esta.

De todos modos, las marcas van y vienen, lo mejor que puede hacer como individuo es desarrollar su competencia, perfeccionar sus habilidades y encontrar una buena organización que lo valore. Espero que su amigo haya aterrizado en una gran empresa, y estoy seguro de que tiene un futuro brillante por delante.

Un amigo recibió esta pregunta, durante la entrevista telefónica:

Tiene un bloqueo de flujo de 4 dígitos donde cada dígito puede tomar cualquier valor entre 0 y 9 (por lo que hay 10k posibilidades). Ingresa una secuencia de dígitos y si en algún momento 4 dígitos consecutivos coinciden con la combinación, se abre el bloqueo. ¿Cuál es el número mínimo de dígitos que tiene que ingresar para garantizar que se abra la cerradura? Programarlo.

Después de que mi amigo me lo dijo, intenté resolverlo. Sé cómo abordarlo, pero es una prueba de varias partes que todavía no he completado por completo …

Las preguntas abiertas son las que siempre encuentro más difíciles de responder, porque hay muchas respuestas posibles y muchos detalles. Preguntas como:

“Dado este fragmento de código, ¿cómo lo probarías?”

“¿Cómo construiría una arquitectura de almacenamiento en caché para este servicio web?”

Esos tipos de preguntas tienen docenas de respuestas, y nunca puedes estar seguro de que estás alcanzando todos los puntos que el interlocutor está buscando.

Consulte las preguntas de la entrevista de Google ordenadas por votos en el sitio CareerCup de Gayle Laakmann McDowell.

El juego Pots of Gold

El objetivo es obtener la mayor cantidad de oro al final del juego frente a un oponente de IA.

Solo puedes elegir una maceta a cada lado de una línea, por ejemplo:

10, 20, 30, 40 -> Puede elegir 10 o 40 aquí.

Dado:

  • La IA siempre es óptima [búsqueda de futuro también]
  • Siempre puedes comenzar el juego

Diseñe un algoritmo para asegurarse de que gana (si es posible).

Solución: A primera vista, pensé, hey, comencemos con una solución codiciosa y seleccione max (0, last_elem), sin embargo, esto falla en el siguiente escenario:

10, 20, 100, 40 -> elegir 40 aquí hará que la computadora elija 100 y usted perderá.

Así que intenté construir un árbol de abajo hacia arriba, pero no resolví esta pregunta. ¡Algunas aportaciones de la gente serían geniales!

Hay 25 caballos. A la vez, solo 5 caballos pueden correr en la carrera individual. ¿Cuántas carreras mínimas se requieren para encontrar los 5 mejores caballos más rápidos? Por favor explique su respuesta. (No hay temporizador)

Aún sin respuesta en math.stackexchange.com y mathoverflow.net.

Para mí, fueron las preguntas simples de factoides de física las que debiste saber pero olvidaste repasar. Estas no son las preguntas exactas, pero las cosas similares serían “¿Cuál es la frecuencia de resonancia de un circuito LRC” o “¿Por qué las cerámicas tienen baja conductividad térmica?”

Me entrevisté para un puesto de ingeniería especializada (sin software).

Aquí hay algunas preguntas de la entrevista de Google:

1 – ¿Cómo explicaría la importancia de HTML5 a Larry Page y luego a mi abuela?

(a especialista creativo, enero de 2016)

2 – ¿Cuál es tu producto favorito de Google y cómo lo mejorarás?

(a gerente de proyecto asociado, enero de 2016)

3 – ¿Qué preferirás aprender aprendiendo?

(al desarrollador, febrero de 2017)

4 – Las gotas de lluvia modelo están cayendo en una acera, donde la acera es de 1 my la caída de lluvia es de 1 cm. ¿Cómo podríamos saber cuando la acera está completamente mojada?

(al ingeniero de software, enero de 2017)

Te hacen estas preguntas para poner a prueba tu ingenio y tu agudeza y saber cuán creativo eres. Si crees que tienes una respuesta o quieres algunas pistas, ve al enlace.

Publicaremos respuestas dentro de una semana.

Aquí en brainheaters, hemos tomado la iniciativa de publicar preguntas de entrevistas diariamente (en Instagram) por las principales compañías.

Aquí puede escribir sus respuestas a la pregunta dada dentro de un período de tiempo determinado (principalmente dentro de una semana)

También le proporcionamos pistas si está atrapado en algún lugar.

Esta plataforma no solo lo ayudará a desarrollarse, sino que también lo equipará con la capacidad de saber cómo abordar una pregunta determinada y en qué dirección debería funcionar su proceso de pensamiento.

Síganos en Instagram y no dude en decirnos cómo podemos ayudarlo y sobre cualquier mejora que sea necesaria.

– Saludos a los calentadores de cerebro.

¡Las preguntas de la entrevista de Google no son particularmente difíciles! Lo que los hace difíciles es la barra con la que son evaluados. Debe impresionar al entrevistador con sus habilidades para resolver problemas, velocidad y minuciosidad además de resolver el problema. De lo contrario, la pregunta es bastante típica.

“Dime cómo implementaría la búsqueda de imágenes de Google”. (Me pidieron esto en algún momento a principios de 2014 para una pasantía de verano).

“¿Por qué quieres trabajar para Google?”

Hasta el día de hoy no tengo idea de si existe una respuesta canónica que siempre haga el trabajo. 🙂

More Interesting

¿Cuáles son las mejores preguntas interesantes para la entrevista que se le hacen a un ingeniero en electrónica y comunicaciones?

Cómo comenzar con la codificación como principiante

¿Cómo encontraría eficientemente un número que se elimina de una matriz sin clasificar con los números 1, 2, 3 ... N?

¿Hay una laguna en el procedimiento de entrevista de TI?

Durante una entrevista, ¿cómo respondería a la pregunta "describa lo que sabe sobre el aprendizaje automático"?

¿Cómo perciben los empleadores a un ingeniero / programador con tatuajes durante la entrevista?

Como entrevistador, ¿seleccionará a un entrevistado que haya escrito el siguiente código para rotar una matriz 90 grados hacia la izquierda (sin usar estructuras de datos adicionales) en comparación con la solución dada en el libro de Gayle Laakmaan Cracking the Coding Interview?

En una entrevista en Google, ¿por qué me preguntaron sobre programación dinámica durante la ronda de entrevistas telefónicas?

¿Puedes usar JavaScript en la programación de entrevistas?

¿Cuáles son algunos proyectos que se pueden hacer para mejorar mi cartera de proyectos junto con mi currículum?

¿Cuáles son las preguntas más comunes que se hacen en las entrevistas para IAS?

¿Cómo imprimo una matriz de enteros con índices de caracteres en c o c ++?

¿Cómo debo prepararme para una entrevista en el sitio de Google para un puesto de diseñador de interacción?

Cómo codificar un árbol en un formato de cadena de modo que el árbol pueda reconstruirse a partir de la codificación de la cadena

¿Qué puedo esperar en la evaluación en línea SDE de Amazon? ¿Puede alguien que haya realizado la evaluación darme ejemplos de los tipos de preguntas formuladas?