Four round process that takes about 1-2 months. However, they took over a month to give me the rejection email despite reaching out to HR/EM for feedback and next steps.
First round: HR Interview
Asked about previous work experience and technologies/Tech stack, salary expectations. (45 mins)
Second Round: Interview w/ Engineering Manager
Asks more about your past experiences, tech stack (Java, Scala, Hadoop, MapReduce), current company priorities and roadmap. (60 mins)
Round 3: Java Coding Interview
Short 60 minute coding interview, 25-30 mins coding, 15 mins questions regarding design decisions of code, 15 mins questions by candidate for interviewer panel (3 interviewers). Discuss time complexity, productionization (eg, that you would have UnitTests, and manage distribute workloads via Spark and Distributed MergeSort, etc).
Round 4: PR interview
Given a GitHub repo by EM on the day of the interview, asked to provide comments and review it. Check for Unit Tests, ensure Java SOLID principles (eg; dependency injection, etc) and patterns (eg; Strategy, Factory, etc), Passwords are not stored in plain text, actual Database Connections exist, modular code using interfaces or helper functions, API routing is correct and not missing @ routes, etc.
Round 5: Final Onsite w/ Systems Design, Coding, Behavioural
Final round consisting of 3 hours in Fribourg office. Asked to design a data system given a problem context. Asked to do a short whiteboard coding. Asked simple behavioural questions.