Hell ask me what is the difference between a class and an interface and it would be hard for me to put into theory as well. The only reason I remember the correct answer is because I remember being confused.
If I do strictly my point of view, I am so bad with theory, and I usually don't think about how to write shit - I just do. I don't know how the ORM works inside, I just know how to use it, and most caveats are just hard coded in my brain.
So I failed the theoretical interviews in most companies, but those who hired me never kicked me out themselves (as I am a contractor me and rest of the team was part of yearly layoffs, in three companies, but it was purely because money / mergers / conversion to employees).
That's why I prefer Gitlab CI from other (Azure, GitHub) - because you have to write actual shell code and everything is nice with the least amount of abstraction.
Every time I have to debug some of these dumb actions I wanna commit sudoku.