I applied through a recruiter. The process took 1+ week. I interviewed at VK (Moscow, Moskva)
Interview
There where several stages.
First stage. Quiz.
At the beginning they invite you to write simple technical quiz (during their working hours). They insist that you can't pass the stage via Skype video interview. You should arrive at the office to do the quiz. But when you spent several hours moving to/from their office, waiting their HR, it appears that nobody will check if you are coping it down or not.
Second stage. Technical interview.
Week later they invited me to technical interview. Interviewers seemed to be friendly. The questions was not very hard, but some are VERY specific. They would ask you common questions about collection method complexity, java.util.concurrent package.
They wouldn't ask you about JMM or different GC pros and cons. The most difficult question is memory representation of Object type: How does Object structure actually looks in memory, which fields does it have? This question had produced other deep hardware questions so I can't say that interview was easy overall.
During the interview they correct my answers several times. For example, they state that hashCode() is cached by JVM for every object (including mutable ones). As far as I still can see It's false
assumption. I've checked other topics we have different opinions on. My assumptions seems to be right.
Interview questions [1]
Question 1
How does Object structure actually looks in memory, which fields does it have?