Pergunta de entrevista da empresa Viber

One of the main topics they asked about was multithreading. For example, they asked how to implement thread-safe data structures, how to avoid deadlocks and race conditions, and discussed the use of synchronized, volatile, Executors, and other concurrency mechanisms in Java and Kotlin.