¿Qué debo hacer para mejorar mis habilidades de optimización en la programación para que me seleccionen en Directi?

Básicamente, carece de una habilidad estructurada en su conocimiento de programación, algoritmos y en general de informática.

Te recomendaría un par de cosas para mejorar tus habilidades de entrevista:

  1. Lea un libro de algoritmos fundamentales (una vez más, mi recomendación personal sería Algorithm Design, de Jon Kleinberg y Éva Tardos) para no estudiar los algoritmos, sino aprender a formular algoritmos, probar su corrección y tener una idea de la complejidad del tiempo y el espacio.
  2. En segundo lugar, te sugiero que participes en un concurso que tiene editoriales realmente agradables. Los editoriales lo ayudarán a pasar del código no optimizado a los optimizados. (Personalmente, creo que los editoriales de CodeChef son los mejores. Nuevamente, en CodeChef lo mejor sería comenzar con la hora del almuerzo o el desafío largo porque ambos tienen puntos parciales para códigos no optimizados, mientras que puntos completos para los optimizados). Además, intente hacer concursos en Codeforces porque la comunidad allí nuevamente es realmente fuerte, lo que lo ayudará a optimizar los algoritmos.