Compañías como google, amazon y fb generalmente buscan personas con la capacidad de resolver problemas complejos de programación. Una de las características de un buen programador es que conoce muy bien la estructura de datos. Al ser un programador, tiene que lidiar con problemas complejos que requieren un conocimiento profundo del algoritmo y la estructura de los datos. Además de esa lógica también es importante lo que se puede dominar practicando.
Creo que debería comenzar con una estructura de datos básica y luego avanzar hacia una estructura de datos compleja. Los árboles binarios es uno de los temas más candentes en la programación de entrevistas. Teniendo conocimiento de la estructura de datos, ahora puede avanzar hacia algoritmos y algoritmos avanzados. Desde mi punto de vista, puedes continuar con php mientras aprendes estas cosas. De hecho tu experiencia en php te ayudará mucho.
Como usted sabe, para convertirse en un buen programador debe tener conocimientos de algoritmos y estructura de datos. Entonces permítame darle algunos enlaces a recursos que le ayudarán a descifrar entrevistas.
Quiero aprender el algoritmo básico de antemano, ¿por dónde empezaré?
- ¿Cómo se ha metido la escuela en el camino de tu aprendizaje?
- ¿Dónde se puede aprender todo sobre las cuentas demat?
- ¿Son 10 horas suficientes para aprender a conducir?
- ¿Cuáles son las actividades accesibles pero con esfuerzo que expanden más significativamente la cosmovisión de una persona?
- ¿Qué idioma nativo americano es el más fácil de aprender?
Hackeando una entrevista de Google
Cracking the Coding Interview (Libro)
Diseño avanzado de algoritmos Otoño 2015
Algoritmos avanzados
Recomendaría un libro: Introducción al algoritmo (Compre Introducción a Algoritmos Libro en línea a precios bajos en la India). Hay una buena especialización en coursera, que comienza con lo básico y termina con algoritmos avanzados. Estructuras de datos y algoritmos | Coursera
Una de las cosas más importantes es la práctica, el conocimiento de la estructura de datos y los algoritmos no tiene valor hasta que se implementa. Intenta resolver problemas en codechef u otras plataformas.
¡La mejor de las suertes!