Fundamentally and quickly preparing for an interview is quite difficult, but possible. How would I prepare and what points did I pay attention to during preparation?
I recommend starting with the ones you need to remember / read / see. Choose for yourself:
- what is the complexity of the algorithm, what happens;
- what the consumed memory of the algorithm and its speed depends on;
- how to calculate the above signs yourself.
Repeat the basic sorting algorithms:
- a bubble;
- quick sorting.
Be sure to check out the code examples and visualization.
Be sure to go through the basic search algorithms:
- hash table search;
- binary search;
- trees (red-black tree).
On the Internet there are quite a few options for implementing these algorithms in different languages. You need to look at each of them with examples and, of course, visualization. Read about their comparison and understand in detail the work of each.
Consider applying algorithms in practice – where are trees used and why? I note that (depending on the specifics of the interview) there are narrowly focused algorithms, for example, for parallel data processing, blockchain, machine learning algorithms. It is important to choose a direction and view materials reflecting the current trends of a particular technology.
Take a plan and briefly retell to a colleague everything that you have mastered / repeated / studied over the previous 4 days.
If you have more than two months to prepare, I recommend taking the following courses:
I wish you success in the interview!