Базовые знания алгоритмов для работы стажером-разработчиком?
В первую очередь, не ляпните на собеседовании "теория вероятностИ", засмеют. Дисциплина называется "теория вероятностей"
В ИТ главное не выучивание алгоритмов в режиме "как стишок" (ну, это важно для какой нибудь олимпиады. Но на олимпиаде нереальные программисты решают нереальные задачи на нереальном железе, их мы трогать не будем), а общее понимание и умение ориентироваться в языке и технологиях.
Так нафига же собеседователи требуют "знание алгоритмов?" А очень просто. Самостоятельная реализация пары-тройки контейнеров + пары-тройки поисков и сортировок - отличная практика по кодированию. А самостоятельное решение сотни другой небольших задач - (для примера - написать функцию для получения всех перестановок заданного алфавита. Библиотечную не использовать) - как раз повод для выработки программистского чутья и стиля кодирования.
Программирование - скорее ремесло. Без практики мало что получится. Так что Eat -> Code -> Sleep -> Repeat
Все вакансии настолько разные, что единого ответа на этот вопрос нет. Если очень грубо это проиллюстрировать - чтобы пойти в Яндекс надо знать алгоритмы очень хорошо, чтобы пойти писать сайты на битриксе - можно их вообще не знать (хотя на собеседовании могут выпендриться и спросить). 
Чтобы получить начальные знания, советую 2 хороших источника:
1) https://www.khanacademy.org/computing/computer-sci... - тут прям очень хорошо объясняют
2) https://www.coursera.org/learn/introduction-to-alg...