¿Cómo se preparan otros ingenieros de software senior para codificar entrevistas?

1. ¿Cómo postularse a las empresas?

Practique e intente omitir las pantallas de los teléfonos, que generalmente están estructuradas para ser más junior. Intenta obtener una referencia de un amigo o ex colega. Una vez que ingresa al sitio, se asume que ha realizado algunas comprobaciones básicas y las entrevistas se vuelven (al menos un poco) más específicas de roles: diseño del sistema, arquitectura, etc.

En Refdash puede hacer una entrevista técnica gratuita con otro ingeniero senior, obtener comentarios técnicos profundos y también acelerar las entrevistas en las principales empresas de tecnología, yendo directamente al sitio con múltiples.

2. ¿Cómo prepararse para las entrevistas técnicas?

Si siente que sus fundamentos no necesitan una revisión y solo necesita practicar, entonces hay algunas maneras de hacerlo:

Educative.io es un sitio que contiene muchos cursos diferentes específicamente enfocados en mejorar sus habilidades de entrevista.

Entrevista Kickstart es un curso integral dirigido por docentes sobre entrevistas en el que cubren una amplia gama de temas, incluidos árboles, programación dinámica, problemas gráficos, etc.

Entrevista Cake es un curso en línea con muchas preguntas de práctica y ayuda guiada.

GeeksforGeeks o LeetCode son buenas fuentes de preguntas divididas en diferentes categorías sobre tema y dificultad.

El libro de entrevistas Cracking the Coding es un excelente material de estudio y una fuente de problemas con soluciones detalladas.

3. Estado actual de las entrevistas y por qué siguen la estructura dada :

Tienes toda la razón en que la mayoría de las entrevistas son bastante diferentes del trabajo diario. Las razones de todo esto se resumen en el hecho de que en el sistema actual no sería práctico para las empresas hacer las cosas de una manera significativamente diferente y seguir siendo eficientes. Hay empresas que intentan innovar en esto, pero casi todas lo hacen solo en el escenario. En la etapa inicial, hay demasiados candidatos para hacer cualquier cosa que requiera demasiado tiempo para administrar, evaluar, etc. De ahí mi sugerencia de intentar omitir la etapa de la pantalla del teléfono.

Las empresas intentan hacer que las entrevistas se correlacionen con su futuro desempeño laboral. Nadie debería pedirte que recuerdes estructuras de datos oscuras . El rojo-negro-árboles es sin duda uno de los que rara vez se usa en la práctica y el hecho de que no lo recuerde solo dice que no lo ha visto en un largo período de tiempo. Me sorprendería mucho si alguna empresa quiere que sepas esto de memoria , especialmente después de tantos años fuera de la escuela. Mucho más importante que eso y lo que las empresas realmente prueban es su capacidad para aplicar los conceptos después de que los conozca.

Esas preguntas generalmente se refieren a estructuras de datos mucho más conocidas, como mapas hash o matrices con las que debería estar familiarizado incluso 10 años después de la escuela. De hecho, espero que sepa más sobre ellos o al menos más sobre los beneficios prácticos y las limitaciones de tales estructuras de datos y pueda aplicarlos de manera más efectiva o hacer comentarios que muestren su experiencia.

“¿Es esto frustrante para los demás?

Seguramente lo es. Pero desafortunadamente no hay mejores formas de entrevistar. Ciertamente no cuando una empresa codiciada contrata a cientos de desarrolladores a la vez para una variedad de puestos. Un proceso basado en DS / Algos sigue siendo el proceso más eficiente para entrevistar a escala. Muchas personas han agonizado e intentado lo contrario, pero todos, aunque frustrantemente, han recurrido a este tipo de proceso.

Vea este tratado más detallado si tiene curiosidad.

“¿Cómo lo enfocaste?”

Por lo que veo en mi vida diaria: enrolla tus mangas y tómalo de frente. No esperes a que el proceso cambie; No lo hará. Si quieres trabajar para uno de estos lugares que es.

Tenga en cuenta que, como ingeniero experimentado, su problema no se trata de saber qué hacer: sabe mucho sobre qué hacer, a saber. qué problemas hacer, qué algoritmos hacer, qué preguntas de diseño repasar, etc.

Probablemente también entrevistó a otras personas en su empresa.

Tampoco es probable que le hayan preguntado literalmente árbol rojo-negro (bueno, la mayoría de las empresas no), pero lo que probablemente quiere decir es que le preguntaron algo tonto, que se puede aprender unas horas antes, solo si lo sabía.

Su verdadero problema, al que parece estar llegando, es cómo encontrar tiempo / motivación para pasar por toda esa mierda de nuevo. A diferencia de la última vez en la universidad, ahora tiene muchas otras ventajas en su tiempo. amigos, familia, pasatiempos, viajes y tal vez incluso niños.

Aquí hay otro problema: después de la “llegada” de libros y sitios como Leetcode, la preparación de la entrevista para los lugares de primer nivel, ha tardado más y más durante los últimos 4–5 años. Solía ​​ser un asunto de un mes a tiempo parcial. Ahora, es fácilmente de 3 a 4 meses. Mantener la motivación durante muchos meses, cuando eso ya no es lo más importante en tu vida, es difícil y frustrante.

Pero las opciones son incluso peores. quédese donde está o acepte otra oferta mediocre.

Para abordar eso, debe imponerse una función forzada. Al igual que ir a un gimnasio, a pesar de que usted sabe muy bien, es muy posible mantenerse en forma incluso afuera. Pero un gimnasio es un gimnasio.

Y una clase de spinning o un bootcamp allí, es aún mejor. Un compromiso periódico para asistir a uno de esos, te obliga (lee: motiva) a hacer cosas, que de otra manera nunca harías.

Esa motivación grupal realizada con las personas adecuadas y la retroalimentación continua, puede ser la diferencia entre vivir un diabético toda su vida, y no.

Contrato ingenieros superiores y líderes en Facebook, así que las 10 diferencias más comunes que encuentro están a continuación:

  1. Los ingenieros superiores deben sentirse muy cómodos con el diseño de sistemas, mientras que los ingenieros de software junior generalmente carecen de la profundidad y amplitud requeridas. Entonces, ¿cómo se prepara para esto?
  1. Esta entrevista se trata de tomar una pregunta ambigua sobre cómo podría construir un sistema y permitirle guiar el camino. Su entrevistador agregará restricciones cuando sea necesario y la idea es obtener una solución simple y viable en el tablero. Cosas como la carga y el monitoreo son cosas que podría considerar. Lo que consideras es tan importante como lo que no. Por lo tanto, haga preguntas aclaratorias y reúna los requisitos cuando sea apropiado (que es mucho más frecuente de lo que podría pensar). Un excelente recurso para revisar aquí es Grokking the System Design Interview y enfocarse en las áreas de equilibrio de carga, almacenamiento en caché, índices y fragmentación. Incluso puedes practicar el diseño de un sistema como Instagram aquí. Si desea algunos consejos adicionales, hay una excelente publicación en Github aquí con recursos adicionales sobre este tema. Los ingenieros superiores sabrán cómo reunir los requisitos correctos, hacer las preguntas aclaratorias correctas y qué hacer a continuación con las respuestas.
  2. Entonces, ¿por qué importa esta entrevista? Es por la escala. Muchos lugares no esperan que sepa cómo construir sistemas a escala per se, pero lo prefieren con seguridad. Si conoce los fundamentos de los sistemas y puede pensar lógicamente cómo construir uno, eso es muy útil. ¿Qué monitoreo está en su lugar? ¿Para qué estamos optimizando? Etc.
  • Los ingenieros de software senior también se preparan haciendo. Dejame explicar. No es suficiente conocer la teoría de cómo funciona algo, sino más bien lo que uno puede o podría hacer con esa teoría. Practican su oficio sin piedad y prueban cosas nuevas. Una forma de hacerlo es practicando en diferentes categorías como las siguientes. Cada enlace se centra en un subconjunto y también incluye posibles soluciones.
    1. Números, Algoritmo clásico, Gráfico, Estructuras de datos, Texto, Redes, Clases, Subprocesos, Web, Archivos, Bases de datos, Gráficos y Multimedia y Seguridad
  • Los ingenieros superiores reúnen requisitos y aclaran variables desconocidas antes de saltar.
    1. Si no hace preguntas de seguimiento que lo ayuden a responder la pregunta, en realidad no está resolviendo el problema. ¿Está tratando con datos estructurados o no estructurados? ¿Esto se lanzará a un conjunto de usuarios o a toda la comunidad? ¿Es importante la latencia? etc. Este tipo de preguntas aclaratorias son más comunes en las entrevistas de diseño de sistemas, donde las entrevistas pueden ser un poco más abiertas.
  • Los ingenieros superiores saben cómo atravesar posibles cuellos de botella y su experiencia les ayuda a hacerlo más rápido o de manera más simple. También entienden las compensaciones y pueden hablar sobre por qué tomaron la decisión que hicieron.
    1. La habilidad más importante que tiene un ingeniero senior es la capacidad de resolver problemas y mostrar cómo llegaron a una solución. Cuando se enfrenta a un problema, en este caso un cuello de botella, ¿cuáles son sus opciones? ¿Qué puedes hacer? ¿Qué piensas?
  • Los mejores desarrolladores saben que, fundamentalmente, cada error es el resultado de una suposición no válida (gracias Bill)
    1. Esto vuelve a aclarar el problema para que pueda proporcionar una solución real. Es tan importante que vale la pena mencionarlo dos veces.
  • Los ingenieros superiores se preparan enfocándose primero en la solución más simple y luego optimizando por razones X, Y o Z.
    1. ¿Sabías que lo simple es mejor? ¡Sí, en serio! No hay necesidad de complicar demasiado un sistema o agregar algo que no se necesita (al menos no todavía). Cree algo que funcione, se ejecute, use lo que sea necesario y haga el trabajo.
  • Los ingenieros superiores saben que ser bueno solo en tecnología nunca es lo suficientemente bueno.
    1. Debes poder tener discusiones lógicas, aplicar la teoría, trabajar con otros, contribuir y ser agradable. Estas son solo algunas de las razones por las que pasará la entrevista (o no).
  • Los ingenieros superiores pueden articular su historia y respuestas a preguntas; tanto técnico como no técnico.
    1. Todos tenemos una historia. La forma en que posicione esa historia puede catapultarlo a una contratación o un candidato “mehh”. No seas un candidato “mehh”.
  • Los ingenieros superiores tienen los fundamentos hasta una T.
    1. ¿Sabía que la mayoría de las preguntas probablemente incluirán una de las siguientes? Tablas hash, listas vinculadas, búsqueda de amplitud, búsqueda de profundidad, clasificación rápida, fusión, búsqueda binaria, matrices 2D, matrices dinámicas, árboles de búsqueda binaria, programación dinámica, análisis Big-O
  • ¿El truco más simple? Los ingenieros superiores practican literalmente en una pizarra antes de una entrevista.
    1. Escribir código en una computadora frente a una pizarra es MUY, MUY diferente. Si no estás acostumbrado, ¿por qué no practicas hacerlo? Se sentirá mucho más cómodo en la entrevista y, si desea agregar una verdadera experiencia de entrevista, ponga 30 minutos en un temporizador, pase por 2 problemas de codificación de dificultad de nivel medio (preferiblemente con un amigo), regístrese y mire después ¿Cómo harías? ¿Feliz con los resultados?

    Las entrevistas apestan.

    Solo imágenes: en 45 minutos, el entrevistador debe evaluar las habilidades tecnológicas, las habilidades sociales, el ajuste cultural, el ajuste de la misión y las habilidades de liderazgo del candidato. Y ahora considera que ese candidato está bastante nervioso. Los candidatos y entrevistadores abordan principalmente una entrevista como un examen en lugar de una conversación de la vida real, incluidos todos los aspectos: preparación pesada (último día), compresión de toneladas de datos en notas densas, estrés, insomnio la noche anterior a la entrevista. Como puede ver, ¡prepararse para los exámenes! = Prepararse para la vida real, lo que hace que el trabajo de entrevistador sea aún más difícil.

    Las entrevistas para ingenieros sénior de SW apestan aún más.

    Imagínese: incluso una tarea de grado empresarial de tamaño pequeño lleva horas para:

    • investigación
    • diseño
    • hablar con equipos dependientes
    • alcance
    • sequía
    • implementar
    • prueba
    • comentarios de revisión de código de dirección
    • agregar métricas
    • desplegar
    • monitorear métricas
    • etc.

    Los ingenieros superiores deben considerar muchas cosas durante el desarrollo de una característica empresarial:

    • algoritmo óptimo
    • Tolerancia a fallos
    • variedad de casos de uso, incluidos casos de esquina
    • variedad de entradas (válidas o no válidas, grandes o pequeñas o infinitas, completas o parciales o vacías)
    • gestión de dependencias (actualización, empaquetado, consistencia)
    • manejo de errores de llamadas remotas (tiempo de espera y políticas de reintento)
    • sincronización de datos y almacenamiento de datos (del lado del cliente o del servidor, servicios con estado o sin estado, escalado vertical u horizontal, fragmentación)
    • manejo de conexiones inestables
    • Interfaz de usuario utilizable, receptiva y fácil de navegar
    • costo de desarrollo y mantenimiento
    • etc.

    ¿Cómo puede encajar eso en 45 minutos de una entrevista? Y generalmente los entrevistadores hacen 2–3 preguntas durante ese tiempo.

    Ahora, considere que los ingenieros superiores no están tan involucrados en la codificación práctica. Su conocimiento de los algoritmos probablemente solo se degradó con el tiempo (dado que, teniendo en cuenta las cosas antes mencionadas, la programación empresarial se trata más de estabilidad y escalabilidad que de algoritmos).

    ¿Cómo responderían preguntas de algoritmos igualmente buenas que los recién graduados de CS?

    ¡Yo se la respuesta!

    1. Presente y venda sus habilidades a los entrevistadores en lugar de intentar repetir el proceso completo de desarrollo de características al responder preguntas de la entrevista.
    1. [sin optimización prematura] enfóquese primero en los aspectos o funcionalidades más difíciles, no se sumerja en todos los detalles a la vez. Por lo general, pueden deducirse de la pregunta misma; de lo contrario, haga preguntas de aclaración.
    2. [Canalice primero] cuando termine de identificar el núcleo y proponer soluciones para él, no se apresure a implementarlo (si es una pregunta de codificación) o profundizar (si es una pregunta de diseño del sistema). En su lugar, describa la canalización completa de principio a fin / de usuario a servidor y de regreso al usuario.
    3. [Prueba] incluso antes de implementar algo, pruebe su solución con una cantidad razonable de entradas válidas e inválidas.
    4. [be Clean] no corte esquinas – al implementar cualquier solución, no use variables como “a”, “p”, “d”, “pos” – déles nombres significativos y luego pregunte al entrevistador si está bien usar nombres más cortos Tenga cuidado con las comprobaciones de límites de bucles y las condiciones de salida de recursión. Pruebe su código con los mismos datos que en la etapa anterior.
    5. [Iterar] incluso si tiene una solución perfecta en mente: intente primero implementar una solución de fuerza bruta / trivial. Iterar y optimizar más tarde.
    6. [volver a sus habilidades de Senior] ok, ahora si todavía tiene algo de tiempo, puede desatar su Seniority y aplicar todas las cosas mencionadas anteriormente (diseño tolerante a fallas, entradas, sincronización de datos, costos, etc.). Obviamente, también tendrías que usar tu antigüedad para los puntos anteriores, pero mencioné este como el último solo para recordarte que debes estar restringido al usar tu fuerza. Los ingenieros de SW senior pueden estar acostumbrados a largos procesos de revisión de diseño y sesiones de lluvia de ideas. Pero no tienes el lujo del tiempo en la entrevista. Use la fuerza con moderación para vender sus habilidades de forma iterativa y mostrar la capacidad de entregar soluciones subóptimas pero completas. Esto es más importante que la charla infructuosa inteligente durante 45 minutos.
  • Practica tareas prácticas. Supongo que ya conoce todas las estructuras de datos: ¿es su Senior o no? 🙂 Entonces practica algoritmos.
    1. Recomiendo practicar en hackerrank y leetcode. Puede encontrar un ejemplo de cómo lo hago en mi canal: la zona de cocción de Evergreen. Video de muestra:

    ¡Todo lo mejor!

    Bueno, la forma en que lo veo es que si tienes un trabajo a tiempo completo, entonces realmente estás medio asociándolo en tu trabajo actual si te preparas adecuadamente para estos ridículos procesos algorítmicos de entrevistas sin sentido. No veo cómo una persona que trabaja a tiempo completo puede prepararse para ellos en un tiempo relativamente corto. Claro que podría pasar los fines de semana para estudiar para ellos, pero si estoy trabajando un fin de semana, preferiría hacer cosas relacionadas con mi trabajo actual. Cosas como limpiar errores de pelusa, escribir casos de prueba relevantes para mi proyecto actual, probar casos extremos … hay infinitas cosas en las que puedo trabajar en todo momento.

    Por esta razón, he dejado de prepararme para estas entrevistas por completo … hasta que me quede sin trabajo.

    Disfruto todo lo que tiene que ver con CS / Ingeniería de software …

    • Me encantaba la escuela y cada curso que tomé
    • Me encanta codificar, diseñar e implementar
    • Me encanta depurar
    • Me encanta probar
    • Me encanta escribir especificaciones funcionales.
    • Realmente puedo decir que disfruto todo lo que tiene que ver con Programmig, CS y Software en general

    PERO realmente odio el proceso de entrevista y el circo en el que se ha convertido. Por primera vez tengo que hacer cosas en las que no veo ningún valor (memorizar sin pensar docenas de algoritmos y estructuras de datos) solo por conseguir un trabajo. Me encanta todo lo demás en la industria del software porque veo valor en ellos. Me gusta limpiar los errores de pelusa / estilo porque, aunque puede que no sea divertido hacerlo, es esencial para el mantenimiento y la legibilidad.

    Perdón por lloriquear.

    A veces es frustrante. Yo mismo pasé por el mismo proceso. Estuve escribiendo sistemas de almacenamiento distribuido durante 5 años, pero cuando comencé a entrevistarme, me di cuenta de que estaba oxidado para resolver los “problemas con los juguetes” que normalmente se preguntan en las entrevistas.

    Aquí hay algunas recomendaciones:

    Prepárese para codificar entrevistas:

    Después de mis entrevistas, yo, junto con otros amigos, escribí en colaboración con Coderust 2.0: preparación de entrevistas de codificación más rápida utilizando visualizaciones interactivas para ayudar a otros programadores a prepararse para sus entrevistas de programación.

    Lea mi blog sobre entrevistas de codificación Cómo NO tener éxito en su entrevista de codificación de 45 minutos para conocer las mejores prácticas en entrevistas de codificación.

    Prepárese para las entrevistas de diseño de sistemas a gran escala:

    Como ingeniero senior, la mayoría de las compañías esperarían que usted sea bueno en el diseño de sistemas a gran escala. De hecho, en mi experiencia, una gran cantidad de ingenieros superiores fallan en sus entrevistas debido a la falta de habilidades de diseño del sistema. Para prepararse para las entrevistas de diseño del sistema, mire Grokking the System Design Interview.

    Leer mis blogs Anatomía de una entrevista de diseño del sistema: Hacker Noon y ¿Cómo NO diseñar Netflix en su entrevista de diseño del sistema de 45 minutos? para obtener más ideas sobre cómo abordar las entrevistas de diseño de sistemas.

    Practica entrevistas con ingenieros superiores

    Cuando haya terminado con la preparación, busque en compañías como Refdash, donde puede hacer entrevistas técnicas con ingenieros superiores, obtener comentarios detallados e ir rápidamente al sitio con las principales empresas de tecnología.

    PD: Lea también la respuesta de Nikola Otasevic

    La preparación de la entrevista puede ser un proceso agotador, pero afortunadamente, hay muchas herramientas disponibles para que los ingenieros de software se aseguren de que estén al día con sus conocimientos y habilidades de antemano.

    1. Lea sobre el proceso de entrevista en la compañía específica, si la información está disponible. Para muchos gigantes tecnológicos, hay muchos artículos sobre el proceso de la entrevista, con problemas de codificación práctica, información sobre cualquier cosa inusual para la que debe estar preparado y otra información general que será realmente útil para prepararse para su entrevista.
    2. Simulacros de entrevistas de codificación. Esta es una de las mejores formas de prepararse para una entrevista de programación. Al participar en rondas de práctica de lo real, estará listo para actuar bajo presión. Si no pasa mucho tiempo codificando fuera del trabajo, podría necesitar un refrigerio adicional y practicar algoritmos o problemas que no encuentra en un día laboral típico. Hay muchas plataformas en línea para practicar entrevistas simuladas. Pramp y InterviewCake son dos de las mejores plataformas para la práctica de entrevistas de codificación en vivo. Pramp proporciona una práctica de entrevista escalable que le permite practicar no solo los aspectos técnicos de una entrevista, sino también las habilidades de comunicación. Puede obtener comentarios de su pareja y desempeñar el papel del entrevistador para obtener más información. Es útil aprender de los errores y las fortalezas de otra persona de un nivel de habilidad similar en su industria.
    3. Practique escribiendo en una pizarra en su tiempo libre. Las pizarras blancas se han convertido en una herramienta común utilizada para codificar entrevistas, y ya sea que las ames o las odies, es una realidad que es posible que necesites escribir código en una durante la entrevista. Dedica un tiempo a practicar la escritura de código en una pizarra para que no te sorprenda con la guardia real.

    Mantenerse al día con sus habilidades de codificación a lo largo de su carrera profesional hará que la entrevista para los roles de desarrollador de software sea mucho más fácil a lo largo de su vida. Manténgase actualizado, practique con frecuencia (¡fuera del trabajo!) Y no tendrá problemas para realizar entrevistas técnicas.

    Hoy en día considero 4 pasos para cada entrevista:

    1. Establece tus objetivos. ¿Qué deseas? ¿Dinero? grandes nombres como Microsoft o Google en tu currículum? ¿Equilibrio trabajo-vida? ¿Aprender nuevas tecnologías emocionantes?

    2. Preparación. Haga una evaluación para su potencial empleado. Estimación preliminar de cuán buena es esa empresa / equipo para sus objetivos. El ingeniero de software sénior debe aprender rápidamente qué es la empresa y el equipo específico dentro de la empresa al que se supone que debe unirse. Haz tu tarea. Verifique Glassdoor, verifique su red social, pregunte a su reclutador los nombres de las personas que lo van a entrevistar y verifique sus redes sociales. Mira las banderas rojas. Haga su diligencia debida, sea como un agente de la CIA, KGB, Shin Bet … pero debe tener una idea clara de dónde ir y qué esperar. Piense en esto: pasará más tiempo con esta compañía y con esas personas que con su familia. Te están vigilando y debes hacer lo mismo. Intenta entender por qué tienen esa posición. ¿Están gastando sus negocios? ¿Cuan rápido? ¿Cuántas notas de prensa hizo la compañía en el último año? O esa empresa se sumerge y los ingenieros simplemente abandonan la empresa o el equipo específico.

    3. Entrevista telefónica. Esté preparado para responder por qué está buscando un nuevo puesto? ¿Qué experiencia tiene relevante para el puesto que solicitó? Sé lo más bajo posible. Intente responder muy rápidamente, incluyendo “Prefiero buscar una respuesta en Internet”. Para la preparación, actualice todo ese conocimiento general como lo que es OOP o programación funcional, bases de datos SQL y NoSQl … Es una buena idea actualizar su conocimiento de scripts de shell y expresiones regulares

    4. Entrevista en el sitio. Gran campo de batalla. Algunas compañías como Google simplemente le advierten que necesita conocer algoritmos y que debería poder resolver pequeños acertijos relacionados con algoritmos en el tablero. Llano y claro. Practíquelo en casa, incluso hablar. Algunos cursos de “hablar en público” pueden ser realmente útiles no solo para la entrevista sino también para el trabajo. Hace muchos años tomé tales clases en la universidad Foothill en Los Altos. Otro entrenamiento útil es pequeños rompecabezas lógicos. A muchos ingenieros jóvenes les encanta preguntar eso. Luego actualice su memoria con respecto a sus proyectos anteriores. Y practica, practica, practica. Desarrolla tu confianza. Duerma bien la noche anterior, haga ejercicio físico y mental por la mañana, no envíe correos electrónicos, Facebook o cualquier otra distracción de Internet en la mañana. Y todo listo! ¡Buena suerte!

    More Interesting

    ¿Las personas con experiencia se prepararán mucho para las entrevistas? En caso afirmativo, ¿qué tipo de habilidades buscan las empresas en los ingenieros superiores frente a los de primer año?

    ¿Vale la pena tomarse un pequeño descanso en la carrera para prepararse bien para entrevistas para trabajos aún mejores?

    ¿Cómo prepararse para las preguntas C / C ++ formuladas por las empresas durante la colocación? Que recursos hay

    Dado un conjunto de cadenas, ¿cómo puedo encontrar un pequeño conjunto de subcadenas de modo que el conjunto de cadenas se pueda dividir en función de las subcadenas coincidentes con una distribución razonablemente uniforme?

    ¿Cuál es la mejor manera de prepararse para la entrevista de Amazon, cuando todos son nuevos en la codificación?

    ¿Cuál es la explicación y la prueba de la codiciosa solución en esta pregunta?

    Mañana tengo una entrevista para un puesto de ingeniero integrado (ver descripción). ¿Qué preguntas puedo esperar en general y en el aspecto técnico?

    ¿Cómo debo responder a las preguntas de la entrevista técnica cuando no sé la respuesta?

    ¿Cuándo puedes calificarte 8/10 en lenguaje C?

    ¿Qué tipo de preguntas se hacen en la entrevista personal XLRI?

    ¿Cómo se debe responder 'Cuéntame sobre ti' en una entrevista técnica?

    Llamaremos a un número "número agregado" si este número tiene el siguiente atributo: al igual que los números de Fibonacci 1,1,2,3,5,8,13 ... los dígitos del número pueden dividirse en varias partes, y la parte posterior es la suma de las partes anteriores.

    ¿Cuál es el acertijo lógico que Dev Bootcamp pregunta durante su entrevista? ¿Cómo es y cómo puedo prepararme mejor?

    Cómo comparar el proceso de entrevista para Amazon en India y EE. UU.

    ¿Cómo multiplicaría dos polinomios que tienen un grado de 16 y 17 usando solo 17 multiplicaciones grandes?