Was supposed to be a 4-step process. The first was a general 30 min. get to know you interview which went really well. The second step was a technical assignment. The assignment was sent to me without warning at around 4:30pm on a Friday and due by end of day on Monday. Let's just say that it ruined my weekend. All my plans for that weekend had to be cancelled. The assignment was to implement a microservice and include unit tests and documentation detailing the design choices, assumptions and tradeoffs as part of the submission. Perhaps not that big a deal of an assignment if you've worked with microservices (and the design pattern that wanted the implementation to be done in) before. This was my first time dealing with microservices. And, considering that the job description did not mention anything about microservices, I was a little surprised to receive that as the assignment. I did research over the weekend, learned all about microservices and managed to get it completed. I was then invited to the third round which was supposed to be a behavioural interview. When I showed up for the third interview (remotely), I was told they were combining the third and fourth round into one interview. So, I would be having my technical interview, which I was not expecting until round four. My preparation for the interview was for behavioural style questions, not technical. Anyhow, I was not too concerned and proceeded. For the technical part, I was asked a bunch of technical questions. No mention of the assignment that I had done and none of the questions were related to the assignment. Then there was a coding question. This is where the interview broke down, The interviewer kept disrupting me and would not let me complete my train of thought and code out my logic. I would write two or three lines of code and he would say "that's not going to work". I would deleted that and start writing something else and by line three of four of code he would say "that's wrong". When I would pause to try to think, he would say "what are you doing, what are you trying to do?" I would respond with "I'm thinking" and start typing again. He asked me to explain what I was thinking and as I start explaining he would cut me off mid sentence to tell me what to do. I would respond saying "that is what I am trying to explain to you if you would let me". The entire coding part was a disaster. He was so disruptive that I could not longer think because as I would type he kept saying "that's not right", "that's wrong" etc. and he just made me look stupid. It was obvious that the tension was starting to build as I was biting my tongue from telling him to shut the f**k up and let me answer the problem. Eventually, I managed to ignore him and finish coding out the answer. There may have been one or two syntax errors but the logic was correct and he kept saying the logic was incorrect. I was then walking him through the code line by line explaining and reexplaining the logic to him and he just could not get it. I had to go through it four times before he would accept the logic. I never got to running the actual code. I became so frustrated and annoyed that I told them that I don't think working with him would be the right environment for me and that I was withdrawing from the interview process.