DevSkiller test: consists of several parts. The first one is a general test covering programming, Java, and networking. The second part involves adding comments to existing code. In the third part, you are given classes and need to implement unit tests.
Technical interviews: two rounds on different days.
The first one was focused on Java, but at a very detailed level. For example: why a HashMap is called a hashmap, which element is actually hashed, what hashing is etc... Questions also covered differences between types like float and BigInteger, including how they work internally and why they are implemented differently.
There was also a code review part, you are shown code and asked to comment on it, explain what you would change and why. Be prepared to explain everything in detail.
Additionally, they present diagrams of services (blocks/short descriptions), and you need to identify which design pattern it represents (or explain why it doesn’t)
The second interview was more architectural It’s not enough to just draw a diagram - you need to explain everything: the type of communication, why it was chosen, and how it works. For example, explaining that HTTP is stateless (and what “stateless” means), differences between GET, POST, PUT etc.. which methods are idempotent and what that means. Also asked about what parts has HTTPS request and difference between HTTP and HTTPS and how we can change our HTTP to HTTPS on the server.
You may also be asked which parts of the system should be in a public vs private network, how to achieve that, what technologies to use, and how those technologies work internally.
In general, you can be asked about everything, including estimating server load. I even got a somewhat unusual question: what is the most important aspect in a database when you have a User entity - the expected answer involved GDPR related procedures.
Honestly, I don't expect this level of depth. It’s not enough to give high-level answers. you need to go deep into how everything works, how data flows, etc. Simply saying “a GET request goes there and returns this” is not enough.
Manager & HR interview: this depends on the manager. In my case, the manager was great, so we discussed general topics: experience, current responsibilities, etc. (behavioral interview). However, I’ve heard that some managers may also ask additional technical questions to further verify your knowledge.
In my opinion, to perform at a high level in this process, you either need to be exceptionally strong, close to “genius” or have very solid experience and be specifically prepared for this type of interview(with experince with previous Interview at Allegro).