After application in about one week I have phone conversation with the first recruiter about background and desired position, then in a week another conversation with the second recruiter, more focused on the technical skills and interviewing process. The next step was a remote coding interview using shared google doc.
Before the interview recruiter sent me a link to interview guideline saying that the main focus should be providing at least one fully working solution with clear and well formatted code and then reviewing it with the interviewer explaining thoughts, ways to test it, corner cases, etc.
At the beginning of interview I was told that we have a hard time limit - one hour. Interviewer spent about 20 minutes asking non coding questions, like which libraries did I use in my previous work, what challenging tasks I met, etc.
Then I was given a programming assignment, and due to lack of time, started implementing it by the most obvious way. I was able to finish my solution in about 20 minutes (so 20 min left). Interviewer said, that my code will use too many extra space, though no limitations were given in the beginning.
We spent more than 10 minutes walking through the code, then interviewer admitted, that except the case, when two corner cases are applied simultaneously, it won't use significant amount of memory.
After it interviewer said that the solution is fine, but it was assumed the creation a code making an in-place operation (though it wasn't told) and proposed me to provide this kind of solution in 5 minutes left to the end of the hour.
I wasn't sure of my ability to create the full solution in given amount of time, so just gave a pseudocode algorithm.
I was denied, as they told "due to insufficient knowledge of CS basics".