La respuesta es siempre preguntar.
La forma en que prefiero responder a este tipo de preguntas de la entrevista es comenzar con una exposición que incluya mis suposiciones sobre las funciones de la biblioteca que puedo usar, y el propósito principal de hacerlo es asegurarme de que estamos en la misma página.
En el caso de su pregunta, generalmente escribiré algunos encabezados de función y diré algo como,
“Entonces digamos que ya tenemos funciones como estas disponibles …”
[whiteboard] void hash_put(hash_t hash, char *key, void *value)
[pizarra] void *hash_get(hash_t hash, char *key)
“Puedo implementar esto por ti, si quieres”.
- ¿Hay algún proceso o conjunto de preguntas que uno debería hacer al resolver problemas tácticos de ajedrez?
- ¿Cuál es la mejor estructura y algoritmo de datos para encontrar un valor máximo dentro de un subconjunto de una población de datos que satisfaga alguna condición de rango?
- ¿Qué algoritmos pueden ordenar los datos que se dividen en varias máquinas?
- ¿Cómo podemos encontrar el número de subcadenas palindrómicas en una cadena en tiempo lineal?
- Cómo implementar el algoritmo de aprendizaje de refuerzo para tareas de robótica, que incluye control y planificación de rutas
Por lo general, el entrevistador me dice que no me preocupe por su implementación.
A veces, dicen algo como “no escribas la implementación, sino que me digas aproximadamente cómo se vería la implementación”.
Y si se le pide que implemente esas funciones, esa es solo otra oportunidad para presumir.