¿Se está preparando una sexta edición de Cracking the Coding Interview? Si es así, ¿qué podemos esperar de él?

Sí, está en proceso. Debería lanzarse en junio o julio de 2015. Puede suscribirse para recibir una notificación (o simplemente obtener más detalles) en Cracking the Coding Interview, v6 | Próximamente

Cuando escribí la quinta edición hace unos cuatro años, tenía mucha experiencia en entrevistas pero no tanta experiencia como entrenador. Ahora, particularmente a través del entrenamiento de adquisición / adquisición, tengo mucho más. Y tengo más experiencia en entrenar a las mismas personas repetidamente. He desarrollado un montón de nuevas técnicas y he podido refinarlas al ver lo que realmente funciona. Esto ha motivado muchos de los cambios.

¿Qué hay de nuevo?
Esta es una gran expansión. ¿Sabes lo que hacen muchos profesores, donde crean una nueva “edición” que no es sustancialmente diferente pero te obliga a comprar una nueva versión? No creo en hacer eso. Esto es en realidad un gran cambio (como lo fue la 4ta -> 5ta edición).

Algunos de los mayores cambios:

  • Es aproximadamente un 70% más largo . La quinta edición tenía 500 páginas. El sexto es (bueno, era) alrededor de 850. En realidad llegué al límite de impresión (800 páginas), así que tuve que cambiar el tamaño de la página. (Es como la universidad de nuevo …)
  • Tiene 39 problemas más . Eliminé algunos problemas que realmente no me gustaban, por lo que probablemente haya más de 45 problemas más.
  • Pistas! Estoy realmente emocionado por esto. Creo que esto será increíblemente valioso. Le ayudará a simular más la experiencia de la entrevista y a desarrollar mejores técnicas, ya que los entrevistadores también le dan pistas. Cada problema tiene un promedio de 5 o más pistas (2 o 3 para algunos de los problemas más fáciles), y más de 10 para algunos de los más difíciles. Las sugerencias para cada problema son incrementales. Intente resolver los problemas sin las sugerencias, pero si las necesita, use la menor cantidad posible.
  • Nuevas estrategias / técnicas. He realizado muchas entrevistas de coaching en los últimos dos o tres años. Hay muchas tendencias y técnicas que veo ahora que nunca antes había notado. Incluso me han ayudado a resolver algunos de los problemas más difíciles. 🙂
  • Mucha O grande. Cuando escribí la quinta edición, no creo haberme dado cuenta de cuántas personas lucharon con la gran O. Resulta que … la gran mayoría de los candidatos no lo entienden lo suficiente como para una entrevista (incluso aquellos que piensan ellas hacen). Tengo una gran sección en la gran O ahora.

Además, muchos de los problemas existentes se han rediseñado o reescrito, corrigiendo errores en algunos casos, aclarando cosas, agregando nuevas soluciones / enfoques, etc.

Lenguaje de programación
He seguido usando Java para este libro por algunas razones.

Primero, Java es más legible que Python. Casi todos han escrito Java o un lenguaje muy parecido.

En segundo lugar, si bien me encanta Python como lenguaje porque hace que algunas cosas sean tan fáciles (por ejemplo, hacer un mapa rápido o reducir), eso hace que las soluciones en Python sean un poco menos aplicables en general. Quiero que este libro sea lo más agnóstico posible en cuanto al lenguaje. El punto son los algoritmos, no el código.

Tercero, para los propósitos de este libro, tener una escritura explícita facilita a las personas entender lo que está sucediendo. Elimina parte de la ambigüedad al leer el código escrito.

Sin embargo, puede ver o aportar soluciones en otros idiomas en gaylemcd / ctci.

More Interesting

Cómo estar bien preparado para responder algoritmos y estructuras de datos en una entrevista de Google

¿Qué debo hacer si obtendré un título de CS y tengo poco conocimiento de las estadísticas, pero me inscribí en un programa de ciencia de datos de MS?

Soy por naturaleza un pensador analítico lento y solucionador de problemas. ¿De todos modos puedo pasar una entrevista de programación?

¿Cómo son las entrevistas de ingeniería de software de Google Hyderabad?

Usando Java, ¿cómo encuentra la longitud de la matriz secundaria más grande donde el primer elemento de esta matriz es mayor o igual que el último elemento de esa matriz secundaria?

¿Qué errores cometes al prepararte para codificar entrevistas?

¿Cuál es el enfoque algorítmico para encontrar el rango más pequeño que incluye al menos un número de cada una de las k listas, siempre que las listas k sean enteros ordenados?

¿Las entrevistas técnicas solo buscan las respuestas correctas?

¿Qué preguntas se hacen en la entrevista para maestros de computadora de Navodaya Vidyalaya, Kendriya Vidyalaya y CBSE School PGT?

¿Resolver preguntas sobre el Proyecto Euler es una buena forma de practicar para programar entrevistas?

¿Qué es lo que cambiarías de Java?

¿Lógica detrás del programa para verificar si el número es palíndromo o no?

¿Cuál es la mejor manera de preparar la estructura de datos para programar entrevistas?

¿Cuáles son las preguntas más básicas de Java formuladas en una entrevista?

Dada una matriz de N enteros, ¿cómo podemos encontrar el número de subsecuencias crecientes de longitud 'K' (K <= N) de manera eficiente?