I applied directly to Codat and had an interview with Codat last week. In general it is a pleasure interview. It took one week as they are expanding.
The first stage was a conversation with one of their lead engineer. He asked me about HTTP, TCP/IP and scalability. The feedback was that I did answer right on HTTP, TCP/IP but my answer on scalability was a copy from internet so I dont know how to say. Then they said that I am not good enough for a senior level, then asked me to go with mid-level which is still in my expected salary.
I went to final round that took 2.5 hours. First hour was a pair programming where they will sent you a blank Web API and you have to demonstrate your coding skill as well as problem solving skill by building a payment api. For me it was fairly easy. I applied TDD which they said it was good and they've never seen other candidate produce too many line of codes as mine. During the pair programming, they said there is no right and wrong answer here and you can discuss and ask as many questions as you want and they are here to help. Task 1 was working. During task 2, I created a test, then I found that my code design was not correct then I immediately changed it and it was also working. However, they said I did not understand the requirement and made mistake, even I corrected it and make it work with TDD approach. So I dont understand what the point when they said they are here to help. Also, what is the point of pair programming when you dont tolerant a fault during developing? or what are their criteria for pair programming? so please dont jump to their trap.
Next, I got a technical round with one of their EM. She asked me about 20 questions in 1 hours from C#, Unit Test, Testing, CI/CD and so on. I can say that I answered quite well on most of the questions. Of course, I am not genius to answer right all questions but I tried to answer in right direction. What I can see is that she had a list of well-prepare questions in her notebook and she kept looking to the book to ask a question but not a following question, that's I can say a very lazy interviewee.
The feeback was I did not understand the task 2 then I did not start with right approach. It was a disappointing even I corrected and made it work as expected. Moreover, it looks like they dont care about my coding skills, communication skills, problem solving skills as well. Then they said that I am not good enough for a mid-level, it means I am a junior who can applied TDD and answered very well on many difficult questions on C#, CI/CD, Testing, Async.
But as you know, if they dont want to give you an offer (I think because of my expected salary) then they always have reason to reject you.