На мой взгляд, категория "обязательно должен знать" довольно субъективна. Есть конкретный работодатель - есть конкретные требования к требуемому набору инструментов. Т.е. типовые "обязалки" нужно, наверное, смотреть в инфо о вакансиях.
А если речь идет о самообразовании (т.е. "хочу знать"), а я полагаю, что все-таки речь именно об этом, я бы рекомендовал хороший учебник, поскольку одно дело, собирать по крупицам, фильтруя и систематизируя, информацию в интернете самостоятельно, и совсем другое получить уже готовый ресурс.
Конечно, рекомендовать я могу лишь то, чем пользовался сам -
вот эта книга.
Когда я только начинал изучать программирование (я выбрал back-end), мне нужна была подобная информация для того, чтобы чувствовать себя более-менее комфортно в этой теме (т.е. я хотел сам в ней разобраться, понимая, что это и нужно, и интересно). И моим мотивом, в данном случае, был вовсе не тот факт, что кто-то, или что-то "обязало" меня это выучить.
Посмотрите, она была в открытом доступе. Полагаю, ознакомившись с оглавлением (там конкретно разбито по главам, о чем там речь, какие темы... ) вы сами поймете, то ли это, что вам нужно и определитесь с тем, в каком объеме вам это нужно, чтобы чувствовать себя комфортно. Это, повторюсь, все довольно субъективно. (Я например, когда читал оглавление, сходу для себя отмечал: "О, это мне нужно... О, здорово, это тоже пригодиться... Это, пока, пропущу..." и т.п. В сухом остатке понял, что это то, что мне нужно.)
P.S. Я еще новичок по меркам IT, поэтому копнуть глубже (если, конечно, вам нужно глубже) не в моей компетенции. Чем смог, как говорится. Успехов!