I had submitted my resume at some point in the past, and a recruiter got back to me a few months later and asked if I was still interested. I said yes, and they set me up with a coding challenge. It was very simple, traversing a 2D matrix, no difficult algorithmic components - something you could do after an intro to CS course. I solved it easily and cleaned + commented my code as best as possible. The next day I was told I wasn't being moved forward in the process, which was very confusing since usually these first coding tests are normally not very strict.
I asked for feedback on the decision, and they told me my code was too complicated and redundant in parts. I built my solution in a way that it could be easily tested and changed by decoupling some functions, which led to some redundant code but increased readability and extensibility. I asked some friends more proficient in Python than me if it was OK, and they said it could be cleaner but it wasn't that big of a deal. Specifically, the biggest problem was in one function I returned an enum and parsed that into a vector, instead of simply returning the vector. In a timed coding challenge, I didn't think that would be a big deal.
Regardless of the reason for rejection, I felt the process was unfair and did not accurately test my skills as a programmer or my fit into the company. I was left to guess for myself how to style my code. I know tech companies heavily prefer false-negatives to false-positives, but this experience left me feeling defeated and misunderstood, whereas I have been quite successful interviewing elsewhere.
I will note that my recruiter was very nice and compliant with my questions. The issue is with this "coding challenge" itself, and its evaluation.