A2A. Creo que hay un tema aquí. 🙂
Una vez me pidieron en una entrevista implementar una función como:
bool contains(const string& text, const string& pattern);
donde tanto el texto como el patrón son cadenas simples.
Le pregunté a mi entrevistador si le gustaría que lo hiciera en tiempo lineal y él respondió que no tenía que hacerlo y que está interesado principalmente si puedo codificar algo simple correctamente antes de pasar a preguntas más difíciles, pero que yo ‘ dejaría una buena impresión si pudiera hacerlo. Estaba en la cima de mi carrera en el concurso de programación, por lo que la diferencia horaria entre la implementación de cualquiera de las soluciones era básicamente insignificante, así que seguí adelante e implementé KMP. Creo que dejé una buena impresión ya que la parte restante de mi entrevista consistió en preguntas de diseño del sistema y no tenía mucha experiencia relevante en ese momento.
- ¿Alguna vez ha obtenido o ha sido reclutado para un trabajo basado únicamente en su reputación?
- Cómo lidiar con una nueva contratación con exceso de confianza
- Entrevista de trabajo: ¿Qué se considera experiencia SDLC?
- ¿Cuáles son algunas buenas opciones de software de reclutamiento para una empresa de aproximadamente 100 - 300?
- ¿De qué manera es importante que un recluta potencial se ajuste a la cultura corporativa?
En general, creo que es bueno conocer bien sus algoritmos, pero no vale la pena gastar tiempo en algoritmos avanzados de coincidencia de cadenas antes de dominar los algoritmos más básicos realmente bien (por ejemplo, ordenar, buscar, etc.). Sin embargo, el concepto de cadenas de hash para identificadores numéricos de una manera con pérdida (presente en el algoritmo Rabin-Karp) puede ser bastante útil en muchos problemas simples.