Как понять свой уровень знания какой либо технологии, и надо ли знать ее на 100%?
Нужно уметь использовать то, что у тебя есть.
Зачем знать каждую функцию наизусть если её всегда можно посмотреть в документации?
да и я сомневаюсь, что можно знать какую - либо технологию на 100%
если хочешь быть "теоретиком программирования" то можно заучивать каждое поле пока мотивация не закончится и ты не забросишь программирование, но лучше "обрадовать" себя тем, что ты умеешь хоть что то делать комплексное, а потом уже углубляться в детали. Наступал на эти грабли, в моём случае "перфекционизм" был от неуверенности и ожидании, что возможно стоит еще немного прочитать и вот тогда я перестану писать говнокод.