Hi Shoukri! Thank you :)
As for the question about data structures and algorithms, I did a number of things. First, I would read up on the details to get a sense of the information (I used interactivepython). I would then practice these concepts with coding challenges. In addition, I watched MIT Open Courseware videos on algorithms and Big O. Finally, I reached out to upper-year students as well as industry professionals for more help when I was getting stuck on more advanced topics.
Hope that answers your question!