I was called for a technical phone interview in which I was asked to write code for a question comparing a few user's total scores and then give each user a competitive rank. The interviewer asked me to talk through the code as I wrote it. Part of the question involved sorting and I very honestly told him I didn't remember much about the built-in Java sort. He posted a link to documentation for it which led to me asking if I was allowed to look up documentation online during the interview. He acted as if I should have known that from the beginning despite not ever telling me. It took me about 20 minutes or so to write out a solution and then he began to ask me questions about it. At one point he asked me about a function I wrote to compare elements in a list pointing out that return type should be different than the one I had. Despite me explaining that the return type I had was correct, which it was, he argued with me until I changed it to the type that he wanted. At the end of the first question, he asked me if I could improve the solution I had. I explained the best way of doing it that I realized after I finished my first solution. His response to this was telling me, "Yeah that's how I would have done it the first time around," in a very rude and matter-of-fact kind of tone. Finally he asked me another quick question which involved finding the intersection of two rosters of players. I was just asked to talk through this question and ended up coming up with solution very quickly. I asked him what the next steps were in the interview process and he said they would get back to me within the next two days. They emailed me back 4 hours later rejecting me with no explanation.