какие паттерны точно я должен знать и разбудив меня глубокой ночью, с закрытыми глазами, должен буду без ошибки, реализовать данные паттерны?
Вообще никакие. Важно не уметь реализовать без ошибки. Важно понимать, какой паттерн, какую проблему решает, в каких случаях используется, и по одному названию паттерна это должно всплывать в голове. Чтобы, когда вы общаетесь с другими разработчиками, вы могли объяснять своё решение используя словарь паттернов.
Или все представленные паттерны в этой книге лишь приводят примеры для конкретных реализаций, а на самом деле, их используется в повседневной жизни намного меньше
На самом деле их используется намного больше.