They would submit a lot of pull requests, but upon review it became very apparent that documentation was not being consulted resulting in unnecessarily hacky solutions. The reason: programming by trial and error.
In the face of that, the only thing I could do is: give them the benefit of the doubt by asking them to walk me through their problem solving approach. This insulted them, because there was no problem and solving approach, just bruteforcing code with live reload until the feature worked.
Unfortunately, sometimes the feature did not actually work, or would not handle edge or error conditions which caused the program to be unstable. Sometimes to the point of causing a live incident.
Since coding camp graduates graduate very frequently and because of referral bonuses, they were a majority in our team. They used their majority to deny code reviews (not allowing people to mark their tasks as finished), and took turns to pull off microagressions in a round robin manner so nobody is accountable enough to be retaliated against.
In the end, these people know they will not prevail through technical excellence but rather by pumping as much code as possible and by playing dirty: refer a lot of friends, become a majority, avoid situations where a relative rank can be established and bully any opposition until they quit.